README
🚀 AKShare MCP 服务器
AKShare MCP 服务器是一个利用 AKShare 库构建的 Model Context Protocol (MCP) 服务器,专注于提供金融市场数据分析功能,助力用户高效获取和分析各类金融数据。
🚀 快速开始
AKShare MCP 服务器能让你轻松访问金融市场数据。以下是快速启动的步骤:
安装
使用 uv(推荐)
# 克隆仓库
git clone https://github.com/yourusername/akshare_mcp_server.git
cd akshare_mcp_server
# 创建并激活虚拟环境
python -m venv venv
source venv/bin/activate # Windows 系统请使用:venv\Scripts\activate
# 使用 uv 安装依赖
uv pip install -e .
使用 pip
# 克隆仓库
git clone https://github.com/yourusername/akshare_mcp_server.git
cd akshare_mcp_server
# 创建并激活虚拟环境
python -m venv venv
source venv/bin/activate # Windows 系统请使用:venv\Scripts\activate
# 安装依赖
pip install -e .
运行服务器
# 激活虚拟环境
source venv/bin/activate # Windows 系统请使用:venv\Scripts\activate
# 启动服务器
python run_server.py
集成到 Claude Desktop
- 将以下配置添加到你的 Claude Desktop 配置文件中:
"mcpServers": {
"akshare-mcp": {
"command": "uv",
"args": [
"--directory",
"/path/to/akshare_mcp_server",
"run",
"akshare-mcp"
],
"env": {
"AKSHARE_API_KEY": "<your_api_key_if_needed>"
}
}
}
- 重启 Claude Desktop
- 在可用工具中选择 AKShare MCP 服务器
✨ 主要特性
- 广泛的数据访问:可通过 AKShare 访问中国和全球金融市场的数据。
- 便捷集成:能够集成到 Claude Desktop 中,借助 MCP 协议实现数据交互。
- 丰富的功能支持:支持各种金融数据的查询和分析。
💻 使用示例
基础用法
在服务器启动后,你可以直接使用服务器提供的工具进行金融数据查询。例如,在集成到 Claude Desktop 后,在可用工具中选择 AKShare MCP 服务器,即可开始查询股票、基金等数据。
高级用法
若你想集成到 Claude Desktop 中,可按以下步骤操作:
- 将特定配置添加到 Claude Desktop 配置文件。
- 重启 Claude Desktop。
- 在可用工具中选择 AKShare MCP 服务器,开启高级数据查询和分析之旅。
📚 详细文档
可用工具
AKShare MCP 服务器提供了丰富的工具,涵盖了金融市场的多个领域:
- 股票数据查询
- 基金数据查询
- 债券数据查询
- 期货数据查询
- 外汇数据查询
- 宏观经济数据查询
- 以及其他更多功能...
添加新工具
要在 MCP 服务器中添加新的工具,可按以下步骤操作:
- 在
src/mcp_server_akshare/api.py中添加一个新的 API 函数:
async def fetch_new_data_function(param1: str, param2: str = "default") -> List[Dict[str, Any]]:
"""
获取新数据类型。
参数:
param1: 描述参数 1
param2: 描述参数 2(可选)
"""
try:
df = ak.akshare_function_name(param1=param1, param2=param2)
return dataframe_to_dict(df) # 假设 df 是 DataFrame 对象
except Exception as e:
raise ValueError(f"获取数据时发生错误:{str(e)}")
- 在
src/mcp_server_akshare/api.py中注册新函数:
from typing import List, Dict, Any
def register_new_function():
from .server import server
from ..commands.base import command
@command()
async def new_command(self):
# 在这里实现你的命令逻辑
pass
server.commands.append(new_command)
- 在
src/mcp_server_akshare/__init__.py中导入新函数:
from .api import fetch_new_data_function, register_new_function
# 注册新功能
register_new_function()
- 重启服务器以应用更改
开发信息
代码结构
src/mcp_server_akshare/: 包含 MCP 服务器的核心实现。src/mcp_server_akshare/api.py: 定义了与 AKShare 的接口和数据处理逻辑。src/mcp_server_akshare/server.py: 实现了 MCP 服务器的主逻辑。src/mcp_server_akshare/commands/: 包含各种命令的实现。
贡献指南
- 提交代码前,请确保通过了所有测试。
- 遵循 PEP8 编码规范。
- 提供详细的文档说明。
Docker 运行指南
# 构建镜像
docker build -t akshare-mcp-server .
# 启动容器
docker run -p 8000:8000 --name akshare-mcp-server akshare-mcp-server
📄 许可证
本项目采用 MIT 许可证。
Scan to contact