Skip to content
Agentmart
Submit a tool

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

IndexedMITLocal (stdio)★ 3
Write a review

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.

We use your email only for this newsletter. Privacy

About

Market data, SEC filings and risk tools for Webull, Saxo and IBKR. Only you can send an order.

No 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_size
  • check_connection
  • compare_symbols
  • get_account_info
  • get_company_financials
  • get_company_profile
  • get_data_sources
  • get_earnings
  • get_economic_calendar
  • get_edgar_filings
  • get_insider_activity
  • get_institutional_holdings
Show 20 more tools
  • get_journal_summary
  • get_macro_data
  • get_market_analysis
  • get_multi_timeframe
  • get_news
  • get_ohlcv
  • get_open_orders
  • get_open_positions
  • get_options_analytics
  • get_options_chain
  • get_portfolio_risk
  • get_sector_heatmap
  • get_short_interest
  • get_unusual_options
  • get_updates
  • get_volume_profile
  • preview_order
  • read_filing
  • scan_watchlist
  • validate_bls_key

Write 4 · Create, change, send or run things.

  • cancel_order
  • draft_order
  • ibkr_market_scanner
  • set_alert

Not yet classified 3 · We could not tell from the name and description.

  • log_journal_entry
  • saxo_corporate_actions
  • wrapper

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • BLS_API_KEY
  • SAXO_ACCESS_TOKEN
  • WEBULL_APP_KEY
  • WEBULL_APP_SECRET

Other settings (environment variables or headers).

  • FINANCE_BROKER
  • IBKR_BASE_URL
  • IBKR_TLS_INSECURE
  • SAXO_ENVIRONMENT
  • SEC_USER_AGENT
  • WEBULL_ENVIRONMENT
  • WEBULL_REGION_ID

Network hosts it talks to 23

  • api.bls.gov · found in code
  • api.fiscaldata.treasury.gov · found in code
  • api.ibkr.com · found in code
  • api.stlouisfed.org · found in code
  • apps.bea.gov · found in code
  • astral.sh · found in code
  • bankofengland.co.uk · found in code
  • bea.gov · found in code
  • bls.gov · found in code
  • data-api.ecb.europa.eu · found in code
  • data.bls.gov · found in code
  • data.sec.gov · found in code
  • efts.sec.gov · found in code
  • federalreserve.gov · found in code
  • fred.stlouisfed.org · found in code
  • fredaccount.stlouisfed.org · found in code
  • gateway.saxobank.com · found in code
  • github.com · found in code
  • glama.ai · found in code
  • live.logonvalidation.net · found in code
  • sec.gov · found in code
  • sim.logonvalidation.net · found in code
  • treasurydirect.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_size

    Sizes 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_order

    Cancels 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_connection

    Tests the configured price feed and its Yahoo Finance fallback.

  • compare_symbols

    Compares 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_order

    Drafts 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_info

    Lists every account the configured broker credentials can see.

  • get_company_financials

    Headline 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_profile

    Everything 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_sources

    Configuration 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_earnings

    Next 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_calendar

    Upcoming 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_filings

    SEC 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_activity

    Parsed 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_holdings

    Latest 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_summary

    Queries local Trading Journal DB for win rate, total trades, average confidence, and recent trade logs.

Show 24 more tools
  • get_macro_data

    Historical 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_analysis

    Price 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_timeframe

    Performs 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_news

    Fetches 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_ohlcv

    Fetches 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_orders

    Working orders on the configured broker account.

  • get_open_positions

    Open positions on the configured broker account, with per-currency marks.

  • get_options_analytics

    Options 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_chain

    Option 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_risk

    Analyses the live account: position-level P&L, concentration, and portfolio volatility/beta versus SPY. Highlights over-concentration and correlated clusters.

  • get_sector_heatmap

    Scans 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_interest

    Fetches 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_options

    Scans 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_updates

    What 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_profile

    Volume-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_scanner

    Runs 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_entry

    Logs 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_order

    Asks 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_filing

    Read 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_actions

    Corporate 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_watchlist

    Scans 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_alert

    Sets 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_key

    Test 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
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)