FinBrain MCP
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
> **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**
----------
Features
AI-Powered Price Predictions
Access FinBrain's machine learning price forecasts with daily (10-day) and monthly (12-month) horizons. Includes mean predictions with 95% confidence intervals.
News & Sentiment Analysis
Browse recent news articles for any ticker, or track aggregated daily sentiment scores over time. Screen news across all tracked stocks.
Alternative Data
- **LinkedIn Metrics** — Employee count and follower trends as company health indicators
- **App Store Ratings** — Mobile app performance data for consumer-facing companies
- **Options Flow** — Put/call ratios and volume to gauge market positioning
- **Reddit Mentions** — Ticker mention counts across subreddits, collected every 4 hours
- **Government Contracts** — U.S. government contract awards from USAspending.gov
- **Patent Filings** — USPTO granted patents mapped to tickers by corporate assignee, with CPC classification
Institutional & Insider Activity
- **US Congress Trades** — Stock transactions disclosed by House representatives and Senators, with the transaction date and the public disclosure date (so you can measure reporting lag), the beneficial owner of the traded account (member, spouse, dependent child, joint, or an account code), and filed amounts normalized to the statutory STOCK Act brackets with the original filing preserved
- **Corporate Lobbying** — Lobbying filings with registrant, income, expenses, and issue codes
- **Insider Transactions** — SEC Form 4 filings showing executive buys and sells
- **Analyst Ratings** — Wall Street coverage and price target changes
----------
What you get
- ⚡️ **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