MCP Servers

A collection of Model Context Protocol servers, templates, tools and more.

中国 A 股实时行情 MCP Server

Created 6/11/2026
Updated about 3 hours ago
Repository documentation and setup instructions

📈 mcp-stock-cn

中国 A 股实时行情 MCP Server
让 AI 助手直接查询 A 股行情、计算技术指标、筛选股票、盯盘告警、生成 K 线图表

🇺🇸 EnglishGitHub

Python 3.9+ MCP 1.4+ MIT License PRs Welcome 3 Data Sources


✨ 为什么选 mcp-stock-cn?

⚠️ 百度搜到的股票数据是静态网页,AI 无法直接做技术分析、筛选、对比。

mcp-stock-cn 给了 AI 一个实时、结构化、可计算的 A 股数据源:

  • 📊 实时行情 — 腾讯财经 + 东方财富双源,自动容错
  • 📈 技术分析 — 9 大指标本地计算,金叉死叉自动识别
  • 🔍 条件选股 — 全市场 A 股按涨跌幅/量比/换手率/PE/市值筛选
  • 🔔 盯盘告警 — 价格突破/金叉死叉/超买超卖 → 钉钉/微信推送
  • 🕯️ K线图表 — Plotly 交互式 HTML,蜡烛图+均线+MACD/KDJ/RSI
  • 💾 历史数据 — Baostock 量化级 K 线,日/周/月/分钟全覆盖

📋 环境要求

  • Python 3.9 或更高版本
  • 建议使用虚拟环境(venv / conda)安装

🚀 快速开始

# 1. 克隆
git clone https://github.com/ojkkk/mcp-stock-cn.git
cd mcp-stock-cn

# 2. 推荐:创建虚拟环境
python -m venv .venv
# Windows: .venv\Scripts\activate
# macOS/Linux: source .venv/bin/activate

# 3. 安装
pip install -e .

配置

Claude Desktop
{
  "mcpServers": {
    "mcp-stock-cn": {
      "command": "python",
      "args": ["-m", "cn_stock.server"]
    }
  }
}
Codex
codex mcp add mcp-stock-cn -- python -m cn_stock.server

.codex.yaml:

mcp:
  servers:
    mcp-stock-cn:
      command: python
      args: ["-m", "cn_stock.server"]
Cursor / VS Code
{
  "mcpServers": {
    "mcp-stock-cn": {
      "type": "stdio",
      "command": "python",
      "args": ["-m", "cn_stock.server"]
    }
  }
}

🛠️ 全部工具 (12 个)

📊 基础行情

| 工具 | 说明 | 必填参数 | |------|------|----------| | get_realtime_quote | 个股/指数实时行情 | code | | get_kline | K 线数据(日/周/月/60分 + 前/后复权) | code | | get_financials | 财务数据(营收/净利润/ROE/毛利率/资产负债率) | code | | get_market_indices | 上证/深证/创业板/沪深300/科创50 实时行情 | — | | get_sector_ranking | 行业/概念/地域板块涨幅排行 | — | | get_north_flow | 北向/南向资金日流向 | — | | search_stock | 按代码或名称模糊搜索 | keyword | | batch_quotes | 批量查询多只股票行情 | codes |

📈 技术分析

| 工具 | 说明 | 必填参数 | |------|------|----------| | get_technical_indicators | 9 指标一键计算 + 信号识别 | code |

计算的指标: MA(5/10/20/60/120/250)、MACD(DIF/DEA/柱)、KDJ(K/D/J)、RSI(6/14/24)、 BOLL(上/中/下轨)、WR(威廉)、BIAS(乖离率)

自动识别的信号: ✅ 均线金叉/死叉   ✅ MACD金叉/死叉   ✅ MACD柱转正/转负 ✅ KDJ超买/超卖   ✅ RSI严重超买(>80)/超卖(<20) ✅ RSI偏高(>70)/偏低(<30)   ✅ 均线多头/空头排列

🔍 条件选股

| 工具 | 说明 | 必填参数 | |------|------|----------| | stock_screener | 全市场多维度筛选 | 至少一个条件 |

支持的筛选条件:涨跌幅、量比、换手率、市盈率、总市值

🔔 盯盘告警

| 工具 | 说明 | 必填参数 | |------|------|----------| | set_alert | 条件告警 + 消息推送 | code |

告警条件:价格突破/跌破、涨跌幅阈值、MACD/均线金叉死叉、RSI超买超卖

推送渠道:🟢 钉钉机器人   🟢 企业微信机器人   🟢 Server酱(微信)

环境变量: DINGTALK_WEBHOOK_URL / WECOM_WEBHOOK_URL / SERVERCHAN_SENDKEY

🔧 告警配置详细说明(点击展开)

方式一:钉钉机器人(推荐)

  1. 打开钉钉,建一个群
  2. 群设置 → 智能群助手添加机器人自定义机器人
  3. 安全设置选 "自定义关键词",填 股票
  4. 复制 https://oapi.dingtalk.com/robot/send?access_token=xxx 这段 URL

Windows 永久配置:

setx DINGTALK_WEBHOOK_URL "https://oapi.dingtalk.com/robot/send?access_token=你的token"

重启 Codex / Claude 后生效。

方式二:企业微信机器人

建群 → 添加群机器人 → 拿到 Webhook URL:

setx WECOM_WEBHOOK_URL "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxx"

方式三:Server酱(微信推送)

  1. 打开 https://sct.ftqq.com/ 微信扫码登录
  2. 拿到 SendKey
setx SERVERCHAN_SENDKEY "SCT你的key"

测试告警

配置好后对 AI 说:

"帮我盯着茅台,涨超 3% 就钉钉通知我"

AI 会调用 set_alert(code="600519", gain_above=3, push_channel="dingtalk"),钉钉群就会收到消息。

持续盯盘脚本

set_alert一次性的(你问一次它检查一次)。要实现真正的后台持续盯盘,可以跑 run_monitor.py

python run_monitor.py

脚本每 60 秒检查一次自选股,触发条件自动推送,内置冷却机制避免重复骚扰。

配置自选股:编辑 run_monitor.py 里的 WATCHLIST

WATCHLIST = [
    {
        "code": "600519",
        "rules": {
            "price_below": 1500,    # 跌破 1500 告警
            "macd_death": True,     # MACD 死叉告警
        },
        "channel": ["dingtalk"],
    },
    {
        "code": "300750",
        "rules": {"gain_above": 5},
        "channel": ["dingtalk", "wecom"],
    },
]

| 参数 | 说明 | 默认值 | |------|------|--------| | INTERVAL_SECONDS | 检查间隔(秒) | 60 | | COOLDOWN_MINUTES | 同一条件冷却时间(分钟) | 30 | | MAX_CONSECUTIVE_ERRORS | 连续出错退出阈值 | 10 |

Windows 开机自启:把 python run_monitor.py 放到任务计划程序即可。

🕯️ K线图表

| 工具 | 说明 | 必填参数 | |------|------|----------| | plot_kline | Plotly 交互式 K 线 HTML | code |

图表包含:蜡烛图 + MA5/10/20/60 均线 + 成交量 + MACD/KDJ/RSI 副图(可选) 交互:缩放、平移、悬停查看数值,深色主题,保存为 HTML 在浏览器打开

⚠️ 这不是 PNG 图片! plot_kline 生成的是 交互式 HTML 文件,必须用浏览器打开。

文件默认保存在 %TEMP%/mcp-stock-cn-charts/ 目录下。 打开后你可以:🔍 滚轮缩放 | ✋ 拖拽平移 | 👆 悬停查看每根 K 线的 OHLC 数值。

Plotly.js 已内嵌在 HTML 中(~3MB),完全离线可用,无需联网

🧪 API 诊断

| 工具 | 说明 | 必填参数 | |------|------|----------| | test_data_sources | 逐项检测 Baostock / 东方财富 / 腾讯数据源是否可用 | — |

在对话中说 "测试数据源",AI 会调用 test_data_sources 返回各数据源状态。


💬 使用示例

| 场景 | 你可以问 AI | |------|-------------| | 📊 实时行情 | "茅台今天多少钱?大盘怎么样?" | | 📈 K线数据 | "宁德时代最近 60 天日 K,后复权" | | 🧮 技术分析 | "帮我看看比亚迪的技术指标,有没有金叉?RSI 超卖没有?" | | 📋 财务分析 | "恒瑞医药最近几期营收和 ROE 趋势" | | 💰 资金面 | "这周北向资金是流入还是流出?" | | 🔍 选股 | "全市场扫描:涨超 3%、量比 > 1.5、换手率 > 5%" | | 🔔 盯盘 | "盯着茅台,跌破 1800 或 MACD 死叉就钉钉通知我" | | 🕯️ 画图 | "画一张茅台最近 120 天的 K 线图,带上 MACD 和 RSI" | | 🏭 板块 | "今天哪个行业板块涨得最好?" |


📡 数据源

| 源 | 用途 | 可用性 | 致谢 | |----|------|--------|------| | 腾讯财经 qt.gtimg.cn | 实时行情 | ⭐⭐⭐⭐⭐ | 腾讯(QQ) 公开行情接口 | | 东方财富 push2.eastmoney.com | K线/板块/资金流/全市场 | ⭐⭐⭐⭐ | 东方财富网 | | 东方财富 datacenter.eastmoney.com | 财务数据 | ⭐⭐⭐⭐⭐ | 东方财富数据中心 | | Baostock baostock.com | 历史 K 线(量化级) | ⭐⭐⭐⭐⭐ | Baostock 免费证券数据平台 | | 东方财富 searchadapter.eastmoney.com | 股票搜索 | ⭐⭐⭐⭐⭐ | 东方财富搜索接口 |

🇨🇳 全部国内 API,无需代理,无需 API Key。 🔄 三数据源自动降级:Baostock → 东方财富 → 腾讯,确保尽可能返回数据。


🏗️ 项目结构

mcp-stock-cn/
├── pyproject.toml
├── README.md              # 中文文档
├── README.en.md           # English documentation
├── cn_stock/
│   ├── __init__.py
│   ├── api.py             # API 封装(三数据源容错)
│   ├── data.py            # 200+ 股票映射 & 行业分类
│   ├── indicators.py      # 9 大技术指标 + 信号识别
│   ├── screener.py        # 全市场条件筛选
│   ├── monitor.py         # 告警监控 + 钉钉/微信推送
│   ├── chart.py           # Plotly 交互式 K 线图
│   └── server.py          # MCP Server(12 tools + resources)

🧭 已知限制 & 路线图

当前不足

  • 分时数据缺失:暂不支持盘内分时(Tick 级)数据
  • 分钟 K 线范围有限:Baostock 分钟 K 线只保留近 5 个交易日
  • 港股/美股:目前仅覆盖 A 股

计划中

  • [ ] 港股实时行情支持(腾讯财经已有部分港股数据)
  • [ ] 个股资金流向(主力/散户净流入)
  • [ ] 股票回测框架对接(Backtrader / vnpy)
  • [ ] 分时图 / Tick 级数据
  • [ ] Docker 一键部署

欢迎提 PR 或 Issue 贡献新功能!


🙏 致谢


📝 License

MIT


⭐ 如果这个项目对你有用,请给一个 Star!
欢迎提交 PR 和 Issue — 新指标、新数据源、新推送渠道……

🇺🇸 Read this in English

Quick Setup
Installation guide for this server

Install Package (if required)

uvx mcp-stock-cn

Cursor configuration (mcp.json)

{ "mcpServers": { "ojkkk-mcp-stock-cn": { "command": "uvx", "args": [ "mcp-stock-cn" ] } } }