mcpField
H
hanjialeGit

hanjialeGit

本地服务
github.com/ApocData金融数据22 周前更新

关于 hanjialeGit

ApocData MCP Server 将 46 个 A 股数据接口封装为工具,供 MCP 客户端查询行情、财务及市场信息。接口无需注册即可体验,并提供元信息头透传和配套数据指南资源。

主要功能

  1. 01覆盖行情、估值、财务与资金流数据
  2. 02查询公告、板块、宏观及因子信息
  3. 03透传限流、截断和错误元信息
  4. 04支持紧凑格式与字段裁剪
  5. 05提供三个 Markdown 指南资源

适用场景

  1. 01查询个股近期行情和估值
  2. 02筛选涨幅榜或资金流向数据
  3. 03整理公司综合画像与财务信息
  4. 04读取工具说明、场景映射和参数限制

MCP 相关

该 MCP 服务向客户端公开 46 个 A 股数据工具及 3 个 Markdown 资源。工具通过 HTTP 调用 ApocData 数据接口,并将 `X-Tdc-*` 元信息头传递给客户端。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"hanjialegit": {
"command": "npx",
"args": [
"-y",
"@apocdata-info/mcp-server"
]
}
}
}
启动命令npx -y @apocdata-info/mcp-server

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@apocdata-info/mcp-server0.1.3

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

@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_MS30000单次请求超时(毫秒),到时由 AbortController 中断
APOCDATA_MAX_RETRIES25xx 或网络错误的重试次数(不含首次请求),指数退避 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://limitslimit/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.mjsMCP 协议正确性: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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。