使用说明
AKShare MCP服务器
基于AKShare的金融数据MCP(模型上下文协议)服务器,为Claude和其他AI助手提供全面的中国金融市场数据检索功能。支持股票、基金、期货、经济指标等。
🚀 快速开始
先决条件
- Node.js:18.0.0或更高
- python3.8或更高版本(仅适用于Python版本)
安装
# 1. Clone the project
git clone https://github.com/jadenmong/akshare-mcp-server.git
cd akshare-mcp-server
# 2. Install Node.js dependencies
npm install
# 3. Start the server (HTTP version, recommended - no Python dependencies)
npm start
# Or start Python version (requires Python and akshare installation)
npm run start:python
版本信息
该项目提供了两种MCP服务器实现:
HTTP版本(推荐):
- ✅ 零Python依赖,随时可用
- ✅ 基于AKShare HTTP API,稳定可靠
- ✅ 内置回退数据确保服务可用性
- ✅ 部署简单,启动速度快
Python版本:
- ✅ 直接AKShare库调用,数据更丰富
- ✅ 支持更多数据类型(期货、经济指标)
- ❌ 需要本地Python 3.8+环境
- ❌ 需要安装akshare库
⚙️ 配置
Claude桌面配置
将以下配置添加到您的Claude Desktop配置文件中:
视窗: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Linux: ~/.config/claude/claude_desktop_config.json
HTTP版本配置(推荐):
{
"mcpServers": {
"akshare": {
"command": "node",
"args": ["<your-project-path>/src/http-server.js"],
"description": "AKShare Financial Data MCP Server (HTTP)"
}
}
}
Python版本配置:
{
"mcpServers": {
"akshare": {
"command": "node",
"args": ["<your-project-path>/src/server.js"],
"description": "AKShare Financial Data MCP Server (Python)"
}
}
}
备注:
- 替换
<your-project-path>与你的实际绝对路径 - Windows:使用双反斜杠
\\例如。,D:\\projects\\akshare-mcp-server\\src\\http-server.js - macOS/Linux:使用正斜杠
/例如。,/home/user/akshare-mcp-server/src/http-server.js
📋 可用工具
📈 股票数据(HTTP+Python版本)
- 历史数据:
get_stock_historical_data-获取股票历史数据 - 实时报价:
get_stock_realtime_data-获取股票实时报价 - 库存清单:
get_stock_list-获取库存清单
🔍 搜索工具(HTTP新版本)
- 股票搜索:
search_stock-搜索股票信息
💰 基金数据(HTTP+Python版本)
- 基金列表:
get_fund_list-获取资金列表
📊 期货数据(仅Python版本)
- 期货信息:
get_futures_info-获取期货市场数据
🏭 经济数据(仅Python版本)
- 经济指标:
get_economic_data-获取宏观经济数据
版本比较
| 特性 | HTTP版本 | Python版本 |
|---|---|---|
| 股票历史数据 | ✅ | ✅ |
| 库存实时数据 | ✅ | ✅ |
| 库存清单 | ✅ | ✅ |
| 股票搜索 | ✅ | ❌ |
| 基金数据 | ✅ | ✅ |
| 期货数据 | ❌ | ✅ |
| 经济数据❌ | ✅ |
🏗️ 项目结构
akshare-mcp-server/
├── src/
│ ├── http-server.js # HTTP version MCP server (recommended)
│ ├── server.js # Python version MCP server
│ ├── tools/ # Financial data tool modules
│ │ ├── stock_tools.js # Stock data tools
│ │ ├── fund_tools.js # Fund data tools
│ │ ├── futures_tools.js # Futures data tools
│ │ └── economic_tools.js # Economic data tools
│ └── utils/
│ └── toolHelpers.js # Tool helper functions
├── test/
│ └── test.js # Automated test suite
├── python_bridge.py # Python bridge script
├── requirements.txt # Python dependencies
├── package.json # Node.js configuration
├── README.md # English documentation
├── README_CN.md # Chinese documentation
└── LICENSE # MIT License
📝 用法示例
股票数据示例
获取股票历史数据
{
"name": "get_stock_historical_data",
"arguments": {
"symbol": "000001",
"period": "daily",
"start_date": "20240101",
"end_date": "20240131",
"adjust": "qfq"
}
}
获取股票实时报价
{
"name": "get_stock_realtime_data",
"arguments": {
"symbol": "000001"
}
}
获取库存列表
{
"name": "get_stock_list",
"arguments": {
"market": "all"
}
}
基金数据示例
获取基金信息
{
"name": "get_fund_info",
"arguments": {
"symbol": "510050"
}
}
获取资金列表
{
"name": "get_fund_list",
"arguments": {
"type": "etf"
}
}
期货数据示例
获取期货信息
{
"name": "get_futures_info",
"arguments": {
"symbol": "ag",
"exchange": "SHFE"
}
}
经济数据示例
获取经济指标
{
"name": "get_economic_data",
"arguments": {
"indicator": "GDP",
"start_date": "20240101",
"end_date": "20241231"
}
}
🔧 开发和测试
运行测试
该项目包括两个版本的全面自动化测试套件:
npm test
测试覆盖范围包括:
- 工具列表检索
- 股票历史数据查询
- 股票实时报价
- 库存清单检索
- 资金数据查询
- 期货数据查询(Python版本)
- 经济数据查询(Python版本)
开发模式(自动重启)
# HTTP version development mode
npm run dev
# Python version development mode
npm run dev:python
🔍 故障排除
常见问题
-
Node.js版本过低
Error: Node.js version 18.0.0 or higher required Solution: Upgrade Node.js to the latest LTS version -
Python依赖项安装失败
# Try using a domestic mirror pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/ -
Claude桌面连接失败
- 检查配置文件路径是否正确(注意Windows使用双反斜杠)
- 确认
http-server.js或server.js文件路径存在 - 重新启动Claude Desktop应用程序
- 检查Claude Desktop日志输出
-
数据检索失败
- 检查网络连接
- HTTP版本:确认访问AKShare HTTP API
- Python版本:确认akshare库已安装(
pip list | grep akshare) - 检查服务器日志输出是否有错误
调试模式
使用详细的日志记录启动服务器:
DEBUG=akshare:* npm start
🔧 技术特性
- ⚡ 高性能:支持并发请求的Node.js异步处理
- 🛡️ 类型安全:使用Zod进行严格的参数验证和类型检查
- 🌉 巨蟒桥:通过子进程保护AKShare Python库调用
- 🔧 模块化设计:按金融产品类别组织的工具,便于维护
- 📊 数据标准化:统一的JSON数据格式和错误处理
- 🚀 易于扩展:简单的工具定义和添加机制,可快速集成
- 🔄 双重实施:针对不同用例的HTTP和Python版本
- ✅ 综合测试:自动化测试套件确保代码质量
📄 许可证
这个项目是MIT许可证下的开源项目。
🙏 致谢
🤝 贡献
欢迎提交问题和拉取请求以改进此项目!
📞 支持
如果您在使用过程中遇到问题,请:
- 检查 故障排除 本文档的一节
- 提交问题 GitHub 问题
- 请咨询 AKShare官方文件
📚 相关文档
- 英文文档: README.md (本文件)
- 中文文档: README_CN.md
- AKShare文件: AKShare官方文件
- MCP协议: 模型上下文协议
🌟 路线图
- []支持更多金融数据类型(债券、外汇、加密货币)
- []添加数据缓存机制以提高性能
- []支持自定义数据源配置
- []提供Docker镜像以简化部署
- []添加数据可视化工具集成