finance-data-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@finance-data-mcpget the latest price of AAPL"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 |
| Real-time stock price with market routing |
| Income statement, balance sheet, cash flow |
| PE, PB, ROE, market cap, EPS, etc. |
| Currency exchange rates |
Quick Start
1. Install dependencies
pip install -r requirements.txtNote: 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 keys3. Run the server
python finance_data_server.pyThe 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 |
| For US stocks | Comma-separated Alpha Vantage API keys |
| For A-share | Tushare Pro API token |
| Optional | HTTP proxy for AKShare (format: |
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 persistenceData Flow
MCP Client Request
β
βΌ
MarketRouter (routes by market type)
β
ββ US/ETF βββ AlphaVantage β yfinance
ββ A-share βββ Tushare β AKShare β yfinance
ββ HK βββββββ AKShare β yfinanceStandardized 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
This server cannot be installed
Maintenance
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
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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