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
# 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**(如果未安装)
```bash
pip install uv --upgrade
```
或使用腾讯源加速:
```bash
pip install uv --upgrade -i https://mirrors.cloud.tencent.com/pypi/simple
```
2. **同步项目依赖**
```bash
uv sync
```
### 方式二:使用 pip
```bash
pip install -r requirements.txt
```
或使用腾讯源加速:
```bash
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 服务器
## 快速开始
### 启动服务器
```bash
python main.py
```
服务器将通过 SSE (Server-Sent Events) 传输启动,默认监听本地连接。
## 可用工具
### 1. get_sse_summary()
获取 A 股市场总览数据(上交所和深交所)
**参数:** 无
**返回:** JSON 格式的市场总览数据,包含涨跌家数、成交量等信息
**示例:**
```python
result = get_sse_summary()
```
### 2. get_stock_info(symbol)
获取个股公司概况信息
**参数:**
- `symbol` (str):股票代码,6 位数字,如 `600519`(默认值)
**返回:** JSON 格式的公司信息,包含公司名称、行业、主营业务等
**示例:**
```python
result = get_stock_info("600519") # 贵州茅台
result = get_stock_info("000858") # 五粮液
```
### 3. get_stock_realtime()
获取 A 股全部实时行情数据
**参数:** 无
**返回:** JSON 格式的全市场实时行情数据
**示例:**
```python
result = get_stock_realtime()
```
### 4. get_stock_price(symbol)
获取个股实时价格
**参数:**
- `symbol` (str):股票代码,6 位数字或带交易所前缀,如 `600519` 或 `SH600519`(默认值)
**返回:** JSON 格式的实时价格数据,包含当前价、涨跌幅、成交量等
**示例:**
```python
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 格式的历史行情数据,包含日期、开盘价、收盘价、最高价、最低价、成交量等
**示例:**
```python
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. 在对话中使用相关工具获取股票数据
### 直接调用
```python
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: 使用腾讯源或其他国内镜像源:
```bash
pip install -i https://mirrors.cloud.tencent.com/pypi/simple package_name
```
或配置 pip 配置文件 `~/.pip/pip.conf`:
```ini
[global]
index-url = https://mirrors.cloud.tencent.com/pypi/simple
```
### Q: 数据来源是什么?
A: 所有数据来自 AKShare 库,该库聚合了多个数据源,提供免费的 A 股数据。
### Q: 如何处理网络错误?
A: 确保网络连接正常,AKShare 依赖网络获取实时数据。如果频繁出现错误,可能是数据源暂时不可用。
### Q: 支持哪些股票代码格式?
A: 支持 6 位数字代码(如 `600519`)和带交易所前缀的代码(如 `SH600519`、`SZ000858`)。
## 许可证
详见 LICENSE 文件
## 贡献
欢迎提交 Issue 和 Pull Request!
## 相关资源
- [MCP 官方文档](https://modelcontextprotocol.io/)
- [AKShare 文档](https://akshare.akfamily.xyz/)
- [Python 官方文档](https://docs.python.org/3/)