SEC EDGAR filings, XBRL financials, and FRED economic indicators for MCP clients
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
A TypeScript MCP server for financial data aggregation. Connects any MCP-compatible AI assistant to SEC EDGAR filings, XBRL financial statements, FRED economic indicators, and real-time market data β with built-in XBRL normalization, fact deduplication, computed analytics, stock screening, and rate-limit protection.
All SEC EDGAR data comes directly from the SEC's free public APIs at data.sec.gov. No API key is required. The server automatically handles:
revenue resolves to Revenues, RevenueFromContractWithCustomerExcludingAssessedTax, SalesRevenueNet, and 11 other variants).FRED (Federal Reserve Economic Data) provides 800,000+ time series from 100+ sources. Requires a free API key from fred.stlouisfed.org. Rate limited to 120 requests/minute (enforced via 2 req/s token bucket). Includes a curated catalog of ~50 essential economic indicators across 9 categories for zero-API-call browsing.
Real-time stock quotes, company profiles, market news, insider transactions, and financial metrics via the Finnhub API. Free tier provides 30 API calls/second with no credit card required. The server rate-limits to 25 req/s to stay safely under the threshold. Quotes are never cached (stale prices are worse than no cache), while profiles (24h), news (5min), and financial metrics (1h) use appropriate TTLs.
In-memory LRU cache with TTL expiry reduces redundant API calls:
| Cache | TTL | Max Entries | Payload Size |
|---|---|---|---|
| Company facts | 1 hour | 10 | 20-50 MB each |
| Company submissions | 1 hour | 30 | ~50 KB each |
| Company tickers | 24 hours | 1 | ~3 MB |
| FRED series metadata | 6 hours | 100 | ~1 KB each |
| FRED observations | 1 hour | 50 | ~5 KB each |
| Market profiles | 24 hours | 50 | ~1 KB each |
| Market news | 5 minutes | 10 | ~5 KB each |
| Insider transactions | 1 hour | 30 | ~3 KB each |
| Basic financials | 1 hour | 30 | ~2 KB each |
Eviction is LRU β frequently accessed entries are promoted on read, so the least recently used entry is evicted when capacity is full. Expired entries are proactively swept on every write.
search_companies
query (string)get_company_filings
cik (string): SEC's unique company identifierformType (string, optional): Filter by form type (10-K, 10-Q, 8-K, DEF 14A)get_financial_metric
cik (string): Company CIK numberconcept (string): Friendly name or raw XBRL tagtaxonomy (string, optional): XBRL taxonomy (default: us-gaap)annualOnly (boolean, optional): Return only annual data pointsrevenue, net_income, gross_profit, operating_income, eps, total_assets, total_liabilities, stockholders_equity, cash, long_term_debt, current_assets, current_liabilities, operating_cash_flow, capex, shares_outstandingRevenues, NetIncomeLoss, Assets, etc.get_financial_summary
cik (string)get_company_facts_summary
cik (string): Company CIK numberlimit (number, optional): Max concepts to return (default 40, max 100)analyze_financials
cik (string)Promise.allSettled internally β individual metric failures don't crash the analysiscompare_companies
ciks (string[], 2-5 CIK numbers)search_filings
query (string): Search termsforms (string, optional): Comma-separated form typesstartDate (string, optional): YYYY-MM-DDendDate (string, optional): YYYY-MM-DDlimit (number, optional): Results per page (default 20, max 50)offset (number, optional): Skip N results for paginationscreen_stocks
exchange (string, optional): Filter by exchange (e.g. NYSE, Nasdaq)industry (string, optional): SIC industry group (technology, finance, healthcare, energy, manufacturing, retail, transportation, utilities, services, public_admin)nameContains (string, optional): Case-insensitive substring match on company nameminHealthScore (number, optional): Minimum health grade (0-100) from financial analysislimit (number, optional): Max results (default 20, max 50)get_corporate_events
cik (string): Company CIK numbersignificance (string, optional): Filter by high, medium, or low significancelimit (number, optional): Max events (default 15, max 50)search_economic_data
query (string)get_economic_dataget_economic_data
seriesId (string): FRED series IDstartDate (string, optional): YYYY-MM-DDendDate (string, optional): YYYY-MM-DDGDP, CPIAUCSL (CPI), UNRATE (unemployment), FEDFUNDS, DGS10 (10-year treasury), SP500, MORTGAGE30USget_stock_quote
symbol (string): Stock ticker (e.g. AAPL, MSFT, GOOGL)get_market_news
symbol (string, optional): Stock ticker for company-specific news. Omit for general market newscategory (string, optional): general, forex, crypto, merger (only for general news)get_insider_transactions
symbol (string): Stock ticker (e.g. AAPL, TSLA)get_company_overview
symbol (string): Stock ticker (e.g. AAPL, MSFT)No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/financial-hub-mcp)<a href="https://allmcps.com/mcp/financial-hub-mcp"><img src="https://allmcps.com/api/badge/financial-hub-mcp?style=directory" alt="Financial Hub MCP on AllMCPs" /></a>