The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Finbrain MCP listing page.
Requires Python 3.10+
A Model Context Protocol (MCP) server that exposes FinBrain datasets to AI clients (Claude Desktop, VS Code MCP extensions, etc.) via simple tools.
Backed by the official finbrain-python SDK (v2 API).
Package name: finbrain-mcp
CLI entrypoint: finbrain-mcp
Documentation: finbrain.tech/integrations/mcp
Access FinBrain's machine learning price forecasts with daily (10-day) and monthly (12-month) horizons. Includes mean predictions with 95% confidence intervals.
Browse recent news articles for any ticker, or track aggregated daily sentiment scores over time. Screen news across all tracked stocks.
⚡️ Local MCP server (no proxying) using your own FinBrain API key
🧰 Tools (JSON by default, CSV optional) with paging
health
available_markets, available_tickers, available_regions
predictions_by_market, predictions_by_ticker
news_by_ticker, news_sentiment_by_ticker
app_ratings_by_ticker
analyst_ratings_by_ticker
house_trades_by_ticker, senate_trades_by_ticker
corporate_lobbying_by_ticker
insider_transactions_by_ticker
linkedin_metrics_by_ticker
options_put_call
reddit_mentions_by_ticker
government_contracts_by_ticker
patent_filings_by_ticker
recent_news, recent_analyst_ratings
screener_sentiment, screener_analyst_ratings, screener_news
screener_insider_trading, screener_house_trades, screener_senate_trades
screener_put_call_ratio, screener_linkedin, screener_app_ratings, screener_reddit_mentions, screener_government_contracts, screener_patent_filings
🧹 Consistent, model-friendly shapes (we normalize raw API responses)
📱 app_ratings_by_ticker returns a blended series — one row per date, carrying the company's biggest app on each store — plus apps, a summary of every app it publishes (platform, app_id, app_name, observation_count, latest_score, latest_ratings_count) and app_count. A company can publish many apps (Apple has 140 on iOS), so answering a per-app question from series would describe one app as though it covered the whole company: read apps to see what exists, then pass app_id to get that app's own observations. The summary carries no observations by design — 140 apps' history would flood the context. app_id is null on rows predating per-app keying (the platform is known, the app is not), and an unknown app_id returns available_app_ids rather than an empty series
🏛️ insider_transactions_by_ticker, government_contracts_by_ticker, corporate_lobbying_by_ticker, and patent_filings_by_ticker rows carry cik — the company's SEC Central Index Key as of the record, a 10-digit zero-padded string ("0000320193"; keep it text, the leading zeros are part of the identifier), null when the record has no entity resolution. Use it to join rows to SEC-keyed datasets (EDGAR filings, 13F holdings) or a security master
🔑 Provide your API key via the FINBRAIN_API_KEY environment variable (a shell env var or your MCP client's env block)
Keep pip (prod) and your venv (dev) separate to avoid path mix-ups.
See DOCKER.md for detailed Docker usage instructions.
Put the key directly in the MCP server entry your client uses (Claude Desktop or a VS Code MCP extension). This guarantees the launched server sees it, even if system env vars aren’t picked up.
This works too, but note you must restart the client after setting it so the new value is inherited.
Tip: If the env var route doesn’t seem to work (common on Windows if the client was already running), use the config JSON
envmethod above—it’s more deterministic.
Note: You typically don’t need to run the server manually—your MCP client (Claude/VS Code) starts it automatically. Use the commands below only for manual checks or debugging.
If installed (pip):
finbrain-mcp
From a dev venv:
python -m finbrain_mcp.server
Quick health check without an MCP client:
No manual start needed: Claude Desktop and VS Code will launch the MCP server for you based on your config. You only need to run
finbrain-mcpyourself for quick sanity checks or debugging.
Edit your config:
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json
Pip install (published package):
macOS tip (full path):
If "command": "finbrain-mcp" doesn’t work, find the absolute path and use that instead.
Claude config with full path (macOS example):
Dev venv (run the module explicitly):
Docker:
After editing, quit & reopen Claude.
Open the Command Palette → “MCP: Open User Configuration”.
This opens your mcp.json (user profile).
Add the server under the servers key:
In Copilot Chat, enable Agent Mode to use MCP tools.
You don’t need to know tool names—just ask in plain English. Examples:
Predictions
News
App ratings
Analyst ratings
Congressional trades
Corporate lobbying
Insider transactions
LinkedIn metrics
Options (put/call)
Reddit mentions
Government contracts
Patent filings
Screeners (cross-ticker)
Availability
Notes
- Date format:
YYYY-MM-DD.- Time-series endpoints return the most recent N points by default—say “limit 200” to get more.
- Predictions horizon: daily (10-day) or monthly (12-month).
- Say “as CSV” to receive CSV instead of JSON.
- No need to specify a market—just use the ticker symbol directly.
ENOENT (can’t start server)
Wrong path in client config. Use the venv’s exact path:
…\.venv\Scripts\python.exe + ["-m","finbrain_mcp.server"], or
…\.venv\Scripts\finbrain-mcp.exe
FinBrain API key not configured
Put FINBRAIN_API_KEY in the client’s env block or
setx FINBRAIN_API_KEY "YOUR_KEY" and fully restart the client.
Mixing dev & prod installs
Keep pip (prod) and venv (dev) separate.
In configs, point to one or the other—not both.
MIT (see LICENSE).
Built on Model Context Protocol and FastMCP.
Uses the official finbrain-python SDK.
© 2026 FinBrain Technologies — Built with ❤️ for the quant community.