内容
# 🇨🇳 AKShare MCP Server
> 给 Claude Code 装上 A 股数据能力。零 C 依赖,纯 Python + requests,双源融合(新浪 + 东方财富)。
[](LICENSE)
[](https://www.python.org/)
## 为什么不用 AKShare?
AKShare 功能强大但依赖 numpy/pandas + cryptography(需要 Rust 编译),在 Python 3.13 上安装困难。本项目直接调用新浪财经和东方财富的公开 HTTP API,**零 C 依赖、秒装**。
## 快速开始
```bash
git clone https://github.com/YOUR_USERNAME/akshare-mcp.git
cd akshare-mcp
python3 -m venv .venv
source .venv/bin/activate
pip install requests
```
## 配置 Claude Code
```json
{
"mcpServers": {
"akshare": {
"command": "/path/to/akshare-mcp/.venv/bin/python",
"args": ["/path/to/akshare-mcp/server.py"],
"env": {
"HTTPS_PROXY": "http://127.0.0.1:7890"
}
}
}
}
```
> 如果网络能直连,去掉 `env` 字段。如果使用 Clash,建议添加 `DOMAIN-SUFFIX,eastmoney.com,DIRECT` 规则。
## 工具列表
| 分类 | 工具 | 描述 |
|------|------|------|
| 🔭 大盘 | `market_overview` | 上证/深证/创业板/科创50/沪深300 实时行情 |
| 📈 个股 | `stock_spot` | 个股实时行情 |
| | `stock_history` | 历史K线(日/周/月) |
| | `quick_analysis` | 行情+30日走势一键速览 |
| 📊 ETF | `etf_spot` | 主要宽基+行业ETF行情 |
| | `etf_history` | ETF历史净值 |
| 💰 资金 | `north_bound_flow` | 北向资金每日净流入 |
| 🏭 板块 | `sector_detail` | 板块成分股列表 |
| 🐉 龙虎榜 | `dragon_tiger` | 上榜个股及席位 |
| 📰 公告 | `stock_announcements` | 个股最新公告 |
| 📋 新闻 | `financial_news` | 财经新闻(当前占位) |
| 🎯 情绪 | `margin_trading` | 融资融券(散户杠杆情绪) |
| | `market_breadth` | 市场宽度与情绪(涨跌停比/ETF情绪) |
| | `dragon_tiger_seats` | 龙虎榜席位明细(机构/游资/散户拆分) |
| | `dragon_tiger_summary` | 龙虎榜机构游资汇总分析 |
| | `institution_visits` | 机构调研记录 |
| | `guba_hot` | 股吧热门帖子(散户讨论热度) |
## 使用示例
```
"今天大盘怎么样" → market_overview
"茅台现在多少钱" → stock_spot 600519
"帮我快速看看宁德时代" → quick_analysis 300750
"沪深300有哪些ETF" → etf_spot 沪深300
"北向资金最近在干嘛" → north_bound_flow 10
"半导体板块有哪些票" → sector_detail 半导体
"茅台年报" → stock_announcements 600519 keyword=年报
"今天龙虎榜" → dragon_tiger
```
## 数据源
| 数据 | 来源 | 延迟 |
|------|------|------|
| 实时行情/指数/ETF | 新浪财经 `hq.sinajs.cn` | ~3秒 |
| 历史K线 | 东方财富 `push2his.eastmoney.com` | 实时 |
| 公告 | 东方财富 `np-anotice-stock.eastmoney.com` | 实时 |
| 板块/龙虎榜/北向 | 东方财富 `datacenter-web.eastmoney.com` | 实时 |
## 架构
```
server.py (1165 行纯 Python)
├── 新浪 API 封装 → 实时行情/指数/ETF
├── 东方财富 API 封装 → K线/公告/板块/龙虎榜/北向资金
├── MCP JSON-RPC 框架(手写,不依赖 mcp SDK)
└── 17 个工具注册 + 路由
```
## 依赖
- Python ≥ 3.11
- `requests`(唯一外部依赖)
## 已知问题
- **Clash 代理**:部分规则会拦截 `push2.eastmoney.com`,导致实时行情不可用。新浪源不受影响。
- **Python 3.13**:这是主要测试环境,3.11/3.12 也应正常。
- **Windows**:需将 `server.py` 中路径改为 Windows 格式。
## 自定义
### 添加关注的 ETF
编辑 `server.py` 的 `POPULAR_ETFS` 列表:
```python
POPULAR_ETFS = [
("sh510300", "沪深300ETF"),
("你的代码", "你的ETF名称"),
]
```
### 添加关注的板块
编辑 `CONCEPT_BOARDS` 字典:
```python
CONCEPT_BOARDS = {
"你的板块名": "东方财富板块代码",
}
```
板块代码可以在东方财富概念板块页面 URL 中找到。
## 相关项目
- [东方财富](https://www.eastmoney.com/) — 数据来源
- [新浪财经](https://finance.sina.com.cn/) — 数据来源
- [MCP (Model Context Protocol)](https://modelcontextprotocol.io/) — 协议规范
## License
MIT