关于 ApocData
ApocData 是面向 A 股数据查询的 MCP 服务,将 46 个免费、无需认证的数据接口封装为工具,供 MCP 客户端调用。覆盖行情、财务、资金流、公告和宏观等数据,并提供文档资源及响应元信息。
主要功能
- 0146 个 A 股数据工具
- 02覆盖行情、财务与宏观数据
- 03提供 3 个 Markdown 资源
- 04透传限流与截断等元信息
- 05支持超时、重试和紧凑输出
适用场景
- 01查询个股近期行情与估值
- 02整理股票综合画像
- 03查看涨跌榜及资金流向
- 04在 Agent 中检索公告和宏观数据
MCP 相关
作为 MCP 服务,向客户端提供 46 个 A 股数据工具及 3 个 Markdown 资源。工具参数和结果通过 JSON Schema 暴露。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
46收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| symbol | string | 是 | A 股 6 位代码,例如 000001(平安银行)、600519(贵州茅台);后端会自动补全交易所后缀 |
详细介绍
@apocdata-info/mcp-server
天启至数 ApocData 的 MCP(Model Context Protocol)服务。将 46 个 A 股数据接口封装为 MCP 工具,可在 Claude Desktop / Cursor / Cline / Continue 等任意 MCP 客户端中直接调用。
- 数据源:
https://www.apocdata.com/api/blade-dataplatform/open/data/* - 免费体验额度:无需注册即可调用;注册后可解锁更高额度与更多数据能力
- 自动透传
X-Tdc-*元信息头(限流剩余量/截断标志/错误码/缓存策略) - 46 个工具覆盖:行情、估值、财务、股东、资金流、涨跌停、板块、公告、宏观、因子、综合画像
安装
方式 A:npx(推荐,零安装)
直接在客户端配置中填写 npx -y @apocdata-info/mcp-server,无需手动安装。
方式 B:全局安装
npm install -g @apocdata-info/mcp-server
apocdata-mcp # 可执行命令
客户端配置示例
Claude Desktop
编辑 ~/Library/Application Support/Claude/claude_desktop_config.json(macOS)或 %APPDATA%\Claude\claude_desktop_config.json(Windows):
{
"mcpServers": {
"apocdata": {
"command": "npx",
"args": ["-y", "@apocdata-info/mcp-server"]
}
}
}
Cursor
~/.cursor/mcp.json:
{
"mcpServers": {
"apocdata": {
"command": "npx",
"args": ["-y", "@apocdata-info/mcp-server"]
}
}
}
Cline / Continue / 其它 stdio MCP 客户端
同上,传入 command=npx, args=["-y","@apocdata-info/mcp-server"] 即可。
CLI flags
apocdata-mcp --version # 打印版本号
apocdata-mcp --help # 显示完整用法
信号
SIGTERM/SIGINT:优雅退出。等待正在进行的请求完成(最多 5 秒),然后关闭 transport 并退出。
调试模式
环境变量 APOCDATA_DEBUG=1 会将每次 HTTP 调用的 path/status/meta 输出到 stderr:
{
"mcpServers": {
"apocdata": {
"command": "npx",
"args": ["-y", "@apocdata-info/mcp-server"],
"env": { "APOCDATA_DEBUG": "1" }
}
}
}
自定义 BASE URL
环境变量 APOCDATA_BASE_URL 可指向内网/私有部署:
"env": { "APOCDATA_BASE_URL": "https://intranet.example.com/api/blade-dataplatform/open/data" }
超时与重试
| 环境变量 | 默认值 | 说明 |
|---|---|---|
APOCDATA_TIMEOUT_MS | 30000 | 单次请求超时(毫秒),到时由 AbortController 中断 |
APOCDATA_MAX_RETRIES | 2 | 5xx 或网络错误的重试次数(不含首次请求),指数退避 500→1000→2000ms |
4xx 不重试(重试业务错误没有意义)。重试耗尽后返回最后一次的 5xx 响应,或抛出 NetworkError(网络异常)。
工具清单(46 个)
| 类别 | 工具 |
|---|---|
| A. 行情与估值(10) | quote quotes daily stock stocks st ranking indexes index-daily hot-rank |
| B. 财务与股东(8) | financial express dividend holders holder-number share-float repurchase block-trade |
| C. 资金流向(8) | moneyflow hsgt hk-hold hk-daily margin dragon-tiger hot-money hot-money-detail |
| D. 涨跌停与板块(4) | limit-list limit-step sector-flow cyq-perf |
| E. 公告/调研(2) | announcements survey |
| F. 板块成分(4) | concepts concept-stocks ths-boards ths-board-stocks |
| G. 可转债(2) | convertible-bonds cb-price-chg |
| H. 因子(2) | factors tech-factor |
| I. 宏观(3) | macro macro-latest macro-definition |
| J. 日历(1) | calendar |
| K. 综合(2) | profile-full factor-categories |
每个工具的入参/出参/默认值都通过 MCP 协议层的 JSON Schema 暴露,客户端会自动展示。
MCP 资源
除工具外,还暴露 3 份 Markdown 文档,Agent 可通过 resources/list 和 resources/read 获取:
| URI | 内容 |
|---|---|
apocdata://guide | 全局接入指南:46 个工具的分组、symbol 格式、延迟/限流/错误协议、元信息头说明 |
apocdata://scenarios | 场景速查:常见用户意图与工具组合的映射,以及反模式(避免串调 8 个接口) |
apocdata://limits | limit/fields/compact 速查表:每个工具的默认值/上限/字段裁剪支持情况 |
用法示例(在 Claude 中直接提问)
> 帮我看下贵州茅台最近 5 天行情
(Claude 调用 daily(symbol="600519", limit=5))
> 现在涨幅榜前 10 是哪些股票?
(Claude 调用 ranking(type="gainers", limit=10))
> 整理一下平安银行的综合画像
(Claude 调用 profile-full(symbol="000001"))
> CPI 最近一次数据是多少?
(Claude 调用 macro-latest(type="cpi"))
性能与限流
- 单 IP 限流:60 req/min(响应头
X-Tdc-RateLimit-Remaining透传剩余配额) - 缓存策略:盘中实时数据 5s、盘后日更数据 5min、元数据 1h(自动提供
Cache-Control头) limit参数上限为 50,超出时会静默截断(查看响应头X-Tdc-Truncated)- 大批量数据建议使用
format=compact列式输出,可节省 60-70% 的 token - 字段较多的接口(如 financial、announcements)支持通过
fields=...裁剪字段
详细行为请参考主 SKILL 文档:https://github.com/ApocData/ApocData-skill
开发
git clone https://github.com/ApocData/ApocData-skill.git
cd ApocData-skill/mcp-server
npm install
npm run build
npm start
源码结构:
src/
index.ts # MCP server 入口,stdio transport
client.ts # HTTP client,BASE_URL 调用 + meta 头提取
tools.ts # 46 个工具的配置表(声明式)
要添加新接口,只需在 tools.ts 对应分组中添加一条 ToolDef,然后重新 build,无需修改其它代码。
测试
npm test # build + 6 类测试全跑(需在 apocdata-mcp 目录执行)
npm run test:unit # client 单测:超时/重试/URL 构造,不打外网
npm run test:contract # 46 工具逐个真实 HTTP 调用(happy path)
npm run test:errors # 错误路径:非法参数 / 不存在 symbol / 日期格式
npm run test:coverage # 限流头/截断头/所有枚举值遍历
npm run test:e2e # MCP 协议层:stdio JSON-RPC + isError + compact
npm run test:integration # 集成:mock HTTP + 子进程 server,验证 retries / timeout / --version / SIGTERM
六个脚本对应六种验证:
| 脚本 | 验证 |
|---|---|
client-unit-test.mjs | 客户端的 4xx 不重试、5xx 重试至成功/耗尽、超时归一化、meta 头提取、URL 构造(mock fetch) |
contract-test.mjs | 所有 46 个端点的参数名/必填项与后端 @RequestParam 一致;所有 happy path 均返回 200 |
error-path-test.mjs | 非法参数/资源不存在时返回 HTTP 400 + success=false + X-Tdc-Error-Code |
coverage-test.mjs | 透传限流头/截断头;遍历所有枚举工具(ranking / limit-list / sector-flow / hot-rank / margin / macro)的全部合法值 |
mcp-e2e-test.mjs | MCP 协议正确性:tools/list 包含 46 个工具、HTTP 4xx 和 success=false 时均正确标记 isError、compact 模式列式输出 |
integration-test.mjs | 验证真实 backoff 耗时;触发真实 timeout;测试 --version / --help CLI;SIGTERM 空闲时即时退出;SIGTERM 在请求进行中时等待完成后退出 |
私有部署:APOCDATA_BASE_URL=http://your.host/path npm test
生产契约基线
当前 www.apocdata.com 已提供并由测试套件持续验证:
ranking/macro/macro/latest/macro/definition/sector-flow/hot-rank/margin的非法 enum 校验X-Tdc-Error-Code响应头X-Tdc-RateLimit-Remaining响应头(限流剩余配额)X-Tdc-Truncated响应头(limit 超上限通知)format=compact列式输出/profile/full和/factor-categories两个端点本身
License
Apache-2.0
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。