Skip to main content
Glama
porkornrawee

finance-mcp

by porkornrawee

finance-mcp

Real-time stock & crypto market data for LLMs, over the Model Context Protocol.

CI Python License: MIT Code style: ruff

finance-mcp is an MCP server that lets any MCP-compatible client (Claude Desktop, Cline, Continue, …) pull live equity and crypto quotes, historical candles, and common technical indicators — so the model can reason over real market data instead of hallucinating it.

┌──────────────┐   MCP (stdio)   ┌───────────────┐   HTTP   ┌──────────────┐
│  LLM client  │ ◀─────────────▶ │  finance-mcp  │ ◀──────▶ │  yfinance    │
│ (Claude etc.)│   tool calls    │    server     │          │  CoinGecko   │
└──────────────┘                 └───────────────┘          └──────────────┘

Features

  • get_stock_quote — latest price, day change, % change for any ticker (AAPL, SPY, …)

  • get_stock_history — OHLCV candles over a configurable period/interval

  • get_crypto_price — live crypto quotes via CoinGecko (no API key needed)

  • analyze_stock — SMA(20/50), EMA(20), and RSI(14) computed in-process

  • Provider layer isolates each upstream API behind a small, fully unit-tested surface

  • Async throughout; blocking provider I/O is offloaded to worker threads

Related MCP server: Finance MCP Server

Install

git clone https://github.com/porkornrawee/finance-mcp.git
cd finance-mcp
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"

Use with Claude Desktop

Add this to your claude_desktop_config.json (see examples/):

{
  "mcpServers": {
    "finance": {
      "command": "finance-mcp",
      "args": []
    }
  }
}

Restart Claude Desktop, then ask things like:

"What's the RSI on NVDA over the last 6 months, and how does it compare to Bitcoin's 24h move?"

Tools

Tool

Arguments

Returns

get_stock_quote

symbol

price, change, %, currency

get_stock_history

symbol, period, interval

list of OHLCV candles

get_crypto_price

coin_id, vs_currency

price, 24h change

analyze_stock

symbol, period

latest close + SMA/EMA/RSI

Note: crypto uses CoinGecko ids (the slug), e.g. bitcoin, not BTC.

Development

ruff check .     # lint
mypy src         # type-check
pytest -q        # tests (network-free; CoinGecko is mocked with respx)

The indicator math in indicators.py is intentionally pure and dependency-free so it can be tested deterministically without hitting any API.

Disclaimer

This project is for informational and educational purposes only. It is not financial advice. Market data is provided by third parties on a best-effort basis and may be delayed or inaccurate.

License

MIT © porkornrawee — see LICENSE.

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/porkornrawee/finance-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server