返回市场
阿克夏尔-MCP服务器

阿克夏尔-MCP服务器

作者:jadenmong2 星标更新:2025-10-28

项目介绍

AKShare MCP Server

英文 | 中文版

基于AKShare的强大金融数据MCP(模型上下文协议)服务器,提供AI助手全面的金融数据检索能力。

🚀 快速开始

预备条件

  • Node.js: 18.0.0 或更高版本
  • Python: 3.8 或更高版本(仅适用于Python版本)

安装

# 1. 克隆项目
git clone https://github.com/jadenmong/akshare-mcp-server.git
cd akshare-mcp-server

# 2. 安装Node.js依赖
npm install

# 3. 启动服务器(推荐HTTP版本 - 不需要Python依赖)
npm start

# 或启动Python版本(需要安装Python和akshare)
npm run start:python

版本信息

HTTP版本(推荐)

  • ✅ 不需要安装Python或akshare
  • ✅ 基于HTTP API,稳定可靠
  • ✅ 内置备用数据确保可用性
  • ✅ 部署简单

Python版本

  • ✅ 数据更全面完整
  • ❌ 需要本地Python环境
  • ❌ 依赖于akshare库的安装

⚙️ 配置

Claude Desktop配置

在你的Claude Desktop配置文件中添加以下配置:

Windows: %APPDATA%\Claude\claude_desktop_config.json macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Linux: ~/.config/claude/claude_desktop_config.json

{
  "mcpServers": {
    "akshare": {
      "command": "node",
      "args": ["E:\\akshare-mcp-server\\src\\server.js"],
      "env": {},
      "description": "AKShare金融数据MCP服务器"
    }
  }
}

注意:请更新路径 E:\\akshare-mcp-server\\src\\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/
│   ├── server.js              # 基于Python的MCP服务器
│   ├── http-server.js         # 基于HTTP的MCP服务器(推荐)
│   └── tools/                 # 金融数据工具模块
├── test/
│   └── test_client.js         # 测试客户端
├── requirements.txt           # Python依赖
├── package.json               # Node.js配置
├── README.md                  # 英文文档
├── README_CN.md              # 中文文档
└── 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

开发模式(自动重启)

npm run dev

🔍 故障排除

常见问题

  1. Node.js版本过低

    错误:需要Node.js 18.0.0或更高版本
    解决方案:升级Node.js至最新LTS版本
    
  2. Python依赖安装失败

    # 尝试使用国内镜像
    pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
    
  3. Claude Desktop连接失败

    • 检查配置文件路径是否正确
    • 确认server.js文件路径存在
    • 重新启动Claude Desktop应用程序
  4. 数据检索失败

    • 检查网络连接
    • 确认AKShare库工作正常
    • 查看服务器日志输出

调试模式

以详细日志启动服务器:

DEBUG=akshare:* npm start

🔧 技术特性

  • 高性能:异步处理,支持并发请求
  • 🛡️ 类型安全:使用Zod进行严格的参数验证
  • 🌉 Python桥接:通过子进程调用AKShare库
  • 🔧 模块化设计:按金融产品类别组织工具
  • 📊 数据标准化:统一的数据格式和错误处理
  • 🚀 易于扩展:简单的工具定义和添加机制

📄 许可证

本项目在MIT许可证下开源。

🙏 致谢

🤝 贡献

欢迎提交Issues和Pull Requests来改进这个项目!

📞 支持

如果在使用过程中遇到问题,请:

  1. 查看本文档中的故障排除部分
  2. 在GitHub上提交Issue
  3. 查看AKShare官方文档

📚 文档