finance-mcp

finance-mcp

Provides live financial data for any LLM agent, including stock quotes, crypto prices, SEC filings, XBRL financials, FX rates, and macro indicators, through ten MCP tools.

Category
Visit Server

README

<div align="center">

finance-mcp

Live financial data for any LLM agent. Stock quotes · crypto · SEC filings · XBRL financials · FX · macro indicators

CI npm License: MIT Node MCP API key Tools

<img src="assets/demo.svg" width="840" alt="Terminal demo: an agent calls get_stock_quote and get_price_history and gets live Apple and NVIDIA market data back">

</div>


Why

Most finance APIs want a signup, a key, and a credit card before your agent can answer "what's Apple trading at?"

finance-mcp wraps five genuinely free public sources behind ten MCP tools. Clone, build, point Claude at it — done. The only configuration is an email address, and only because the SEC insists on one.

Tools

Tool What it does
get_stock_quote Current price, day/52-week range, volume — stocks, ETFs, indices
get_price_history OHLCV candles plus period return and high/low summary
search_symbols Resolve a company name to a ticker
get_fx_rate Currency conversion at ECB reference rates
get_crypto_price Spot price, 24h change, market cap, volume
get_crypto_market Top coins ranked by market cap
get_sec_filings Recent EDGAR filings with direct document URLs, filterable by form
get_sec_financials As-filed XBRL line items as a time series
search_sec_filings Full-text search across every EDGAR filing since 2001
get_economic_indicator World Bank macro series — GDP, inflation, unemployment, debt, trade

How it fits together

flowchart LR
    A["Claude Desktop<br/>Claude Code<br/>any MCP client"] -->|MCP over stdio| B["finance-mcp"]
    B --> C["Yahoo Finance<br/><i>equities · ETFs · indices</i>"]
    B --> D["CoinGecko<br/><i>crypto</i>"]
    B --> E["SEC EDGAR<br/><i>filings · XBRL</i>"]
    B --> F["ECB / Frankfurter<br/><i>FX</i>"]
    B --> G["World Bank<br/><i>macro</i>"]

The shared HTTP layer paces requests per host, retries 429/403/5xx with exponential backoff, honours Retry-After, and caches responses in memory — 30s for quotes, hours for filings and macro series.

Quickstart

<details open> <summary><b>Claude Code</b> — no clone needed</summary>

claude mcp add finance -e SEC_USER_AGENT="Your Name your@email.com" -- npx -y finance-data-mcp

</details>

<details> <summary><b>From source</b></summary>

git clone https://github.com/AdityaSBisht/finance-mcp.git
cd finance-mcp
npm install
npm run build
claude mcp add finance -e SEC_USER_AGENT="Your Name your@email.com" -- node "$(pwd)/dist/index.js"

</details>

<details> <summary><b>Claude Desktop</b></summary>

Add to claude_desktop_config.json — on macOS, ~/Library/Application Support/Claude/claude_desktop_config.json — then restart the app:

{
  "mcpServers": {
    "finance": {
      "command": "npx",
      "args": ["-y", "finance-data-mcp"],
      "env": {
        "SEC_USER_AGENT": "Your Name your@email.com"
      }
    }
  }
}

To run from a local clone instead, use "command": "node" with "args": ["/absolute/path/to/finance-mcp/dist/index.js"]. </details>

<details> <summary><b>Any other MCP client</b></summary>

The server speaks MCP over stdio. Run node dist/index.js and point your client at it. </details>

Try it

What's Apple trading at?

Compare BTC and ETH over the last 24 hours.

Show me Microsoft's revenue for the last 5 years from their filings.

What 8-Ks has Tesla filed recently?

Which companies mention "quantum computing" in their 10-Ks?

What's India's GDP growth been over the past decade?

Convert 5000 USD to JPY.

Data sources

Source Used for Key required
Yahoo Finance Equities, ETFs, indices, exotic FX No
CoinGecko Cryptocurrency No
SEC EDGAR Filings and XBRL financials No (User-Agent required)
Frankfurter / ECB FX reference rates No
World Bank Macroeconomic indicators No

Configuration

Env var Required Purpose
SEC_USER_AGENT For SEC tools EDGAR requires a User-Agent with a real name and email on every request, and returns 403 without one. Format: "Your Name your@email.com".

[!IMPORTANT] MCP clients do not pass your shell environment to the server. Set SEC_USER_AGENT in the client config shown above, not in .zshrc.

Development

npm run dev      # tsc --watch
npm test         # 51 offline tests, stubbed fetch, no network
npm run smoke    # drives all 10 tools against the live APIs

Notes and limitations

  • Yahoo rate-limits by IP, and it cares what you claim to be. Sending a spoofed desktop-browser User-Agent gets you throttled hard — measured 0/8 successful requests with a Chrome UA versus 8/8 with an honest finance-mcp/0.1 one, alternating back to back. This server identifies itself honestly for that reason; don't "fix" it by pretending to be a browser. FX is served from the ECB instead, which has no rate limit.
  • Quotes may be delayed up to ~15 minutes and are not exchange-official.
  • SEC XBRL figures are as-filed. get_sec_financials labels each row by the period it covers, not the fiscal year of the filing it came from — EDGAR's own fy field describes the filing, so a 10-K restating a prior year would otherwise mislabel it.
  • search_sec_filings ranks by EDGAR's relevance, which favours companies with your query in their name.
  • World Bank data is annual and typically lags one to two years.

Disclaimer

An informational data tool. Nothing it returns is investment advice, and the data carries no accuracy or availability guarantee. Verify anything you intend to act on against an official source.

License

MIT © Aditya Bisht

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured