返回 MCP 目录
public公开dns本地运行

akshare_mcp_server

基于AKShare的金融数据MCP服务,提供中国及全球金融市场数据查询与分析功能,支持与Claude Desktop集成。

article

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

  1. 将以下配置添加到你的 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>"
        }
    }
}
  1. 重启 Claude Desktop
  2. 在可用工具中选择 AKShare MCP 服务器

✨ 主要特性

  • 广泛的数据访问:可通过 AKShare 访问中国和全球金融市场的数据。
  • 便捷集成:能够集成到 Claude Desktop 中,借助 MCP 协议实现数据交互。
  • 丰富的功能支持:支持各种金融数据的查询和分析。

💻 使用示例

基础用法

在服务器启动后,你可以直接使用服务器提供的工具进行金融数据查询。例如,在集成到 Claude Desktop 后,在可用工具中选择 AKShare MCP 服务器,即可开始查询股票、基金等数据。

高级用法

若你想集成到 Claude Desktop 中,可按以下步骤操作:

  1. 将特定配置添加到 Claude Desktop 配置文件。
  2. 重启 Claude Desktop。
  3. 在可用工具中选择 AKShare MCP 服务器,开启高级数据查询和分析之旅。

📚 详细文档

可用工具

AKShare MCP 服务器提供了丰富的工具,涵盖了金融市场的多个领域:

  • 股票数据查询
  • 基金数据查询
  • 债券数据查询
  • 期货数据查询
  • 外汇数据查询
  • 宏观经济数据查询
  • 以及其他更多功能...

添加新工具

要在 MCP 服务器中添加新的工具,可按以下步骤操作:

  1. 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)}")
  1. 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)
  1. src/mcp_server_akshare/__init__.py 中导入新函数
from .api import fetch_new_data_function, register_new_function

# 注册新功能
register_new_function()
  1. 重启服务器以应用更改

开发信息

代码结构

  • src/mcp_server_akshare/: 包含 MCP 服务器的核心实现。
  • src/mcp_server_akshare/api.py: 定义了与 AKShare 的接口和数据处理逻辑。
  • src/mcp_server_akshare/server.py: 实现了 MCP 服务器的主逻辑。
  • src/mcp_server_akshare/commands/: 包含各种命令的实现。

贡献指南

  1. 提交代码前,请确保通过了所有测试。
  2. 遵循 PEP8 编码规范。
  3. 提供详细的文档说明。

Docker 运行指南

# 构建镜像
docker build -t akshare-mcp-server .

# 启动容器
docker run -p 8000:8000 --name akshare-mcp-server akshare-mcp-server

📄 许可证

本项目采用 MIT 许可证。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端