Skip to main content
Glama
angeliaz

finance-data-mcp

by angeliaz

finance-data-mcp

A Model Context Protocol (MCP) server that provides unified financial data access across multiple markets and data sources.

Features

  • πŸ‡ΊπŸ‡Έ US / ETF: Alpha Vantage (primary) β†’ yfinance (fallback)

  • πŸ‡¨πŸ‡³ A-share: Tushare (primary) β†’ AKShare (fallback) β†’ yfinance

  • πŸ‡­πŸ‡° HK stocks: AKShare (primary) β†’ yfinance (fallback)

  • πŸ’± FX rates: exchangerate-api β†’ AKShare β†’ Alpha Vantage β†’ yfinance

  • πŸ”„ Automatic fallback across data sources on failure

  • πŸ”‘ Multi-key rotation for Alpha Vantage (extends daily quota)

  • 🌐 Proxy support for AKShare (useful when running overseas)

Related MCP server: China Stock MCP

MCP Tools

Tool

Description

get_stock_price

Real-time stock price with market routing

get_financial_report

Income statement, balance sheet, cash flow

get_financial_summary

PE, PB, ROE, market cap, EPS, etc.

get_fx_rate

Currency exchange rates

Quick Start

1. Install dependencies

pip install -r requirements.txt

Note: Not all data sources are required. Install only what you need:

  • akshare β€” for A-share and HK stocks

  • tushare β€” for A-share (needs token, no IP restriction)

  • yfinance β€” for all markets (fallback, no key needed)

  • requests β€” required for Alpha Vantage

2. Configure environment

cp .env.example .env
# Edit .env with your API keys

3. Run the server

python finance_data_server.py

The server runs in stdio mode (standard MCP transport).

4. Configure in your MCP client

Example configuration for MCP clients:

{
  "mcpServers": {
    "finance-data": {
      "command": "python",
      "args": ["/path/to/finance-data-mcp/finance_data_server.py"],
      "env": {}
    }
  }
}

Environment Variables

Variable

Required

Description

ALPHAVANTAGE_API_KEYS

For US stocks

Comma-separated Alpha Vantage API keys

TUSHARE_TOKEN

For A-share

Tushare Pro API token

AKSHARE_PROXY

Optional

HTTP proxy for AKShare (format: http://user:pass@host:port)

Architecture

finance_data_server.py          # MCP Server entry point + MarketRouter
β”œβ”€β”€ datasources/
β”‚   β”œβ”€β”€ alpha_vantage_adapter.py  # US/ETF stocks (Alpha Vantage API)
β”‚   β”œβ”€β”€ akshare_adapter.py        # A-share / HK stocks (AKShare + East Money)
β”‚   β”œβ”€β”€ tushare_adapter.py        # A-share stocks (Tushare Pro API)
β”‚   └── yfinance_adapter.py       # All markets fallback (Yahoo Finance)
β”œβ”€β”€ alpha_vantage_client.py       # Alpha Vantage HTTP client
└── alpha_vantage_rate_limiter.py # Per-key rate limiting with persistence

Data Flow

MCP Client Request
       β”‚
       β–Ό
  MarketRouter (routes by market type)
       β”‚
       β”œβ”€ US/ETF ──→ AlphaVantage β†’ yfinance
       β”œβ”€ A-share ──→ Tushare β†’ AKShare β†’ yfinance
       └─ HK ──────→ AKShare β†’ yfinance

Standardized Output

All adapters return data in a unified format:

Price Response

{
  "symbol": "AAPL",
  "market": "US",
  "price": 185.50,
  "change": 2.30,
  "change_pct": 1.25,
  "volume": 52340000,
  "high": 186.20,
  "low": 183.10,
  "open": 183.80,
  "previous_close": 183.20,
  "currency": "USD",
  "source": "alpha_vantage"
}

Financial Report Response

{
  "symbol": "AAPL",
  "market": "US",
  "report_type": "income_statement",
  "period": "annual",
  "data": [
    {
      "period": "2024-09-30",
      "revenue": 391035000000,
      "net_income": 93736000000,
      "eps_basic": 6.11
    }
  ],
  "count": 5,
  "source": "alpha_vantage"
}

License

MIT

F
license - not found
-
quality - not tested
D
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/angeliaz/finance-data-mcp'

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