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配置示例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 双核心封装,无需登录,盘中即时更新
先决条件
Python 环境: Python 3.12+
依赖管理: 使用
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工具 | 参数与边界 |
历史K线与显式复权 |
| adjust=raw/qfq/hfq,no_cache;与skill共用口径 |
财务指标与公告日期过滤 |
| kind、start/end、as_of;不是完整PIT |
个股行业归属 |
| 东财公司行业;旧get_stock_industry使用不同分类 |
行业目录、真实成员、行业指数历史 |
| action、taxonomy、level、symbol、start/end、no_cache |
热门板块与groupKey成员 |
| 保留stale,require_fresh可拒绝旧快照 |
公司资讯和市场快讯 |
| 原始候选与来源诊断,不做语义筛选 |
完整参数和示例见 数据工具说明。缓存/并发由服务内部处理,使用MCP工具无需另外部署缓存服务。
工具列表
该 MCP 服务器目前提供 67 个工具,覆盖股票、财报、宏观、日期分析、实时行情等全方位数据。以下列出原有工具分组;与skill对齐的新增工具见上方入口表:
贡献指南
欢迎提交 Issue 或 Pull Request 来帮助改进项目。贡献前请先查看现有 Issue 和文档。
许可证
本项目采用 MIT 许可证 - 详情请查看 LICENSE 文件
数据修复与原始新闻(2026-10-11)
依赖使用MCP v1(mcp<2)并显式声明MyTT,无需旁目录Ashare。get_company_news(code, name="", days=7, limit=100, scope="all", no_cache=False)提供未分类新闻/公告及来源诊断。港美新闻由港美数据仓库提供。
修复了JSON日志污染、日期/NaN、OHLC列映射、休市涨跌幅与批量等待。完整实测、坏源及原始输出位置见体检报告。
与 a-share-skill 对齐
常规数据优先 get_price_history、get_financials、get_industry_info、get_boards_summary、get_board_members、get_company_news、get_market_news。它们参照a-share-data同函数/数据源,保留原始字段及stale。旧Baostock接口保留复权、完整财务维度和证监会分类语义。
数据口径与行业扩展
get_price_history(adjust="raw"|"qfq"|"hfq", no_cache=...)与canonical skill保持同口径降级;默认raw,缓存300秒。get_financials(as_of=...)按公告日期过滤,缺日期拒绝推断,不能声称完整PIT。get_industry_data(action="directory"|"members"|"history", taxonomy="sw"|"eastmoney_industry"|"eastmoney_concept")提供独立行业目录、真实成分与指数历史。板块/快讯facade支持require_fresh,默认保留旧快照原始数据。工具和源分别使用有上限的后台工作线程。
同步命令仍为 python scripts/sync_skill_reference.py --source ../a-share-skill;生成器保留条件导入,记录复制模块SHA256及source_worktree_dirty。只有数据内容、参数语义对齐,不能把当前成员称为历史成员。
验证报告。参考stock-api的API协议与诊断方法,未增加对父目录或Node的运行时依赖。
概念、公司事件、池详情与席位
数据 | 原始数据工具 |
公司全部展示概念及供应商入选理由 |
|
解禁、回购计划/进展、已披露股东增减持 |
|
涨停/炸板详情、真实交易日与市场范围 |
|
指定股票/日期的龙虎榜买卖席位 |
|
参数、JSON示例、原始字段单位、分页、缓存及能力边界见数据工具使用说明。这些工具与A股skill共享同一份同步代码,运行无需相邻仓库或stock-sdk服务。
This server cannot be deployed
Maintenance
Related MCP Connectors
China A-share market data for research, backtesting and AI agents via MCP.
China A-share market data over MCP: 22 tools for quotes, K-line, financials, money flow, top-trader boards, sectors, macro, convertible bonds and factor screening. Five tools need no API key, so you can connect and try it immediately.
MCP server giving AI agents one-connection access to China A-share market intelligence: financials,
China Exchange Data MCP (SZSE + SSE). Keyless.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceMCP 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.-
- AlicenseNot gradedqualityCmaintenance基于Model Context Protocol (MCP) 的A股实时行情查询服务器,支持查询A股实时价格、历史K线数据、财务信息及市场概况。32 PyPI8MIT
- FlicenseNot gradedqualityDmaintenance提供股票数据查询的MCP服务器,支持股票信息、K线历史、财务指标等市场数据获取。1-
- AlicenseAqualityDmaintenanceProvides 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.1214 npm4MIT