一、背景:MCP 协议与「让 AI 真正懂投资」

如果你关注过 2024 年以来的 AI 工程领域,那一定对 MCP(Model Context Protocol) 不陌生。这是 Anthropic 提出的一个开放协议,核心思路很简单——让 LLM 能像调用函数一样调用外部工具。从最初的 Claude Desktop 一路演化到 Cursor、Cline 等 IDE,MCP 正在成为 LLM 与现实世界交互的事实标准。

但问题来了:现成的 MCP Server 多半停留在「查天气、读文件」这种玩具级 demo。真正面向金融场景的优质实现凤毛麟角。

stock-mcp-server 正是为了填补这个空白而生的:一个面向股票分析的 MCP Server,覆盖 A 股、美股、港股三大市场,把行情数据、技术指标、AI 决策、风险检测、策略回测——全塞进 12 个 MCP 工具里,让你的 AI 助手瞬间升级为「初级分析师」。

二、四大功能亮点

1. 🌟 AI 决策仪表盘:把数据喂给 LLM,让它「出报告」

这是整个项目最让我眼前一亮的工具。调用 analyze_stock_ai 工具,服务器会帮你把技术面 + 资金面 + 新闻面 + 风险面全部打包成结构化上下文,然后丢给 LLM 推理。返回的不是冷冰冰的数字,而是一份迷你投研报告:

  • 核心结论
  • 多空判断
  • 支撑压力位
  • 量能分析
  • 新闻情绪解读
  • 买卖计划 + 仓位建议

感觉就像有个 7×24 在线的研究员帮你做了第一遍筛选,你只需要做最终拍板。

2. 🚨 ST 风险检测:A 股韭菜的「保命符」

A 股最独特的玩法就是 ST 制度——财务异常或连续亏损的股票会被戴帽,连续跌到 1 元以下还会面值退市。很多新手栽跟头不是因为选错股,而是买到退市股

check_st_risk 工具从 4 个维度做评分:

维度 检测内容
*ST/ST 状态 从股票名称自动识别
面值退市风险 股价 < 1 元触发警告,< 0.5 元高风险
放量下跌 量比 > 3 + 跌幅 > 5% 标记高风险
综合评估 无异常时标记「正常」

风险等级:正常 🟢 → 关注 🟡 → 警告 🟠 → 高风险 🔴

对于经常被各种「老师」忽悠的散户来说,这个工具比任何技术指标都实用。

3. 📈 零依赖策略回测:5 种策略任你选

回测模块完全自研,不依赖 backtrader、zipline 这些重型框架。内置 5 种策略:

策略 信号逻辑
MA 金叉/死叉 MA5 上穿/下穿 MA20
MACD DIF 上穿/下穿 DEA
RSI 均值回归 超卖区回升 / 超买区回落
布林带反弹 触下轨反弹 / 触上轨回落
组合信号 MA(40%) + MACD(30%) + RSI(30%) 加权

每笔交易都模拟了手续费和滑点(买入万 2.5 / 卖出万 2.5 + 印花税千 1,滑点 0.1%),出来的绩效指标包括总收益率、年化收益、最大回撤、夏普比率、胜率、盈亏比——相当全面了。

4. 🔌 多数据源自动容灾

A 股行情 API 不稳定是公开的秘密。stock-mcp-server 做了三层兜底:

数据源 用途
腾讯行情 A 股主源(HTTP API,覆盖最全)
mootdx 通达信 TCP 协议 fallback(零配置)
Yahoo Finance 美股 / 港股

还内置了数据源健康监控(每源成功率/失败率统计)和 TTL 内存缓存(30 秒~10 分钟分级),既能保证高可用,又不至于把 API 玩崩。

三、架构特色

整个项目跑在 Python 3.11+ + FastMCP 之上,设计上有几个「克制」的取舍:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
stock-mcp-server/
├── server.py # MCP 入口,12 个工具注册
├── core/
│ ├── cache.py # TTL 内存缓存
│ ├── parallel.py # 并行执行工具
│ └── health.py # 数据源健康追踪
├── data_sources/
│ ├── tencent.py # 腾讯行情(+ mootdx fallback)
│ ├── mootdx.py # 通达信 TCP 直连
│ └── yahoo.py # Yahoo Finance
└── tools/
├── technical.py # 技术分析(9 项指标)
├── news.py # 新闻搜索(新浪 + 百度)
├── analyzer.py # AI 分析(LLM 决策仪表盘)
├── st_risk.py # ST 风险检测
└── backtest/ # 策略回测模块
├── __init__.py # 入口
├── strategies.py # 5 种策略信号生成
├── simulator.py # 交易模拟引擎
├── metrics.py # 绩效指标计算
└── report.py # 报告格式化
  • 零鉴权:定位是本地工具,部署在可信环境即可,避免过度设计
  • 零依赖回测:策略回测模块纯手写,pip install 一气呵成
  • TTL 分级缓存:行情类短缓存(30s),基本面类长缓存(10min),在「实时性 vs. 接口配额」之间找平衡
  • 健康度追踪:每个数据源都有命中率和延迟统计,问题数据源能快速发现

技术分析层支持 MA / MACD / RSI / 布林带 / Ichimoku 一目均衡表 / K 线形态识别 / 量比 / 乖离率 / 综合评分——基本上把主流指标都拉满了。

四、五分钟上手

1
2
3
4
5
6
7
8
# 1. 安装依赖
pip install "mcp[cli]" httpx yfinance

# 2. 可选:A 股备选数据源
pip install mootdx

# 3. 启动服务
python3 server.py

然后在 Claude Desktop 或 Cursor 的 MCP 配置里加上:

1
2
3
4
5
6
7
8
{
"mcpServers": {
"stock": {
"command": "python3",
"args": ["/path/to/stock-mcp-server/server.py"]
}
}
}

之后在对话里直接说「帮我分析一下贵州茅台」或者「回测一下茅台 2023 年的 MA 金叉策略」,AI 就会自动调用工具链给你输出结果。

配置 AI 分析

AI 分析自动使用 Hermes config 中的 LLM 配置,也可以用环境变量覆盖:

1
2
3
export STOCK_LLM_BASE_URL="https://api.openai.com/v1"
export STOCK_LLM_API_KEY="sk-xxx"
export STOCK_LLM_MODEL="gpt-4o-mini"

五、个人评价与展望

优点

  • 场景选得好,金融 + MCP 是天然结合
  • A 股特色功能(ST 检测)做得很接地气
  • 零依赖回测很良心,部署成本极低
  • 代码结构清晰,12 个工具各司其职

可以更进一步

  • 港股数据源目前依赖 Yahoo,腾讯也有港股行情,可以再补一个 fallback
  • 策略回测目前是单标的,如果加上多股票组合回测 + 相关性分析会更专业
  • AI 决策仪表盘如果能支持多 LLM provider(不只是 OpenAI)就更灵活
  • 加一个 screener 工具,按条件全市场筛选会非常实用

总的来说,stock-mcp-server 是一个实用主义的代表作——它没有追求大而全的平台化,而是在「MCP + 股票分析」这个交叉点上做深做透。对于想要把 AI 真正落地到投研场景的开发者来说,这是一个非常值得 fork 和二次开发的项目。

📌 投资有风险,本工具仅供学习和参考,不构成任何投资建议。亏了别找我 😅