Skip to main content
Glama

Stock-MCP

一个基于 MCP (Model Context Protocol) 的 A 股数据服务器,提供实时股票行情、个股信息、历史数据等功能。

项目简介

Stock-MCP 是一个 MCP 服务器实现,集成了 AKShare 数据源,为 Claude 等 AI 助手提供 A 股市场数据接口。通过该服务器,可以轻松获取:

  • A 股市场总览数据(上交所和深交所)

  • 个股公司概况信息

  • 实时行情数据

  • 个股实时价格

  • 个股 80 天历史行情数据

系统要求

  • Python >= 3.10

  • pip 或 uv 包管理器

安装指南

方式一:使用 uv(推荐)

uv 是一个快速的 Python 包管理器,安装和依赖解析速度更快。

  1. 安装 uv(如果未安装)

    pip install uv --upgrade

    或使用腾讯源加速:

    pip install uv --upgrade -i https://mirrors.cloud.tencent.com/pypi/simple
  2. 同步项目依赖

    uv sync

方式二:使用 pip

pip install -r requirements.txt

或使用腾讯源加速:

pip install -r requirements.txt -i https://mirrors.cloud.tencent.com/pypi/simple

依赖说明

  • akshare (>=1.18.8):A 股数据获取库,提供实时行情、历史数据等

  • mcp (>=1.25.0):Model Context Protocol 框架,用于构建 MCP 服务器

快速开始

启动服务器

python main.py

服务器将通过 SSE (Server-Sent Events) 传输启动,默认监听本地连接。

可用工具

1. get_sse_summary()

获取 A 股市场总览数据(上交所和深交所)

参数:

返回: JSON 格式的市场总览数据,包含涨跌家数、成交量等信息

示例:

result = get_sse_summary()

2. get_stock_info(symbol)

获取个股公司概况信息

参数:

  • symbol (str):股票代码,6 位数字,如 600519(默认值)

返回: JSON 格式的公司信息,包含公司名称、行业、主营业务等

示例:

result = get_stock_info("600519") # 贵州茅台 result = get_stock_info("000858") # 五粮液

3. get_stock_realtime()

获取 A 股全部实时行情数据

参数:

返回: JSON 格式的全市场实时行情数据

示例:

result = get_stock_realtime()

4. get_stock_price(symbol)

获取个股实时价格

参数:

  • symbol (str):股票代码,6 位数字或带交易所前缀,如 600519SH600519(默认值)

返回: JSON 格式的实时价格数据,包含当前价、涨跌幅、成交量等

示例:

result = get_stock_price("600519") # 上交所股票 result = get_stock_price("SH600519") # 带前缀 result = get_stock_price("000858") # 深交所股票

5. get_stock_history(symbol)

获取个股 80 天历史行情数据

参数:

  • symbol (str):股票代码,6 位数字,如 600519(默认值)

返回: JSON 格式的历史行情数据,包含日期、开盘价、收盘价、最高价、最低价、成交量等

示例:

result = get_stock_history("600519") # 获取贵州茅台 80 天历史数据

股票代码说明

交易所前缀

  • SH:上海交易所(Shanghai)

  • SZ:深圳交易所(Shenzhen)

常见股票代码示例

股票名称

代码

完整代码

贵州茅台

600519

SH600519

五粮液

000858

SZ000858

中国平安

601318

SH601318

招商银行

600036

SH600036

腾讯控股

00700

HK00700

项目结构

stock-mcp/ ├── main.py # MCP 服务器主文件,定义所有工具 ├── util.py # 工具函数实现,调用 AKShare API ├── pyproject.toml # 项目配置和依赖声明 ├── uv.lock # uv 依赖锁定文件 ├── README.md # 项目文档 ├── LICENSE # 许可证 └── .gitignore # Git 忽略文件

使用示例

在 Claude 中使用

  1. 在 Claude 的 MCP 配置中添加此服务器

  2. 配置 SSE 传输方式

  3. 在对话中使用相关工具获取股票数据

直接调用

from main import mcp # 获取市场总览 summary = get_sse_summary() print(summary) # 获取个股信息 info = get_stock_info("600519") print(info) # 获取实时价格 price = get_stock_price("600519") print(price) # 获取历史数据 history = get_stock_history("600519") print(history)

常见问题

Q: 如何加速包安装?

A: 使用腾讯源或其他国内镜像源:

pip install -i https://mirrors.cloud.tencent.com/pypi/simple package_name

或配置 pip 配置文件 ~/.pip/pip.conf

[global] index-url = https://mirrors.cloud.tencent.com/pypi/simple

Q: 数据来源是什么?

A: 所有数据来自 AKShare 库,该库聚合了多个数据源,提供免费的 A 股数据。

Q: 如何处理网络错误?

A: 确保网络连接正常,AKShare 依赖网络获取实时数据。如果频繁出现错误,可能是数据源暂时不可用。

Q: 支持哪些股票代码格式?

A: 支持 6 位数字代码(如 600519)和带交易所前缀的代码(如 SH600519SZ000858)。

许可证

详见 LICENSE 文件

贡献

欢迎提交 Issue 和 Pull Request!

相关资源

-
security - not tested
A
license - permissive license
-
quality - not tested

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/nomi982/stock-mcp'

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