关于 China Stocks
China Stocks 是面向金融研究者与市场观察者的中国 A 股数据 MCP 服务,提供行情、历史与盘中数据及市场指标。它通过无需密钥的公开数据源覆盖沪深、科创板和创业板。
主要功能
- 01实时行情与指数快照
- 02日线及分钟线历史数据
- 03涨停与跌停榜单
- 04融资融券余额与成交额排行
- 05业绩预告和分析师共识
适用场景
- 01查看单只股票实时行情
- 02比较多个代码的历史走势
- 03观察每日涨跌停与市场成交情况
- 04查询公司盈利预期
MCP 相关
该 MCP 服务向客户端提供 A 股行情、历史数据及市场与公司指标工具。可通过 Pipeworx 网关连接,也可按 README 所述配置网关端点。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://gateway.pipeworx.io/china-stocks/mcpclaude mcp add --transport http pipeworx-io-china-stocks https://gateway.pipeworx.io/china-stocks/mcp{"mcpServers":{"pipeworx-io-china-stocks":{"type":"http","url":"https://gateway.pipeworx.io/china-stocks/mcp"}}}在 Cursor 中打开{"servers":{"pipeworx-io-china-stocks":{"type":"http","url":"https://gateway.pipeworx.io/china-stocks/mcp"}}}在 VS Code 中打开{"mcpServers":{"pipeworx-io-china-stocks":{"type":"http","url":"https://gateway.pipeworx.io/china-stocks/mcp"}}}{"mcpServers":{"pipeworx-io-china-stocks":{"serverUrl":"https://gateway.pipeworx.io/china-stocks/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
@pipeworx/china-stocks
中国 A 股市场(上海/深圳/科创板/创业板)实时数据——实时行情、日内分钟线、每日 OHLCV 历史数据、技术指标、涨停/跌停板、全市场融资融券余额、全市场成交额排名,以及公司业绩预告/分析师一致预期。
Pipeworx 的一部分(https://pipeworx.io)——一个将 AI Agent 连接到 1875 多个实时数据源的 MCP 网关。这是一个独立的非官方集成,与上游提供方无关,也未获其认可或发布。
工具
ashares_market_snapshot()— 主要指数水平(上证综指、深证成指、创业板指、科创 50、沪深 300),以及作为市场情绪指标的涨停/跌停数量。ashares_limit_up({ date?, limit? })— 每日涨停板:触及当日涨停价的股票数量,以及按连板数、封板资金、行业和换手率排名的股票池。ashares_limit_down({ date?, limit? })— 每日跌停板,是ashares_limit_up的对应工具:触及当日跌停价的股票数量,以及排名后的股票池。数据来源:EastmoneygetTopicDTPool(与涨停板股票池使用相同的主机和数据结构)。ashares_margin_financing({ symbol?, date? })— 中国 A 股融资融券余额:省略symbol时,按交易所(上交所 + 深交所)提供全市场汇总及环比变化;如果symbol为 6 位深交所代码(以 0/3/159 开头),则提供该只深交所上市股票的余额。上交所个股明细尚无已验证的免密钥接口,因此传入上交所代码(6xxxxx)时会返回清晰的not_available消息,而不会猜测。融资融券数据在 T+1 发布,且上交所通常早于深交所发布,因此汇总会报告两家交易所均已发布的最新交易日数据(该日期不晚于date),并在date_note中说明这一点;绝不会将两个不同交易日的数据相加为一个市场总额。ashares_quote({ symbols })— 按 6 位代码查询实时行情,代码以逗号分隔。ashares_daily_history({ codes, start, end?, adjust? })— 查询日期范围内最多 20 个代码的每日 OHLCV 历史数据(开盘价/最高价/最低价/收盘价/成交量、环比涨跌幅)。adjust:qfq(前复权,默认值)、hfq(后复权)或none(原始数据)。每日 K 线数据源不提供成交额,因此每行的amount_cny会报告为"not_available",而非估算值;如需查询当日成交额,请使用ashares_quote或ashares_turnover_ranking。ashares_intraday_bars({ symbols, date, up_to?, interval? })— 查询过去某个交易日的分钟级行情(分时/分钟 K 线),最多支持 5 个以逗号分隔的代码;cumulative_volume_shares/cumulative_turnover_cny为从当日开盘至up_to(例如"11:05")的累计值;省略up_to则统计全天。interval为 K 线周期,单位为分钟(1/5/15/30/60,默认值为5)。回溯范围有限:上游将 K 线总数限制在约 1950 根,与周期无关,因此周期越长,可保留的历史范围越短,且每天向前滚动——1 分钟约可查询 8 个交易日,5 分钟(默认值)约 40 个,15 分钟约 110 个,30 分钟约 1 年,60 分钟约 2 年。结果中的earliest_bar_date_available/latest_bar_date_available会说明本次调用的实时范围;如果date早于earliest_bar_date_available,请改用更长的interval或ashares_daily_history(仅提供日线,不含分时数据)。ashares_turnover_ranking({ limit?, sort?, order?, board? })— 按成交额、涨跌幅或成交量进行全市场排名,由服务端排序,成交额单位为 CNY。ashares_earnings_forecast({ symbol, limit? })— 公司发布的业绩预告:预计利润范围、同比变化百分比、预告类型及说明原因。ashares_analyst_consensus({ symbol })— 按预测年度提供分析师一致预期:EPS、市盈率、净利润和营收。ashares_stock_connect({ date? })— Stock Connect(沪深港通)每日渠道成交额:北向(通过香港买入的内地 A 股——沪股通/深股通/合计)和南向(内地投资者买入的香港上市股票——港股通沪/港股通深/合计),单位为 CNY。中国内地监管机构(CSRC)自 2024 年 8 月起停止发布北向每日资金净流入数据——每个北向渠道的net_flow都会明确说明这一点,而不会像真实数据一样返回空值;所有渠道仍会发布总成交额。每次调用还会尝试获取北向个股「成交活跃股票」排名(top_traded_stocks.northbound),并明确说明是否返回了真实数据——截至此版本,Eastmoney 上游对此排名的报告每次探测都会返回服务器错误,因此目前会报告「不可用」,而不会伪造数据行。
身份验证
无需密钥。所有上游服务都是公开的、无需身份验证的端点。
数据源
-
https://push2ex.eastmoney.com/getTopicZTPool— 涨停池(涨停板)。 日期陷阱(两个池都适用): 无论你请求的date是什么,响应中的qdate始终是最新交易日,而tc和池数据对应的是请求的日期——因此应报告的日期是请求的日期,绝不是qdate。数据会保留最近约 20 个交易日;请求更早的日期或非交易日时,返回结果为tc: 0和空池,工具会报告found: false,而不是零。行情强势时,跌停数量为零是可能出现的真实结果,因此只有当当天的涨停板不为空时,才认为空的跌停板数据可信。 -
https://push2ex.eastmoney.com/getTopicDTPool— 跌停池(跌停板),与上述涨停池使用相同的主机和参数。已于 2026-10-08 通过实时验证;2026-09-07 的项目说明记录该端点受限(rc:206 data:null)——现在情况已不再如此,因此不要仅凭旧说明就跳过它。 -
https://query.sse.com.cn/marketdata/tradedata/queryMargin.do— 上交所自己的每日融资融券交易汇总,覆盖全市场,按最新优先排列且没有日期参数。字段单位已经是人民币元,无需转换单位。这与通用的commonQuery.do是不同的路径;对于无法识别的sqlId,后者会以 HTTP 200 和data: null的形式静默失败,如果猜错,结果看起来会像“没有数据”,而不是“端点错误”。 -
https://www.szse.cn/api/report/ShowReport/data?CATALOGID=1837_xxpl— 深交所的融资融券报告,使用与ashares_sector_flows的同级数据包(china-exchange-data)相同的 ShowReport 机制。TABKEY=tab1表示全市场总量,TABKEY=tab2+txtZqdm=<6-digit code>表示个股详情。txtDate必须使用YYYY-MM-DD格式且为必填;省略该参数会返回自 2010 年起的完整历史数据,而不是默认为最新数据。对于尚未发布数据的日期(今天、周末、节假日),会返回正常的 HTTP 200 响应,其中data数组为空且metadata.subname为空白,而不是报错——调用方必须自行逐个回退交易日(此数据包会执行此操作)。单位陷阱:tab1的jrrjye(融券余额)单位为亿元(×1e8);tab2的jrrjye(同一字段名)单位为万元(×1e4)。已于 2026-10-08 通过实时数据确认;将tab1的换算因子用于tab2数据会造成 10,000 倍误差。 -
https://datacenter-web.eastmoney.com/api/data/v1/get?reportName=RPTA_RZRQ_LSDB— 东方财富按交易所拆分的融资融券历史数据(H_*= 上交所,S_*= 深交所,原生单位为人民币元)。当某个交易所端点无法从 Worker 出口访问时,可使用该端点作为备用——两个端点从 Cloudflare 访问时都不稳定(2026-10-09/10,上交所端点向网关返回 HTTP 500,但笔记本电脑能获取 200;部分边缘探测中,深交所端点超时)。其数值与上交所和深交所自己的数据在 2026-09-30、10-08 和 10-09 精确到元一致。深交所尚未发布当天数据时也会有对应行,但S_*列为 null——null 表示尚未发布,绝不表示零。支持filter=(DIM_DATE<='YYYY-MM-DD')。 -
https://hq.sinajs.cn/list=...— 实时行情和指数点位(GBK 编码;使用TextDecoder('gbk')解码)。 -
https://vip.stock.finance.sina.com.cn/quotes_service/api/json_v2.php/Market_Center.getHQNodeData— 全市场排名节点列表(按成交额/成交量/涨跌幅排名);不含行业字段。 -
https://datacenter-web.eastmoney.com/api/data/v1/get— 盈利预告/分析师一致预期数据中心报告。注意:该端点与push2.eastmoney.com属于不同的东方财富主机;后者从任何 IP 访问都为空——不要将二者混为一谈。 -
https://web.ifzq.gtimg.cn/appstock/app/fqkline/get— 腾讯/gtimg 日 K 线数据。param=<sym>,day,<start>,<end>,<count>,<adjust>,其中<sym>为sh/sz/bj+ 6 位代码,<adjust>为qfq/hfq/空(不复权;仍需保留结尾逗号,否则请求会返回 400)。响应键为与 adjust 参数对应的qfqday/hfqday/day;无效代码会返回 HTTP 200 和空的day数组,而不是报错,因此空行应视为found: false,而不是获取失败。数据行为[date, open, close, high, low, volume]——注意,成交量单位为手(每手 100 股),不是原始股数;任何复权方式都不包含成交额字段。单次请求只接受一个param=(重复该查询参数时只保留最后一个),因此多代码历史数据需要并行发送 N 个请求,而不是批量调用。ashares_daily_history中刻意不包含成交额:已检查 gtimg 行格式(全部三种复权变体)以及 Sina 的hisdata/klc_kl.js第二段端点(采用二进制编码,并非可用的 JSON 段)——两者都不提供每日成交额,因此报告为not_available,而不是通过价格 × 成交量推算。 -
https://quotes.sina.cn/cn/api/jsonp_v2.php/var%20_=/CN_MarketDataService.getKLineData— Sina 的分钟 K 线,无需密钥。?symbol=<sh|sz|bj><code>&scale=<1|5|15|30|60>&ma=no&datalen=1950;无论scale为何,datalen都最多限制约 1950 根 K 线(已于 2026-10-06 验证:1950 可用,2000 返回字面字符串null),因此scale越小,保留时间跨度越短——每次调用都会报告实时窗口的earliest_bar_date_available/latest_bar_date_available。响应是 JSONP 格式文本(var _=([...]);),而非纯 JSON,因此需要用正则提取,不能调用res.json()。每行的volume单位已经是股(而非ashares_daily_history的 gtimg 来源采用的每手 100 股),amount则是人民币成交额——对 2026-09-01 的 515050 和 600519 汇总全天 5 分钟 K 线后,与ashares_daily_history中同一代码和日期的每日成交量相差约 0.1%(误差来自收盘集合竞价的处理)。ashares_intraday_bars会在客户端汇总这些 K 线,生成cumulative_volume_shares/cumulative_turnover_cny。
快速开始
添加到你的 MCP 客户端(Claude Desktop、Cursor、Windsurf 等):
{
"mcpServers": {
"china-stocks": {
"url": "https://gateway.pipeworx.io/china-stocks/mcp"
}
}
}
此端点实际提供的内容
https://gateway.pipeworx.io/china-stocks/mcp 上的 tools/list 会返回上表中的工具,以及 Pipeworx 共享元工具——ask_pipeworx、discover_tools、search_within、remember/recall 等整个网关通用工具集。因此,你看到的工具数量会多于此表:目前,单一工具包端点除了该工具包自身的工具,还会列出约 30 个共享工具。连接的 initialize 响应会说明其确切范围,是当天的权威依据。
这是有意如此,并非意外多路复用。元工具让特定范围的连接也能回答此工具包未涵盖的问题——通过 ask_pipeworx 路由到整个目录——而无需你再添加第二个 MCP 服务。目前无法挂载不含这些工具的工具包端点;如果额外的架构定义耗费的上下文比路由功能带来的价值更大,请连接一次完整网关,而不要连接多个工具包端点。
或者连接完整的 Pipeworx 网关,直接获取所有工具包列出的工具,而不只是此工具包的工具:
{
"mcpServers": {
"pipeworx": {
"url": "https://gateway.pipeworx.io/mcp"
}
}
}
这两个 URL 都连接到同一网关和相同的 1875+ 个数据源。唯一的区别是直接列出哪个工具包的工具;无论连接哪个端点,ask_pipeworx 都能访问所有工具。
没有 MCP 客户端?通过 HTTP 调用
curl -X POST https://gateway.pipeworx.io/v1/tools/ashares_limit_up \
-H 'Content-Type: application/json' \
-d '{}'
首次调用无需账户。查看任意工具:GET https://gateway.pipeworx.io/v1/tools/ashares_limit_up。查找工具:使用 {"query":"..."} 向 https://gateway.pipeworx.io/v1/tools/search_packs 发送 POST 请求。
独立运行(无需网关账户)
此软件包也可以作为本地 stdio MCP 服务运行——无需 Pipeworx 账户,也无需经过网关:
{
"mcpServers": {
"china-stocks": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-china-stocks"]
}
}
}
也可以直接运行,确认它能够启动:
npx -y @pipeworx/mcp-china-stocks
它通过 stdin/stdout 使用 MCP 通信,并响应 initialize/tools/list/tools/call,仅提供此工具包的工具——不包含上方网关连接附带的任何共享元工具。数据源相同,工具相同,但不支持 ask_pipeworx 路由。
使用 ask_pipeworx
除了直接调用工具,你也可以用通俗语言提问——上方的工具包端点和完整网关均支持此功能:
ask_pipeworx({ question: "your question about China Stocks data" })
网关会自动选择合适的工具并填写参数。
更多信息
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。