What Finance MCP does
Finance MCP MCP server connects an MCP client to brokerage data and several public financial sources. Its tools cover account information, positions, open orders, prices, technical analysis, options calculations, SEC filings, economic data, earnings, portfolio risk, and position sizing. The available tool list changes according to the configured broker and its declared capabilities.
Twenty-eight tools are broker-agnostic. They include indicators, options mathematics, filings, insider and institutional activity, earnings, and macroeconomic data. Price retrieval uses Webull when available and falls back to Yahoo Finance. Price results include the source bar and its age, while an integrity check examines ordering, trading-session staleness, and OHLC consistency.
How it works
The Finance MCP MCP server runs as a local Python MCP process and can optionally use a Streamlit dashboard for human-in-the-loop order handling. An assistant may call draft_order, which writes a proposed order to a local queue. preview_order and the dashboard then support review, but the final submission requires a user action. The tool interface has no route that can send an order directly.
Broker adapters are selected through FINANCE_BROKER. Webull has been tested end to end with a real account. Saxo Bank and Interactive Brokers adapters were built from published API references but have not been run against live or paper accounts. IBKR also requires the local Client Portal Gateway.
Tools are registered only when the selected broker can provide the required capability. Without broker credentials, account and order tools are omitted while the broker-independent tools remain available. This lazy setup also avoids opening a broker connection merely to list tools.
Setup and configuration
Install with uv tool install --with streamlit --with plotly hitl-finance-mcp, then configure the MCP client to run the finance-mcp command. The repository also provides shell and batch installers that create a configuration template, register the client, and add a shortcut. Windows, macOS, and Linux are supported; desktop notifications use the operating system's notifier when available.
SEC_USER_AGENT is required for SEC filing requests and should contain a contact address. A BLS key can be added for BLS access. Set FINANCE_BROKER to webull, saxo, or ibkr when brokerage features are needed. No broker is required for the public-data and analysis tools.
Tools and capabilities
The Finance MCP MCP server includes:
- Account, position, open-order, draft, preview, and cancellation tools when broker capabilities permit.
- Technical indicators, volume profile, Black-Scholes greeks, implied volatility, backtesting, and ATR-aware position sizing.
- Portfolio concentration, correlation, and other risk calculations.
- Parsed SEC Form 4, 8-K, 13F, 13D/G, 144, NPORT, and inline XBRL information.
- BLS, Federal Reserve, and BEA economic data, including FOMC and selected GDP and PCE information.
- A Streamlit charting dashboard with candles, overlays, volume, and forecast-cone views.
Limitations and notes
The dashboard's submit action is Webull-only. Saxo and IBKR execution paths are unverified, and their adapters report that status rather than treating documentation as live validation. cancel_order is not registered for Saxo because the required order-ID mapping is unavailable.
Most tools are read-only, but cancel_order is destructive because it removes a resting order. Pre-trade checks address naked shorts, currency-specific buying power, and broker rule validation. The repository describes its consensus score as a fixed-weight heuristic that underperformed buy-and-hold in backtesting; it should not be treated as financial advice.
The test suite stubs external network calls by default. Live-source checks are opt-in and use FINANCE_LIVE_SOURCES=1; they require the relevant repository secrets for scheduled verification.