把股票数据能力接进 AI:stock-sdk-mcp 的实践整理

起因

如果你经常用 Cursor、Claude 这类 AI 工具,应该已经能明显感觉到它们在通用问答和代码任务上越来越强了。但一旦问题变成金融数据查询,比如"看看贵州茅台今天的行情""把最近 60 个交易日的日 K 线拉出来,再判断一下 MACD 和 RSI",大多数 AI 客户端还是会露出短板。

问题通常不在模型理解能力,而在数据接入层。很多 AI 工具缺少稳定的股票行情数据源,即便能查到一点信息,也往往缺少技术指标、板块数据、资金流向和批量筛选能力。更进一步的需求,例如"找出今天科创板涨幅前十的股票",往往就更难直接完成。

这也是我做 stock-sdk-mcp 的原因。思路并不复杂:既然 stock-sdk 已经把股票数据的采集和封装做好了,那就再补一层 MCP 接口,让支持 MCP 的 AI 工具可以直接调用这些能力。

先用一句话理解 MCP

MCP 是 Model Context Protocol,可以把它看成 AI 与外部工具之间的一套标准连接方式。谁实现了 MCP Server,AI 就能通过统一协议去调用谁。

常见的理解方式是:

  • 接入文件系统 MCP,AI 就能读写本地文件
  • 接入数据库 MCP,AI 就能查询和操作数据
  • 接入 stock-sdk-mcp,AI 就能直接查行情、拉 K 线、读取板块信息并做技术分析

它的价值不在"替代模型",而在"给模型补齐真实世界的数据入口"。

这个 MCP Server 解决了什么问题

stock-sdk-mcp 的定位很明确,就是把 stock-sdk 已有的数据能力暴露给 AI 客户端使用。

当前这套服务里,核心内容包括 32 个 MCP 工具和 7 个资源。实际使用时并不需要记工具名,直接用自然语言提问即可,AI 会自己选择合适的调用路径。

例如下面这些问题都可以直接问:

text 复制代码
帮我查一下腾讯控股和比亚迪今天的行情

拉一下贵州茅台最近三个月的日 K 线,并计算 MACD 和 RSI

今天表现最强的行业板块是什么

人工智能概念包含哪些成分股

苹果公司最近的 RSI 到了什么位置,是否接近超买

从能力维度看,它主要覆盖了几类场景。

1. 行情查询

可以查询 A 股、港股、美股和基金的实时行情,也支持按名称、代码或拼音做模糊搜索。也就是说,很多时候你不需要先记住证券代码,直接输入"茅台"或"腾讯"就行。

除了单只证券查询,也支持大范围批量拉取数据。例如一次性获取数千只 A 股、港股或美股的行情,用来做全市场扫描和排序。

2. K 线与技术指标

支持日线、周线、月线,也支持分钟级别 K 线,例如 1 分钟、5 分钟、15 分钟、30 分钟和 60 分钟,还可以读取当日分时走势。

这部分最关键的接口是 get_kline_with_indicators。相比只返回开盘价、最高价、最低价、收盘价的普通 K 线接口,它会直接把均线、MACD、RSI、KDJ 等指标一并算好再返回。

这样做的好处很实际:大模型在浮点运算、长序列指标计算这类任务上并不稳定,提前把指标算好,AI 只负责理解和解释,结果会更可靠。

3. 板块、搜索与扩展数据

行业板块、概念板块、板块成分股、交易日历、资金流向、大单占比、分红明细等能力,也都能通过 MCP 暴露给 AI 使用。

除了工具调用之外,还有 7 个资源可以被 AI 主动读取。这类资源更适合承载相对稳定的辅助信息,例如市场代码列表、板块列表和交易日历等。

三分钟就能接起来

如果你已经在用支持 MCP 的客户端,接入这套服务基本不需要额外安装过程,直接在配置里通过 npx 启动即可。

常见配置文件位置如下:

工具 配置文件
Cursor ~/.cursor/mcp.json
Claude Desktop ~/Library/Application Support/Claude/claude_desktop_config.json
Antigravity (Gemini in VS Code) ~/.antigravity/mcp.json
Codex CLI ~/.codex/config.json
Gemini CLI ~/.gemini/settings.json
OpenClaw ~/.clawdbot/config.yaml

对于大多数基于 JSON 的 MCP 配置,核心内容都类似:

json 复制代码
{
"mcpServers": {
"stock-sdk": {
"command": "npx",
"args": ["-y", "stock-sdk-mcp"]
}
}
}

保存后重启对应的 AI 工具,然后可以直接测试:

text 复制代码
帮我查一下贵州茅台今天的行情

如果返回结果里已经有价格、涨跌幅、成交量这类实时字段,说明这条链路已经打通。

为什么这个接口对 AI 更友好

很多人第一次接触时,容易把它理解成"给 AI 增加了一个股票查询插件"。但真正有价值的地方,不只是能把数据拉出来,而是把 AI 不擅长的部分提前处理掉。

以技术分析为例,模型当然可以自己拿原始 K 线去推导 MA、MACD、RSI、KDJ,可一旦数据量变大,或者指标组合变复杂,分析质量和稳定性就会明显波动。

get_kline_with_indicators 的思路是把这一步前置到 SDK 层完成。AI 收到的不是裸数据,而是已经包含这些字段的结果:

  • ma5
  • ma20
  • macd_dif
  • macd_dea
  • rsi
  • kdj_k
  • kdj_d

这样模型只需要专注于解释趋势、判断信号和组织分析结论,而不是去硬算技术指标。

4 个内置 Skills,重点不在查数据,而在组织分析流程

如果只有工具,没有流程,AI 的表现通常不够稳定。有时它会把分析写得很完整,有时又会遗漏掉关键指标或者判断顺序混乱。

所以在工具层之外,我又补了 4 个内置 Skill。它们的作用,是把多次工具调用串成一套相对固定的分析方法。

1. 股票技术分析专家

这是最常用的一个 Skill。用户只需要说"分析一下某只股票的技术走势",AI 就会按预设流程完成:

  1. 先读取实时行情,确认当前价格和当日涨跌情况
  2. 获取带指标的日 K 数据
  3. 判断均线结构和趋势方向
  4. 检查 MACD 的位置和柱体变化
  5. 结合 KDJ、RSI 判断超买或超卖状态
  6. 观察布林带位置与带宽变化
  7. 输出一份结构化技术分析结果

最终结果通常会包含趋势判断、指标状态、风险提示和一个简短结论,比单次自由发挥式回答稳定得多。

2. 智能股票筛选器

这个 Skill 适合处理带条件的选股需求,例如:

text 复制代码
找出今天科创板涨幅前 10,并且市盈率低于 50 的股票

AI 会先识别筛选范围,再拉取批量行情数据,接着做条件过滤和排序,最后返回符合要求的标的。

3. 市场深度概览

如果问题是"今天市场强不强""热点主要集中在哪些方向",这个 Skill 会更合适。

它会自动汇总主要指数表现、行业板块涨跌、概念板块热度等信息,生成一份适合开盘观察或收盘复盘的摘要。

4. 自选股实时监控

这个 Skill 更接近个人持仓助手。比如你输入买入价和持仓标的,AI 可以直接拉实时行情,计算浮盈浮亏,并补充一些基础走势判断。

适合快速查看"手上的票今天整体什么状态",而不是只看单个标的。

接到 OpenClaw 之后,能力就不只局限在聊天窗口里了

OpenClaw 可以把多个 MCP Server 聚合在一起,再通过 HTTP API 对外提供统一入口。对 stock-sdk-mcp 来说,这一步的意义是把股票数据能力从单一客户端扩展到任意应用。

先在 ~/.clawdbot/config.yaml 里注册服务:

yaml 复制代码
servers:
stock-sdk:
command: npx
args:
- "-y"
- "stock-sdk-mcp"
description: "股票行情数据服务"
tags:
- finance
- stock

启动网关:

bash 复制代码
clawdbot gateway start

之后就可以直接通过 HTTP 接口调用工具。

查询行情:

bash 复制代码
curl -X POST http://localhost:8080/v1/tools/call \
-H "Content-Type: application/json" \
-d '{
"server": "stock-sdk",
"tool": "get_quotes_by_query",
"arguments": { "queries": ["茅台", "腾讯"] }
}'

获取带指标的 K 线:

bash 复制代码
curl -X POST http://localhost:8080/v1/tools/call \
-H "Content-Type: application/json" \
-d '{
"server": "stock-sdk",
"tool": "get_kline_with_indicators",
"arguments": {
"symbol": "600519",
"indicators": {
"ma": { "periods": [5, 10, 20] },
"macd": true
}
}
}'

如果还想把 Skills 一起带上,可以在配置里补充目录:

yaml 复制代码
skills:
directories:
- /你的路径/stock-sdk-mcp/skills

这样一来,你不只是在 Cursor 或 Claude 里提问,也可以把这套能力接到自己的服务里。

比较适合的场景包括:

  • 用定时任务在收盘后自动生成复盘报告,再推送到飞书、钉钉或微信
  • 搭一个简单的 Web 页面,让用户输入条件后由 AI 返回候选股票
  • 给已有的聊天机器人或 Agent 系统补一层股票数据能力
  • 把股票数据、文件系统、邮件等多个 MCP Server 组合在一起,交给 AI 编排工作流

还有哪些客户端能直接接

除了 Cursor 和 Claude Desktop,只要工具本身支持 MCP,这套服务通常都能接进去。

比较常见的包括:

  • Cursor
  • Claude Desktop
  • Antigravity
  • Codex CLI
  • Gemini CLI
  • OpenClaw

其中像 Codex CLI 或 Gemini CLI 这类命令行工具,也可以直接利用这套能力发起查询。例如在终端里输入查询指令后,由客户端通过 MCP 去拉股票数据。

这套方案的边界也很明确

虽然用起来方便,但它并不适合所有金融场景。

  • 数据源来自公开接口,通常是秒级延迟,不适合高频或超低延时交易
  • 目前重点覆盖的是行情和相关市场数据,财报、公告、新闻等信息暂时不在这套能力里
  • AI 能做的是读取数据、组合信息和辅助分析,并不意味着它真的具备交易判断能力

所以如果把它当成一个高效的数据助手和分析辅助工具,它的价值很直接;如果把它当成投资顾问,那就超出它的合理边界了。

相关链接

如果你想本地安装 stock-sdk,命令如下:

bash 复制代码
npm install stock-sdk

或者:

bash 复制代码
yarn add stock-sdk

如果你只是想把 MCP 服务接入客户端,通常不需要先安装包,直接使用下面这段配置即可:

json 复制代码
{
"mcpServers": {
"stock-sdk": {
"command": "npx",
"args": ["-y", "stock-sdk-mcp"]
}
}
}

收尾

stock-sdkstock-sdk-mcp,本质上是在做一件很朴素的事:让 AI 真正拿到可用、实时、结构化的数据,再把理解和表达的部分交给模型去完成。

我现在越来越倾向于把 MCP 看成一层能力拼装接口。模型本身负责理解问题,外部系统负责提供事实和执行能力,两边分工清晰,反而更容易做出真正有用的工具。

如果你本来就在使用支持 MCP 的 AI 客户端,不妨把 stock-sdk-mcp 接上试试。配置本身很短,但一旦能直接在 AI 对话里完成行情查询、技术分析和市场扫描,工作方式会明显顺手很多。

如果觉得有帮助,欢迎去 stock-sdk GitHub 给个 Star 支持一下。

您的支持是我更新、维护下去的唯一动力。

相关推荐
终端鹿2 小时前
setup 语法糖从 0 到 1 实战教程
前端·javascript·vue.js
颜酱2 小时前
回溯算法实战练习(2)
javascript·后端·算法
周淳APP2 小时前
【React Fiber架构+React18知识点+浏览器原生帧流程和React阶段流程相串】
前端·javascript·react.js·架构
reasonsummer2 小时前
【白板类-01-01】20260326水果连连看01(html+希沃白板)
前端·html
HelloReader2 小时前
Qt Quick 视觉元素、交互与自定义组件(七)
前端
We་ct2 小时前
LeetCode 153. 旋转排序数组找最小值:二分最优思路
前端·算法·leetcode·typescript·二分·数组
程序员阿峰2 小时前
前端3D·Three.js一学就会系列:第二 画线
前端·three.js
HelloReader2 小时前
Qt Quick Controls 控件库、样式与布局(八)
前端
兔司基2 小时前
Node.js/Express 实现 AI 流式输出 (SSE) 踩的坑:为什么客户端会“瞬间断开连接”?
前端