a-share-mcp
📊 a-share-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配置示例功能特点
🆕 实时行情数据
实时行情快照: 用分钟K线聚合今日数据,日期和涨跌幅语义正确
当日分钟K线: 获取今日 1/5/15/30/60 分钟K线数据
批量查询: 一次查询多只股票,按涨跌幅排序
实时K线: 支持历史 K 线数据,包括 1/5/15/30/60 分钟线、日线、周线、月线
技术指标: MACD, KDJ, RSI, BOLL, MA 等 12+ 种技术指标实时计算
市场数据: 热点板块、大盘指数、龙虎榜、北向资金、涨跌停统计等
数据源: Sina/Tencent 双核心封装,无需登录,盘中即时更新
先决条件
Python 环境: Python 3.10+
依赖管理: 使用
uv包管理器安装依赖数据来源: 基于 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包管理源: 默认
参数:
--directory/Users/YourName/Projects/a-share-mcprunpythonmcp_server.py
环境变量: (通常留空)
CherryStudio 使用示例:


工具列表
该 MCP 服务器目前提供 53 个工具,覆盖股票、财报、宏观、日期分析、实时行情等全方位数据。以下是完整列表:
贡献指南
欢迎提交 Issue 或 Pull Request 来帮助改进项目。贡献前请先查看现有 Issue 和文档。
许可证
本项目采用 MIT 许可证 - 详情请查看 LICENSE 文件
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/shouldnotappearcalm/a-share-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server