Skip to main content
Glama
mm2xai

HTZL A Share MCP

by mm2xai
README.md
# HTZL A Share MCP

[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
[![Python](https://img.shields.io/badge/Python-3.11%20%7C%203.12-blue)](https://www.python.org)
[![MCP](https://img.shields.io/badge/MCP-1.29%2B-green)](https://modelcontextprotocol.io)
[![PyPI](https://img.shields.io/badge/PyPI-v0.8.0-blue)](https://pypi.org/project/htzl-a-share-mcp/)
[![codecov](https://img.shields.io/badge/codecov-95%25-brightgreen)](https://codecov.io)

๐Ÿ”ฅ **ๆ…ง้€”ๆ™บ่” A ่‚ก MCP ๆœๅŠก** โ€”โ€” 30 ไธช MCP tools๏ผˆ5 W5 + 25 W6๏ผ‰ ่ฆ†็›–ๆ•ฐๆฎ้‡‡้›†/ๅคง็›˜ๅˆ†ๆž/่ต„้‡‘ๆตๅ‘/ๆถจๅœ่ฟฝ่ธช/ๆŠ€ๆœฏ้ข/ๅŸบๆœฌ้ข/ไผฐๅ€ผ/่ดขๆŠฅ/ๅคšๅ› ๅญ/ๅ›žๆต‹/้ฃŽๆŽง/ๆ™บ่ƒฝๆŠฅๅ‘Š/่‡ช้€‰่‚ก็›‘ๆŽง/้›ช็ƒ่ฐƒไป“ใ€‚**Claude Code / CoWork / OpenClaw / Cherry Studio ้ฆ–้€‰ๆญๆกฃ**ใ€‚

> A-Share MCP for AI Agents โ€” 5400+ A ่‚กไธŠๅธ‚ๅ…ฌๅธ ยท akshare + tushare + ไธœ่ดขๅŒๆบ ยท Apache-2.0

---

## ๐ŸŽฏ ไธบไป€ไนˆ้œ€่ฆ HTZL A Share MCP๏ผŸ

่ฎฉ Claude / GPT / Gemini ็ญ‰ AI Agent ็›ดๆŽฅ่ฐƒ็”จ A ่‚กๆ•ฐๆฎๅˆ†ๆžๅ’Œ็ญ–็•ฅๅทฅๅ…ท๏ผš

- โœ… **30 ไธช MCP tools๏ผˆ5 W5 + 25 W6๏ผ‰** โ€”โ€” ไธ€่กŒ `pip install` ๅฏ็”จๅ…จ้ƒจ่ƒฝๅŠ›
- โœ… **ๅคšๆบๆ•…้šœ่ฝฌ็งป** โ€”โ€” akshare โ†’ tushare โ†’ mock ไธ‰ๅฑ‚ๅ…œๅบ•
- โœ… **้›ช็ƒ้›†ๆˆ** โ€”โ€” pysnowball 1,825โญ Apache-2.0 ๅบ•ๅฑ‚
- โœ… **Claude Code ๅ‹ๅฅฝ** โ€”โ€” stdio ๆจกๅผๅณๆ’ๅณ็”จ
- โœ… **็”Ÿไบงๅฐฑ็ปช** โ€”โ€” pytest 104/104 โœ… + Dockerfile + PyPI + GitHub Actions CI

---

## ๐Ÿš€ ๅฟซ้€Ÿๅผ€ๅง‹

### 1. ๅฎ‰่ฃ…

```bash
pip install htzl-a-share-mcp
```

### 2. ๅฏๅŠจ MCP Server

**stdio ๆจกๅผ๏ผˆๆŽจ่็”จไบŽ Claude Code๏ผ‰๏ผš**

```bash
python -m htzl_a_share_mcp.server --transport stdio
```

**HTTP ๆจกๅผ๏ผˆๆŽจ่็”จไบŽ CoWork / Cherry Studio๏ผ‰๏ผš**

```bash
python -m htzl_a_share_mcp.server --transport streamable-http --host 0.0.0.0 --port 8000
```

### 3. ๅœจ Claude Code ไธญไฝฟ็”จ

```json
// ~/.claude/mcp_servers.json
{
  "mcpServers": {
    "htzl-a-share": {
      "command": "python",
      "args": ["-m", "htzl_a_share_mcp.server", "--transport", "stdio"]
    }
  }
}
```

็„ถๅŽๅœจ Claude Code ๅฏน่ฏไธญ๏ผš

```
ๅธฎๆˆ‘ๅˆ†ๆž่ดตๅทž่Œ…ๅฐ๏ผˆ600519๏ผ‰็š„ๅฝ“ๅ‰ไผฐๅ€ผๅ’Œๆœ€่ฟ‘ไธ€ๅ‘จ็š„่ต„้‡‘ๆตๅ‘
```

---

## ๐Ÿ“Š 30 MCP Tools ๅ…จๆ™ฏ

### ๆ•ฐๆฎๅฑ‚ (5)
- `get_stock_daily` - A ่‚กๆ—ฅ็บฟๆ•ฐๆฎ๏ผˆๅคšๆบๆ•…้šœ่ฝฌ็งป๏ผ‰
- `get_stock_realtime` - A ่‚กๅฎžๆ—ถ่กŒๆƒ…
- `get_stock_basic` - ่‚ก็ฅจๅŸบๆœฌไฟกๆฏ๏ผˆPE/PB/ๅธ‚ๅ€ผ๏ผ‰
- `get_etf_list` - ETF ๅˆ—่กจ
- `get_index_daily` - ๆŒ‡ๆ•ฐๆ—ฅ็บฟ๏ผˆๆฒชๆทฑ300/ๅˆ›ไธšๆฟ็ญ‰๏ผ‰

### ่ต„้‡‘ๆตๅ‘ (2)
- `get_capital_flow` - ไธช่‚ก่ต„้‡‘ๆตๅ‘๏ผˆไธปๅŠ›/ๆ•ฃๆˆท๏ผ‰
- `get_sector_flow` - ๆฟๅ—่ต„้‡‘ๆตๅ‘

### ๆถจๅœ่ฟฝ่ธช (2)
- `get_limit_up_pool` - ๆถจๅœ่‚กๆฑ 
- `get_limit_up_stats` - ๆถจๅœ็ปŸ่ฎก๏ผˆ่ฟžๆฟ็އ/็‚ธๆฟ็އ๏ผ‰

### ๆŠ€ๆœฏ้ข (3)
- `turtle_signal` - ๆตท้พŸไบคๆ˜“ๆณ•ไฟกๅท
- `macd_signal` - MACD ไฟกๅท
- `kdj_signal` - KDJ ้šๆœบๆŒ‡ๆ ‡

### ไผฐๅ€ผ (2)
- `get_pe` - PE ไผฐๅ€ผ
- `get_pb` - PB ไผฐๅ€ผ

### ่ดขๆŠฅ (2)
- `get_income_statement` - ๅˆฉๆถฆ่กจ
- `get_financial_indicators` - ่ดขๅŠกๆŒ‡ๆ ‡

### ๅคšๅ› ๅญ (1)
- `multi_factor_select` - ๅคšๅ› ๅญ้€‰่‚ก

### ๅ›žๆต‹ (3)
- `backtest_turtle` - ๆตท้พŸไบคๆ˜“ๆณ•ๅ›žๆต‹
- `backtest_multi_factor` - ๅคšๅ› ๅญๅ›žๆต‹
- `backtest_compare` - ็ญ–็•ฅๅฏนๆฏ”ๅ›žๆต‹

### ้ฃŽๆŽง (2)
- `risk_var` - VaR ้ฃŽ้™ฉไปทๅ€ผ
- `risk_position_size` - Kelly ๅ…ฌๅผๅคดๅฏธ

### ๆ™บ่ƒฝๆŠฅๅ‘Š (3)
- `generate_daily_report` - ไธช่‚กๆ—ฅๆŠฅ
- `generate_sector_report` - ๆฟๅ—ๅ‘จๆŠฅ
- `generate_portfolio_report` - ็ป„ๅˆๆŒไป“ๆŠฅๅ‘Š

### ่‡ช้€‰่‚ก็›‘ๆŽง (2)
- `add_to_watchlist` - ๅŠ ๅ…ฅ่‡ช้€‰่‚ก
- `get_watchlist_alerts` - ่‡ช้€‰่‚ก้ข„่ญฆ

### ้›ช็ƒ่ฐƒไป“ (2)
- `get_xueqiu_quote` - ้›ช็ƒๅฎžๆ—ถ่กŒๆƒ…
- `track_xueqiu_portfolio` - ้›ช็ƒ็ป„ๅˆ่ฐƒไป“่ฟฝ่ธช

---

## ๐Ÿ—๏ธ ๆžถๆž„

```
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  Claude Code / CoWork / OpenClaw / Cherry Studio        โ”‚
โ”‚  (MCP Client via stdio or HTTP)                          โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                     โ”‚ MCP Protocol
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  HTZL A Share MCP Server (FastMCP 3.4)                  โ”‚
โ”‚  30 Tools (data + strategies + community + push)        โ”‚
โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
     โ”‚         โ”‚         โ”‚             โ”‚
โ”Œโ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ” โ”Œโ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Data   โ”‚ โ”‚Strategyโ”‚ โ”‚Community โ”‚ โ”‚Push       โ”‚
โ”‚ Sourcesโ”‚ โ”‚ Layer  โ”‚ โ”‚ Layer    โ”‚ โ”‚ Layer     โ”‚
โ”‚ akshareโ”‚ โ”‚ turtle โ”‚ โ”‚ xueqiu   โ”‚ โ”‚ feishu    โ”‚
โ”‚ tushareโ”‚ โ”‚ chanlunโ”‚ โ”‚ tracker  โ”‚ โ”‚ alert     โ”‚
โ”‚ mock   โ”‚ โ”‚ factor โ”‚ โ”‚          โ”‚ โ”‚           โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
```

---

## ๐Ÿณ Docker ้ƒจ็ฝฒ

```bash
docker build -t htzl-a-share-mcp .
docker-compose up -d
```

็Žฏๅขƒๅ˜้‡๏ผš
- `HTZL_USE_MOCK` - ๆ˜ฏๅฆไฝฟ็”จ mock ๆ•ฐๆฎ๏ผˆ้ป˜่ฎค `true`๏ผ‰
- `TUSHARE_TOKEN` - Tushare Pro token
- `XUEQIU_TOKEN` - ้›ช็ƒ token
- `FEISHU_WEBHOOK` - ้ฃžไนฆ webhook URL

---

## ๐Ÿ”ง ๅผ€ๅ‘

```bash
git clone https://github.com/mm2xai/htzl-a-share-mcp-demo.git
cd htzl-a-share-mcp-demo

# ๅˆ›ๅปบ่™šๆ‹Ÿ็Žฏๅขƒ
python3.12 -m venv .venv
source .venv/bin/activate

# ๆธ…ๅŽๆบๅŠ ้€Ÿ
pip install -e ".[dev]" -i https://pypi.tuna.tsinghua.edu.cn/simple/

# ๆต‹่ฏ•
pytest tests/ -v
```

---

## ๐Ÿ“š ๆ–‡ๆกฃ

- [ๅฟซ้€Ÿๅ…ฅ้—จ](docs/quickstart.md)
- [Claude Code ้›†ๆˆ](docs/clients/claude-code.md)
- [CoWork ้›†ๆˆ](docs/clients/cowork.md)
- [OpenClaw ้›†ๆˆ](docs/clients/openclaw.md)
- [Cherry Studio ้›†ๆˆ](docs/clients/cherry-studio.md)

---

## ๐Ÿ™ ่‡ด่ฐข

ๆœฌ้กน็›ฎๅŸบไบŽไปฅไธ‹ๅผ€ๆบ้กน็›ฎ๏ผš

- [modelcontextprotocol/servers](https://github.com/modelcontextprotocol/servers) 89,361โญ - MCP ๅฎ˜ๆ–น Servers
- [simonlin1212/a-stock-data](https://github.com/simonlin1212/a-stock-data) 8,490โญ - A ่‚กๅ…จๆ ˆๆ•ฐๆฎ
- [uname-yang/pysnowball](https://github.com/uname-yang/pysnowball) 1,825โญ - ้›ช็ƒ Python SDK
- [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) 1,180โญ - PyPI ๅ‘ๅธƒ Action
- [python-semantic-release](https://github.com/python-semantic-release/python-semantic-release) 1,047โญ - SemVer ่‡ชๅŠจๅŒ–
- [TauricResearch/TradingAgents](https://github.com/TauricResearch/TradingAgents) 22,015โญ - ๅคš Agent ไบคๆ˜“ๆก†ๆžถ
- [HKUDS/AI-Trader](https://github.com/HKUDS/AI-Trader) 21,216โญ - ๅ…จ่‡ชๅŠจ Agent ไบคๆ˜“
- [BlockRunAI/awesome-finance-mcp](https://github.com/BlockRunAI/awesome-finance-mcp) 182โญ - ้‡‘่ž MCP ๆ”ถๅฝ•
- [Krish-Sachdev-7/EquityMCP](https://github.com/Krish-Sachdev-7/MCP_Server_Finances) - ๅฐๅบฆ่‚ก MCP ๆ ‡ๆ†
- [github/github-mcp-server](https://github.com/github/github-mcp-server) 32,082โญ - GitHub ๅฎ˜ๆ–น MCP
- [fastmcp](https://github.com/jlowin/fastmcp) - FastMCP ๆก†ๆžถ
- [akshare](https://github.com/akfamily/akshare) - A ่‚กๆ•ฐๆฎๆบ
- [tushare](https://github.com/waditu/tushare) - Tushare Pro ๆ•ฐๆฎๆบ

---

## ๐Ÿ“„ License

Apache-2.0 ยฉ [htzl.ai](https://htzl.ai)

---

## ๐Ÿ—บ๏ธ Roadmap

--- ๆ•ดๆฎต้‡ๅ†™ ---
- **v0.8 (2027-02)** โ€” 36 skills๏ผŒๅคšๅธ‚ๅœบ๏ผˆๆธฏ่‚ก/็พŽ่‚ก๏ผ‰
- **v0.9 (2027-05)** โ€” 42 skills๏ผŒLLM ๅขžๅผบ้€‰่‚ก
- **v1.0 (2027-11)** โ€” 50+ skills๏ผŒ็คพๅŒบๅŒ–๏ผŒ็›ฎๆ ‡ 1,000โญ