Skip to main content
Glama
RicalLiu

a-share-mcp

by RicalLiu

a-share-mcp

本地 A 股交易 MCP Server,让 AI Agent(Crush / Claude Code / Codex)安全调用同花顺交易能力。 当前为模拟交易模式,已预留真实券商通道接口,可平滑升级。


⚠️ 安装前必读:许可证

本项目采用 GPL v2+ 与 LGPL v2.1+ 双许可证任选其一

  • GPL v2+:适用于整体衍生作品,你的作品必须以 GPL 开源

  • LGPL v2.1+:适用于作为库链接进你的程序,仅库本身的修改需开源

IMPORTANT

两种许可证都具有copyleft 传染性:你对本项目的任何修改,一旦分发(发给别人 / 公开发布 / 部署给第三方),必须同步开源并提供完整源代码。不允许闭源分发本项目或其衍生作品。

详细说明与选择指引见 LICENSE,协议全文见 LICENSE.GPLv2LICENSE.LGPLv2.1


Related MCP server: ashare-mcp

简介

一个运行在本地电脑上的 A 股交易 MCP Server。通过标准 MCP 协议暴露账户查询、持仓查询、买卖下单、撤单能力,内置交易风控与强制用户确认机制,防止 AI Agent 绕过人工确认直接下单。

        AI Agent(Crush / Codex)
                 │
            MCP Protocol
                 │
         a-share-mcp(本服务)
         ┌───────┼───────┐
      Account  Risk  Trade
         │       │       │
      查询账户 交易检查 下单执行
                 │
        券商通道(模拟 / 待接入)

功能特性

  • 标准 MCP 协议:基于 FastMCP,即插即用,兼容主流 AI Agent

  • 5 个交易工具get_account / get_position / buy_stock / sell_stock / cancel_order

  • 强制确认机制:任何买卖必须先返回确认预览(股票 / 代码 / 数量 / 价格 / 金额 / 账户占比 / 风险),用户明确确认后才执行;一键清仓需二次确认

  • 内置风控引擎:单票占比上限、当日亏损熔断、大额交易重点确认、禁止一键清仓,规则可配置

  • 完整交易日志:每次成交记录到 logs/trade.log,格式固定、可审计

  • 双模式:模拟模式开箱即用;真实券商通道接口已预留,升级不改 MCP 层

目录结构

.
├── server.py              MCP Server 入口
├── config.yaml            模式与风控配置
├── mcp.json               标准 MCP 客户端配置示例
├── requirements.txt       依赖清单
├── LICENSE                双许可证说明(GPL v2+ / LGPL v2.1+)
├── LICENSE.GPLv2          GPL v2 全文
├── LICENSE.LGPLv2.1       LGPL v2.1 全文
├── tools/
│   ├── account.py         账户查询
│   ├── position.py        持仓查询
│   ├── order.py           下单 / 撤单 / 交易日志
│   └── risk.py            风控引擎
├── drivers/
│   └── tonghuashun.py     券商驱动(预留接口)
├── data/portfolio.json    模拟账户状态(示例数据,请自行替换)
├── tests/test_smoke.py    冒烟自检
└── logs/                  交易日志(运行时生成,不入库)

系统要求

  • Windows(真实交易自动化目标平台;模拟模式任意平台可运行)

  • Python 3.11+

  • 模拟模式仅需 fastmcp

安装

git clone git@github.com:RicalLiu/a-share-mcp.git
cd a-share-mcp
pip install -r requirements.txt

安装即视为已阅读并接受 LICENSE 中 GPL v2+ 与 LGPL v2.1+ 双许可证的任选其一约定。

快速开始

# 1. 启动 MCP Server(stdio 模式,供 AI Agent 调用)
python server.py

# 2. 冒烟自检(不启动服务,直接验证交易全流程)
python tests/test_smoke.py

预期输出 SMOKE OK

录入你的持仓

模拟账户状态保存在 data/portfolio.json,直接编辑即可:

{
  "cash": 500000.0,
  "positions": {
    "600519": {"name": "贵州茅台", "cost": 1500.0, "amount": 100}
  },
  "day": "2026-08-07",
  "day_pnl": 0.0
}

字段

含义

cash

可用现金,参与风控计算(总资产 = 现金 + Σ 成本 × 股数)

positions

持仓:代码 → 名称 / 成本价(每股)/ 股数

day / day_pnl

当日已实现盈亏,跨日自动清零,可留默认值

MCP 工具

工具

参数

说明

get_account()

-

现金 / 总资产 / 可用资金 / 当日盈亏

get_position()

-

持仓列表(代码 / 名称 / 数量 / 成本)

buy_stock(code, amount, price, name?, confirm=false)

买入股票;confirm=false 返回确认预览

sell_stock(code, amount, price?, confirm=false, force=false)

卖出股票;一键清仓需 force=true 二次确认

cancel_order()

-

撤单(模拟模式订单即时成交,无待撤订单)

返回示例

get_account()

{"cash": 500000.0, "total_asset": 650000.0, "available": 500000.0,
 "positions_value": 150000.0, "day_pnl": 0.0}

buy_stock() 未确认时(confirm=false):

{
  "status": "need_confirm",
  "preview": "交易确认:\n股票:贵州茅台\n代码:600519\n数量:100股\n价格:1500\n预计金额:150000元\n账户占比:23.1%\n风险:需重点确认",
  "confirm": "确认交易"
}

交易确认流程(强制,不可跳过)

任何买卖必须两步调用:

  1. 先以 confirm=false 调用 → 返回 need_confirm 预览(含股票 / 代码 / 数量 / 价格 / 预计金额 / 账户占比 / 风险)

  2. 向用户完整展示预览,等待用户明确确认后,以 confirm=true 调用执行

一键清仓(卖出全部持仓)返回 need_force_confirm,需向用户二次确认后以 force=true 调用。

未确认的交易一律不成交,不会写日志、不会改动账户状态。

风控规则

config.yamlrisk 段配置,服务端强制,Agent 不可绕过:

规则

默认值

行为

max_single_stock_ratio

0.2

单票市值超过总资产 20% 拒绝买入

max_daily_loss_ratio

0.03

当日已实现亏损达总资产 3% 禁止买入(卖出止损不受限)

require_confirm_ratio

0.05

单笔金额 ≥ 总资产 5% 标记「需重点确认」

forbid_all_sell

true

禁止一键清仓,需 force=true 二次确认

mode: simulation  # simulation(模拟)| real(真实,待接入)
risk:
  max_single_stock_ratio: 0.2
  max_daily_loss_ratio: 0.03
  require_confirm_ratio: 0.05
  forbid_all_sell: true

交易日志

每次成交写入 logs/trade.log

2026-08-07 10:30
BUY
300750
100股
价格220
用户确认
SUCCESS

接入 AI Agent

Crush

mcp add stock-trader --type stdio --command python --args "/path/to/a-share-mcp/server.py"

标准 MCP 客户端

mcp.jsonserver.py 路径替换为实际路径后,放入客户端配置。

Agent System Prompt(建议粘贴给你的 Agent)

你是我的A股交易助手。你可以调用stock-trader MCP。规则:
1. 任何交易必须经过risk检查。
2. 任何真实交易必须获得用户明确确认。
3. 交易前必须展示:股票、代码、数量、价格、金额、风险。
4. 禁止自行扩大交易数量。
5. 禁止连续交易。
6. 所有交易必须记录日志。

预留接口

drivers/tonghuashun.py 已定义券商驱动接口(Step 3 待实现),MCP 层、风控层、确认流程均不依赖具体实现:

class Tonghuashun:
    def login(self)                                  # 登录
    def get_account(self)                            # 查询账户
    def get_position(self)                           # 查询持仓
    def buy(self, code, amount, price=None)          # 买入
    def sell(self, code, amount, price=None)         # 卖出
    def cancel(self, order_id=None)                  # 撤单

实现任一券商通道只需:新建驱动类实现上述接口,并在 order.py 中按 config.yamlmode 分流到真实驱动即可,MCP 工具签名与调用方不变。

后续开发方案(路线图)

1. 同花顺客户端自动化驱动(近期)

  • pyautogui + pywin32 + opencv-python + pytesseract 操作同花顺客户端(川财 / 华安证券版)

  • 流程:打开客户端 → 登录 → 进入交易页 → 输入代码 / 数量 → 点击买入 / 卖出 → OCR 读取成交结果

  • 前置条件:本机安装同花顺客户端、已登录券商账户

  • 依赖已注释在 requirements.txt,取消注释即可安装

2. 券商量化通道(推荐长期方案)

  • 华安证券:官网正式提供「华安证券 QMT 极速策略交易平台」,支持 Python 策略编程;优先确认是否可开通 miniQMT(外部 Python API xtquant),可脱离界面纯脚本下单。门槛约 50 万,以客户经理答复为准

  • 川财证券:官网未公开提供 QMT / Ptrade,需联系客户经理确认量化通道

  • 实现方式:新增 drivers/qmt.py(基于 xtquant),接口与预留驱动一致,MCP 层零改动

  • 合规:程序化交易需遵守券商协议与《程序化交易管理规定》,首次开展需向券商报告;高频(>300 笔/秒)需额外报备

3. 行情接入

  • 模拟模式目前按成本价估值;接入行情源(如本地行情数据接口 / 实时行情库)后支持真实市值与盈亏计算

4. 高级交易能力

  • 条件单 / 止损单 / 网格策略:在 tools/order.py 之上扩展,风控与确认流程复用

  • 多账户支持:将 data/portfolio.json 扩展为按账户分目录

合规与免责声明

  • 本项目仅提供技术框架,不构成投资建议;使用本项目进行真实交易的风险由使用者自行承担

  • 程序化交易 A 股须遵守券商协议与《程序化交易管理规定》,高频交易需向券商报备

  • 真实交易前请确认你的券商是否允许程序化交易

License

GPL v2+ 或 LGPL v2.1+,任选其一(见 LICENSE)。

  • 修改后分发必须开源(copyleft)

  • 全文:LICENSE.GPLv2(GPL v2+)、LICENSE.LGPLv2.1(LGPL v2.1+)

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    D
    maintenance
    Production-grade MCP server for Chinese A-share market data, offering 30 tools including real-time quotes, K-lines, fund flows, and financial reports, with stdio and HTTP transport support.
    Last updated
    6
    MIT
  • A
    license
    -
    quality
    D
    maintenance
    基于通达信行情服务器的 MCP Server,为 AI 助手提供实时 A 股、期货、港股等行情数据及技术指标。
    Last updated
    MIT

View all related MCP servers

Related MCP Connectors

  • Open-source MCP server for Zerodha Kite Connect. Portfolio, market data, backtesting, alerts.

  • Multi-tenant FastMCP server for Charles Schwab brokerage data, monetized via DPYC Tollbooth

  • MCP server exposing the Backtest360 engine API as tools for AI agents.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/RicalLiu/a-share-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server