Finance MCP
Market data, SEC filings and risk tools for Webull, Saxo and IBKR.
Connector by Blahaj-gif · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/blahaj-gif-hitl-finance-mcp
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.
- Tools
- 32 read · 4 write · 0 delete · 3 not yet classified
- Secrets
- 4 (API keys, tokens or passwords)
- Install scripts
- None found
- Runs as
- Python package
Tools by what they do 39
Read from the source code; the running server may list different tools.
Read 32 · Look things up without changing anything.
calculate_position_sizecheck_connectioncompare_symbolsget_account_infoget_company_financialsget_company_profileget_data_sourcesget_earningsget_economic_calendarget_edgar_filingsget_insider_activityget_institutional_holdings
Show 20 more tools
get_journal_summaryget_macro_dataget_market_analysisget_multi_timeframeget_newsget_ohlcvget_open_ordersget_open_positionsget_options_analyticsget_options_chainget_portfolio_riskget_sector_heatmapget_short_interestget_unusual_optionsget_updatesget_volume_profilepreview_orderread_filingscan_watchlistvalidate_bls_key
Write 4 · Create, change, send or run things.
cancel_orderdraft_orderibkr_market_scannerset_alert
Not yet classified 3 · We could not tell from the name and description.
log_journal_entrysaxo_corporate_actionswrapper
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
BLS_API_KEYSAXO_ACCESS_TOKENWEBULL_APP_KEYWEBULL_APP_SECRET
Other settings (environment variables or headers).
FINANCE_BROKERIBKR_BASE_URLIBKR_TLS_INSECURESAXO_ENVIRONMENTSEC_USER_AGENTWEBULL_ENVIRONMENTWEBULL_REGION_ID
Network hosts it talks to 23
api.bls.gov· found in codeapi.fiscaldata.treasury.gov· found in codeapi.ibkr.com· found in codeapi.stlouisfed.org· found in codeapps.bea.gov· found in codeastral.sh· found in codebankofengland.co.uk· found in codebea.gov· found in codebls.gov· found in codedata-api.ecb.europa.eu· found in codedata.bls.gov· found in codedata.sec.gov· found in codeefts.sec.gov· found in codefederalreserve.gov· found in codefred.stlouisfed.org· found in codefredaccount.stlouisfed.org· found in codegateway.saxobank.com· found in codegithub.com· found in codeglama.ai· found in codelive.logonvalidation.net· found in codesec.gov· found in codesim.logonvalidation.net· found in codetreasurydirect.gov· found in code
Files it touches
- Your home directory (~)
- Any path the agent passes to its tools
Tools (39)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
calculate_position_sizeSizes a position from account risk rather than gut feel: how many shares can be bought such that being stopped out costs no more than `risk_percent` of the account. Also reports the ATR-based stop distance for context. Args: symbol: Ticker symbol (e.g. MU, NVDA). stop_loss_price: The price at which the thesis is wrong and you exit. risk_percent: Percent of account equity to risk on this trade (default 1.0). entry_price: Planned entry. Defaults to the latest close. account_currency: Currency line to size against (default USD).
cancel_orderCancels a pending or active order on the broker account immediately. Args: order_id: The order's **client_order_id** — the id this server generated when the order was drafted (it looks like `DRFT_9a32c8d5`), NOT the broker's own `order_id`. `get_open_orders` shows both in its last column; the cancel path only accepts the client one. acknowledge_protective: Required to cancel a working stop. A stop limits the loss on an open position, so cancelling one removes protection rather than reducing exposure — the tool refuses without this.
check_connectionTests the configured price feed and its Yahoo Finance fallback.
compare_symbolsCompares relative strength, price correlation, and return performance between two tickers. Args: symbol1: First ticker (e.g. AAPL or QQQ). symbol2: Second ticker (e.g. MSFT or SPY). period_bars: Number of historical daily bars for comparison (default 60).
draft_orderDrafts an order for human review and approval in the Streamlit Dashboard. For safety, the assistant NEVER places orders directly. All orders must be drafted and manually approved. Args: symbol: Ticker symbol (e.g. AAPL, TSLA). action: BUY or SELL. quantity: Number of shares. order_type: LMT (Limit) or MKT (Market). limit_price: The limit price if order_type is LMT.
get_account_infoLists every account the configured broker credentials can see.
get_company_financialsHeadline financials taken straight from the company's filed XBRL on SEC EDGAR — revenue, net income, diluted EPS, assets, liabilities, cash, equity and shares outstanding. Every figure carries the form and filing date it came from. Prefer this over get_company_profile when a number has to be right: this is the filing itself, not a third-party summary of it. Args: symbol: Ticker symbol (e.g. MU, AAPL).
get_company_profileEverything worth knowing about a company, in one call. Start here for an open-ended question — and narrow it for a specific one. Answers "tell me about X" without the caller needing to know which of the other tools to reach for: what the business is, what it filed with the SEC, what insiders and the market are doing, and where the stock trades. Sections are fetched concurrently, and each is labelled with how much weight its numbers carry — a figure taken from a filing is not the same kind of fact as one scraped from a third-party feed. **Ask for what you need.** The default fetches eight sec…
get_data_sourcesConfiguration and remaining quota for every external data source, plus how to raise the limits. Use this when a data tool fails or seems rate-limited.
get_earningsNext earnings date, historical EPS estimates vs actuals, and — critically — whether the upcoming date is CONFIRMED or merely Yahoo's ESTIMATE. Yahoo publishes an estimated report date as a window ("Oct 28 - Nov 3") and a set one as a single day. Both look identical once formatted, so an estimated date can read as fact and be wrong by a week. This tool says which it is. Past quarters are confirmed against the SEC: an 8-K carrying Item 2.02 ("Results of Operations") is the filing a company makes when it actually releases a quarter, and its acceptance timestamp is authoritative to the second. …
get_economic_calendarUpcoming US macroeconomic events with their scheduled date, time and — where the release has already happened — the number that came out. Three live sources, all free and keyless: the Bureau of Labor Statistics (CPI, core CPI, PPI, the employment situation/NFP, JOLTS), the Federal Reserve (FOMC rate decisions, flagged when they carry a Summary of Economic Projections), and the BEA (PCE — the Fed's target measure — plus GDP and the trade balance). Each row carries a reading: the actual print for a release that has happened, or the PREVIOUS print for one that has not. There is no consensus/exp…
get_edgar_filingsSEC EDGAR filings, as close to real time as a public feed allows — timestamps carry the second the SEC accepted the document. Three modes, chosen by what you pass: * `symbol` set → that company's recent filings (earnings 8-Ks, 10-Q, 10-K, Form 4). * `query` set → full-text search across filing bodies, 2001-present. * neither → the live firehose of `form_type` filings from every registrant. Args: symbol: Ticker to scope to (e.g. MU, AAPL). form_type: Filing type — 8-K, 10-Q, 10-K, 4, S-1, 13F-HR. Comma-separate for several. query: Full-text phrase …
get_insider_activityParsed SEC Form 4 insider transactions — who traded, when, at what price, and crucially **whether the sale was made under a Rule 10b5-1 plan**. That distinction is the whole point: a pre-scheduled 10b5-1 sale carries almost no information about an insider's view, while a discretionary open-market sale does. The tool also separates real decisions (codes P/S) from compensation mechanics — option exercises, grants, and shares withheld to pay tax on vesting — which are routinely and wrongly reported as "insiders sold $X". Args: symbol: Ticker symbol (e.g. MU, AAPL). limit: How many Form …
get_institutional_holdingsLatest 13F-HR portfolio for an institutional manager — every reported position, largest first. Accepts a ticker (BRK-B) or a raw CIK (1067983). Positions are merged across the manager rows a fund files separately: Berkshire reports Apple across 12 rows, and reading only the first understates the holding threefold. Args: institution: Ticker or CIK of the filer (e.g. 1067983 for Berkshire Hathaway). limit: How many positions to show (default 25). source: "13F" for quarterly manager holdings (default), or "NPORT" for a registered fund's monthly portfolio, which also covers b…
get_journal_summaryQueries local Trading Journal DB for win rate, total trades, average confidence, and recent trade logs.
Show 24 more tools
get_macro_dataHistorical macroeconomic series from the BLS with month-over-month and year-over-year changes — the numbers behind the inflation and labour narrative. Args: series: Comma-separated keys or a list. BLS (default source): cpi, cpi_sa, core_cpi, unemployment, payrolls, ppi, avg_hourly_pay, labor_force. Central banks and markets (source="markets"): fed_funds, fed_target_upper, ecb_deposit, ecb_refi, boe_bank_rate, boe_sonia, boj_call_rate, us_2y, us_10y, us_30y, curve_10y_2y, curve_10y_3m, breakeven_10y, us_cpi, us_core_pce, us_gdp_real, us_unemp…
get_market_analysisPrice action and 50+ technical indicators for a symbol, reported as measured values with each indicator's own standard reading (oversold / overbought, above / below its signal line, inside / outside its band). This is the usual starting point for a single symbol. For the full picture including fundamentals, filings and insider activity, call get_company_profile instead of chaining calls. No BUY/SELL score is produced unless you ask for one. The composite verdict is a fixed-weight heuristic that underperformed buy-and-hold in backtest, and an unvalidated score anchors judgment even when it is…
get_multi_timeframePerforms multi-timeframe analysis across Daily (D), 1-Hour (H1), and 15-Min (M15) for a symbol to compute a Confluence Score. Args: symbol: Stock ticker (e.g. AAPL, KBANK).
get_newsFetches the most recent news headlines for a given stock using Yahoo Finance. Crucial for analyzing fundamental catalysts or identifying the source of technical momentum breakouts. Args: symbol: Ticker symbol (e.g. AAPL, TSLA). count: Number of headlines to return (default 10).
get_ohlcvFetches raw OHLCV (Open, High, Low, Close, Volume) candlestick bars for a symbol. Use when you need the price series itself — to eyeball recent action or do your own maths. For indicators and a reading of them use get_market_analysis. Args: symbol: The stock symbol (e.g. AAPL, KBANK). interval: Bar interval (D, M1, M5, M15, M30, H1, W). count: Number of bars to return (default 20).
get_open_ordersWorking orders on the configured broker account.
get_open_positionsOpen positions on the configured broker account, with per-currency marks.
get_options_analyticsOptions analytics beyond a raw chain: implied-volatility rank and percentile against the past year of realised volatility, the ATM straddle's implied move, put/call skew, and Black-Scholes greeks for near-the-money strikes. Args: symbol: Ticker symbol (e.g. MU, NVDA). expiration: Expiry as YYYY-MM-DD. Defaults to the nearest expiry.
get_options_chainOption chain around the money, with IV rank and the market-implied expected move at the top — the two numbers that tell you whether the board is cheap or dear and how far it is priced to travel. Strikes are selected to bracket spot, not taken from one end of the ladder. For greeks and put/call skew as well, call get_options_analytics; to hunt unusual flow call get_unusual_options. Args: symbol: The stock symbol (e.g. AAPL, SPY, NVDA). expiration: Expiry as YYYY-MM-DD. Defaults to the nearest. strikes: How many strikes either side of spot to show (default 6).
get_portfolio_riskAnalyses the live account: position-level P&L, concentration, and portfolio volatility/beta versus SPY. Highlights over-concentration and correlated clusters.
get_sector_heatmapScans the 11 major S&P sector ETFs (Technology, Financials, Energy, Healthcare, Industrial, Consumer, Utilities, Real Estate, Materials) by momentum to identify sector rotation.
get_short_interestFetches short interest metrics (Short % of Float, Days to Cover / Short Ratio, Shares Short) for squeeze or squeeze-fade thesis. Args: symbol: Stock ticker (e.g. GME, TSLA, NVDA).
get_unusual_optionsScans for unusual options activity (Volume > Open Interest or high IV > 50%) to detect smart money positioning. Args: symbol: Stock ticker (e.g. AAPL, NVDA, TSLA).
get_updatesWhat has actually changed since a point in time: new SEC filings, macro releases that have printed, and outsized price moves. Every other tool here answers "what is true now". Answering "what is new" without this means refetching everything and diffing by hand, which is expensive and easy to get wrong. This does the diff against a timestamp you supply. Args: symbols: Tickers to check, comma-separated or a list. Filings and price moves are per-symbol; leave empty for macro only. since: A window ("24h", "3d", "2w"), a date ("2026-08-01"), or an ISO timestamp ("2…
get_volume_profileVolume-by-price for a symbol: point of control, value area, and the high and low volume nodes around the current price. Answers "where did this market previously agree on value, and where did it refuse to trade" — the auction-theory reading that price and oscillators cannot give. High volume nodes are shelves the market accepted and tends to revisit; low volume nodes are thin prices it rejected, and price usually travels through them quickly, so they act as breakout levels. Args: symbol: Stock ticker (e.g. AAPL, NVDA). interval: Bar size — D, W, M, H1, M30, M15, M5, M1 (default D). …
ibkr_market_scannerRuns IBKR's market scanner and returns the matches. IBKR is the only broker here with a real scanner, so this tool exists only when IBKR is the configured broker. Unlike get_sector_heatmap, which infers rotation from eleven ETF price pulls, this is the exchange-side scan. Args: scan_code: e.g. TOP_PERC_GAIN, TOP_PERC_LOSE, MOST_ACTIVE, HOT_BY_VOLUME. instrument: Instrument class, e.g. STK. location: Market, e.g. STK.US.MAJOR. limit: Maximum rows to show.
log_journal_entryLogs a trade, market thesis, or trading theorem to the local Trading Journal database. Includes atomic file writing & de-duplication protection. Args: symbol: The stock symbol (e.g. AAPL, KBANK). action: The trade action: BUY, SELL, HOLD, or SYSTEM THESIS. price: Price per share of the asset at entry/thesis. size: Size of the trade in number of shares (0 for thesis only). rationale: Structured reason, thesis logic, or mathematical theorem why this trade/position is entered. confidence: Confidence level from 1 (lowest) to 10 (highest).
preview_orderAsks the broker to price and validate an order WITHOUT placing it. Non-binding and safe. Returns the broker's estimated cost and transaction fee, plus a buying-power comparison. Use this before draft_order to check affordability and fees. Args: symbol: Ticker symbol (e.g. AAPL, MU). action: BUY or SELL. quantity: Number of shares (fractional allowed). order_type: LMT (Limit) or MKT (Market). limit_price: Required when order_type is LMT.
read_filingRead a named section out of a company's latest filing, or search its text. Filings are far too large to hand over whole — a Micron 10-K is ~610,000 tokens raw and ~97,000 after stripping markup — so this locates what you asked for and returns it under a character budget. Args: symbol: Ticker symbol (e.g. MU, AAPL). form: Filing type — 10-K, 10-Q, 8-K, S-1, DEF 14A. section: Item number to extract: 1 (Business), 1A (Risk Factors), 3 (Legal), 7 (MD&A), 7A (Market Risk), 8 (Financial Statements), 9A (Controls). query: Instead of a section, return excerpts around each mat…
saxo_corporate_actionsCorporate actions on instruments this Saxo account holds — dividends, splits, tenders, rights issues — with their election deadlines. Saxo is the only broker here that exposes these, so this tool exists only when Saxo is the configured broker. Args: event_states: Saxo event state filter, e.g. Pending or Completed. limit: Maximum events to show.
scan_watchlistScans a list of stock tickers, calculates consensus score & regime, and returns a ranked verdict table. Args: symbols: Symbols as a comma-separated string ("AAPL, TSLA, NVDA") or a list (["AAPL", "TSLA"]). interval: Bar interval (D, M15, H1).
set_alertSets a local price or technical indicator alert for a ticker (e.g. "RSI < 30" or "PRICE > 250"). Args: symbol: Ticker symbol (e.g. NVDA, AAPL). condition: One of PRICE_ABOVE, PRICE_BELOW, RSI_BELOW, RSI_ABOVE, MACD_CROSS_BULL, MACD_CROSS_BEAR. Anything else is refused rather than saved as an alert that can never fire. target_value: The price or indicator threshold value. note: Rationale or note for why this alert is set.
validate_bls_keyTest a BLS registration key against the live API and report which tier it unlocks. A mistyped key does not raise an error — it silently drops you to the 25/day unregistered limit, which only surfaces days later as an exhausted quota. Run this once after setting BLS_API_KEY. Args: key: Key to test. Omit to test whatever BLS_API_KEY is currently set to.
wrapper
Signals
- Stars
- 3
- Forks
- 0
- Open issues
- 0
- Weekly downloads
- 159
- Last commit
- Oct 19, 2026 (9 days ago)
- Last release
- Aug 12, 2026 (2 months ago)
- Last package publish
- Oct 19, 2026 (9 days ago)
From GitHub (fetched Oct 24, 2026) and the package registry.
Details
- Registry name
io.github.Blahaj-gif/hitl-finance-mcp- Version
- 0.3.1
- Auth
- API key
- Packages
- pypi hitl-finance-mcp
- License
- MIT
- Repository
- github.com/Blahaj-gif/Finance-mcp
- First seen
- Oct 24, 2026
- Last checked
- Oct 25, 2026
Cite this page
Finance MCP. Agent Mart. https://agentmart.dev/connectors/blahaj-gif-hitl-finance-mcp (last updated 2026-10-25)