cn大陆金融数据 MCP Server 基于 AKShare · 支持 MCP 协议 · 42 个金融工具
Обзор
cn大陆金融数据 MCP Server 基于 AKShare · 支持 MCP 协议 · 42 个金融工具
README
cn-financial-mcp
cn大陆金融数据 MCP Server 基于 AKShare · 支持 MCP 协议 · 42 个金融工具
📸 Demo
在 Claude Code 中通过 MCP 工具查询中国西电的盘口走势以及投研分析
简介
cn-financial-mcp 是一个遵循 Model Context Protocol (MCP) 标准的金融数据服务器,专注于cn大陆市场。它让任何支持 MCP 的 AI Agent(如 Claude Code、Cursor、自定义 Agent)都能直接调用 A 股行情、财报、行业、宏观经济等 42 个金融工具,无需 API Key,开箱即用。
底层数据来源于 AKShare,并内置多数据源自动 fallback 机制(东方财富 → 新浪 / 腾讯 / 同花顺),确保在不同网络环境下的可用性。
✨ 功能一览
| 模块 | 工具数 | 说明 |
|---|---|---|
| 公司信息 | 4 | 股票搜索、公司概况、主营构成、竞争对手 |
| 行情数据 | 4 | 实时行情、历史 K 线(日/周/月)、市值、股票列表 |
| 财务报表 | 8 | 利润表、资产负债表、现金流量表、财务指标、增长率、分部收入 |
| 估值分析 | 4 | PE/PB/PS 时序、分红历史、机构持仓、分析师评级 |
| 行业板块 | 5 | 行业列表、成分股、概念板块、板块资金流、行业估值 |
| 市场总览 | 5 | 指数概览、个股资金流、北向资金、涨跌停池、龙虎榜 |
| 新闻公告 | 4 | 个股新闻、财报日历、公司公告、关键词搜索 |
| 宏观与衍生 | 8 | GDP/CPI/PMI/M2、汇率、国债收益率、融资融券、高管增减持 |
合计 42 个工具,覆盖从个股研究到宏观分析的完整链路。
🚀 快速开始
环境要求
- Python 3.10+
- pip
安装
git clone https://github.com//cn-financial-mcp.git
cd cn-financial-mcp
pip install -e .
验证安装
PYTHONPATH=src python -m cn_financial_mcp --help
usage: __main__.py [-h] [--http] [--port PORT] [--host HOST]
cn-financial-mcp: China Financial Data MCP Server based on AKShare
options:
-h, --help show this help message and exit
--http Run in HTTP/SSE mode instead of stdio
--port PORT Port for HTTP/SSE mode (default: 8000)
--host HOST Host for HTTP/SSE mode (default: 127.0.0.1)
📡 部署方式
方式一:stdio 模式(Claude Code / Cursor)
在你的项目根目录 .mcp.json 中添加:
{
"mcpServers": {
"cn-financial": {
"type": "stdio",
"command": "python",
"args": ["-m", "cn_financial_mcp"],
"env": {
"PYTHONPATH": "/absolute/path/to/cn-financial-mcp/src"
}
}
}
}
将
/absolute/path/to/cn-financial-mcp替换为你的实际路径。配置好后 Agent 会自动拉起 MCP 进程。
方式二:HTTP/SSE 模式(通用 MCP Client)
cd cn-financial-mcp
PYTHONPATH=src python -m cn_financial_mcp --http --host 0.0.0.0 --port 8000
MCP Client 连接 endpoint:
http://:8000/sse
方式三:Docker
cd cn-financial-mcp
docker compose up -d
服务暴露在 http://localhost:8000。
🛠 工具清单
🔄 多数据源 Fallback
为应对部分数据源在云服务器环境下不稳定的问题,内置了自动多源切换:
请求 → 东方财富 (优先,字段最全)
↓ 失败
新浪 / 腾讯 / 同花顺 (备选)
↓ 失败
返回错误
| 功能 | 主源 | 备选源 |
|---|---|---|
| 实时行情 | 东方财富 | 新浪 → 新浪单股 |
| 历史 K 线 | 东方财富 | 腾讯 |
| 行业板块 | 东方财富 | 同花顺 |
| 概念板块 | 东方财富 | 同花顺 |
| 公司信息 | 东方财富 emweb | 新浪 |
代码始终优先尝试东方财富。只有当主源连接失败时才自动切换,对调用方完全透明。
🧪 测试
# 安装开发依赖
pip install -e ".[dev]"
# 运行单元测试
pytest tests/ -v
# 仅运行网络无关测试
pytest tests/ -v -m "not network"
📁 项目结构
cn-financial-mcp/
├── src/cn_financial_mcp/
│ ├── __init__.py
│ ├── __main__.py # CLI 入口
│ ├── server.py # MCP Server 实例
│ ├── tools/
│ │ ├── company_info.py # 公司信息 (4 tools)
│ │ ├── price_data.py # 行情数据 (4 tools)
│ │ ├── financial_stmt.py # 财务报表 (8 tools)
│ │ ├── valuation.py # 估值分析 (4 tools)
│ │ ├── industry.py # 行业板块 (5 tools)
│ │ ├── market.py # 市场总览 (5 tools)
│ │ ├── news_events.py # 新闻公告 (4 tools)
│ │ └── macro_fx.py # 宏观衍生 (8 tools)
│ └── utils/
│ ├── cache.py # TTL 缓存
│ ├── fallback.py # 多源 fallback
│ ├── formatter.py # DataFrame → JSON
│ └── symbol.py # 股票代码工具
├── tests/
├── docs/images/
├── pyproject.toml
├── Dockerfile
├── docker-compose.yml
└── .mcp.json
📄 License
🙏 致谢
- AKShare — 开源金融数据接口库
Установка
This server does not publish a one-line install command.
Open the repository installation guideКонфигурация
{
"mcpServers": {
"cn-financial": {
"type": "stdio",
"command": "python",
"args": ["-m", "cn_financial_mcp"],
"env": {
"PYTHONPATH": "/absolute/path/to/cn-financial-mcp/src"
}
}
}
}