Skip to main content
Glama

📊 a-share-mcp 📈

License Python Package Manager MCP

A股 MCP 服务器,支持实时行情与历史数据查询。

本项目是一个专注于 A 股市场的 MCP 服务器,提供盘中实时行情、股票基本信息、历史 K 线数据、财务指标、宏观经济数据等多种查询功能。支持实时K线、技术指标计算(MACD/KDJ/RSI/BOLL等),理论上可以回答有关 A 股市场的任何问题,无论是针对大盘还是特定股票。

项目结构

a_share_mcp/
│
├── mcp_server.py           # 主服务器入口文件
├── pyproject.toml          # 项目依赖配置
├── README.md               # 项目说明文档
│
├── src/                    # 源代码目录
│   ├── __init__.py
│   ├── baostock_data_source.py   # Baostock数据源实现
│   ├── ashare_data_source.py     # Sina/Tencent数据源实现 (新增)
│   ├── data_source_interface.py  # 数据源接口定义
│   ├── utils.py                  # 通用工具函数
│   │
│   ├── formatting/         # 数据格式化模块
│   │   ├── __init__.py
│   │   └── markdown_formatter.py  # Markdown格式化工具
│   │
│   ├── use_cases/          # 业务逻辑层
│   │   ├── stock_market.py        # 股票市场业务逻辑
│   │   ├── realtime_market.py     # 实时行情业务逻辑 (重构)
│   │   ├── market_data.py         # 市场数据业务逻辑 (新增)
│   │   └── ...
│   │
│   └── tools/              # MCP工具模块
│       ├── __init__.py
│       ├── base.py                # 基础工具函数
│       ├── stock_market.py        # 股票市场数据工具
│       ├── realtime_market.py     # 实时行情数据工具 (重构)
│       ├── market_data.py         # 市场数据工具 (新增)
│       ├── financial_reports.py   # 财务报表工具
│       ├── indices.py             # 指数相关工具
│       ├── market_overview.py     # 市场概览工具
│       ├── macroeconomic.py       # 宏观经济数据工具
│       ├── date_utils.py          # 日期工具
│       └── analysis.py            # 分析工具
│
└── resource/               # 资源文件
    └── img/                # 图片资源
        ├── img_1.png       # CherryStudio配置示例
        └── img_2.png       # CherryStudio配置示例

Related MCP server: A股实时行情MCP服务器

功能特点

🆕 实时行情数据

  • 实时行情快照: 用分钟K线聚合今日数据,日期和涨跌幅语义正确

  • 当日分钟K线: 获取今日 1/5/15/30/60 分钟K线数据

  • 批量查询: 一次查询多只股票,按涨跌幅排序

  • 实时K线: 支持历史 K 线数据,包括 1/5/15/30/60 分钟线、日线、周线、月线

  • 技术指标: MACD, KDJ, RSI, BOLL, MA 等 12+ 种技术指标实时计算

  • 市场数据: 热点板块、大盘指数、龙虎榜、北向资金、涨跌停统计等

  • 数据源: Sina/Tencent 双核心封装,无需登录,盘中即时更新

先决条件

  1. Python 环境: Python 3.10+

  2. 依赖管理: 使用 uv 包管理器安装依赖

  3. 数据来源: 基于 Baostock 数据源 + 腾讯/新浪实时数据源,无需付费账号

数据更新时间

📊 Baostock 历史数据(延迟数据)

以下是 Baostock 官方数据更新时间,请注意查询最新数据时的时间点 Baostock 官网

每日数据更新时间:

  • 当前交易日 17:30,完成日 K 线数据入库

  • 当前交易日 18:00,完成复权因子数据入库

  • 第二自然日 11:00,完成分钟 K 线数据入库

  • 第二自然日 1:30,完成前交易日"其它财务报告数据"入库

  • 周六 17:30,完成周线数据入库

每周数据更新时间:

  • 每周一下午,完成上证 50 成份股、沪深 300 成份股、中证 500 成份股信息数据入库

所以说,在交易日的当天,如果是在 17:30 之前询问当天的数据,是无法获取到的。

🟢 实时行情数据(盘中即时)

新增的实时行情工具使用腾讯/新浪数据源,盘中即时更新,无需等待

实时数据特点:

  • 盘中即时: 交易时间内数据实时更新

  • 无需登录: 直接通过公开 API 获取

  • 支持分钟线: 1/5/15/30/60 分钟 K 线盘中可用

  • 技术指标: 基于实时数据计算,盘中可分析

适用场景:

  • 需要当日盘中实时价格

  • 需要分钟级别 K 线数据

  • 需要实时技术指标分析

安装环境

在项目根目录下执行:

# 1. 创建虚拟环境
uv venv

# 2. 激活虚拟环境
source .venv/bin/activate

# 3. 安装所有依赖
uv sync

使用:在 MCP 客户端中配置服务器

在支持 MCP 的客户端(如 Chatbox、VS Code 插件、CherryStudio 等)中,你需要配置如何启动此服务器。 推荐使用 uv

方法一:使用 JSON 配置的 IDE (例如 Cursor、VSCode、Trae 等)

对于需要编辑 JSON 文件来配置 MCP 服务器的客户端,你需要找到对应的能配置 MCP 的地方(各个 IDE 和桌面 MCP Client 可能都不一样),并在 mcpServers 对象中添加一个新的条目。

JSON 配置示例 (请将路径替换为你的实际绝对路径):

{
  "mcpServers": {
    "a-share-mcp": {
      "command": "uv",
      "args": [
        "--directory",
        "/Users/YourName/Projects/a-share-mcp",
        "run",
        "python",
        "mcp_server.py"
      ],
      "transport": "stdio"
    }
  }
}

注意事项:

  • command: 确保 uv 命令可以正常执行(可通过 which uv 检查路径)

  • args: 确保参数列表完整且顺序正确

  • 路径: macOS/Linux 使用正斜杠 / 作为目录分隔符

方法二:在 Chatbox 中配置 (推荐)

Chatbox 也支持通过 stdio 启动本地 MCP 服务器,不过 没有“命令”和“参数”两个字段,只有一个命令字段,所以需要把整条命令写在一起。

  • 传输方式stdio

  • 命令字段中直接写整条命令(请替换路径):

uv --directory "/Users/YourName/Projects/a-share-mcp" run python mcp_server.py

在 Chatbox 的 MCP 配置界面中:

  • 新增一个 MCP 服务器,名称例如:a-share-mcp

  • 选择 Transport / 传输方式stdio

  • 在唯一的 Command 输入框中,粘贴上面的整条命令(记得把路径改成你本地的实际路径)

如果你已经在 Chatbox 中配置了其他 MCP(例如 cherrystudio),建议把 a-share-mcp 这一条放在它们前面,这样在问 A 股相关问题时,更优先使用本地的 a-share 数据源。

方法三:使用 CherryStudio

在 CherryStudio 的 MCP 服务器配置界面中,按如下方式填写:

  • 名称: a-share-mcp (或自定义)

  • 描述: 本地 A 股 MCP 服务器 (或自定义)

  • 类型: 选择 标准输入/输出 (stdio)

  • 命令: uv

  • 包管理源: 默认

  • 参数:

    1. --directory

    2. /Users/YourName/Projects/a-share-mcp

    3. run

    4. python

    5. mcp_server.py

  • 环境变量: (通常留空)

CherryStudio 使用示例:

CherryStudio配置示例1

CherryStudio配置示例2

工具列表

该 MCP 服务器目前提供 53 个工具,覆盖股票、财报、宏观、日期分析、实时行情等全方位数据。以下是完整列表:

贡献指南

欢迎提交 Issue 或 Pull Request 来帮助改进项目。贡献前请先查看现有 Issue 和文档。

许可证

本项目采用 MIT 许可证 - 详情请查看 LICENSE 文件

Maintenance

ActivityInactive
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server that wraps SFC financial data API into 32 tools for comprehensive A-share market data, including real-time quotes, rankings, limit-up statistics, news, themes, financials, charts, research reports, and watchlists.
    -
  • A
    license
    A
    quality
    B
    maintenance
    Provides access to Chinese A-share market financial data, including historical K-line, real-time quotes, financial statements, shareholder information, and technical indicators, via MCP protocol.
    12
    69
    3
    MIT