iTick MCP Server
基于 iTick API 的金融数据 MCP 服务器,使用 FastAPI 实现,为 Claude 等 AI 助手提供实时股票行情数据。
🌟 功能特色
- 实时行情:支持全球多市场股票实时报价(A股、港股、美股等)
- K线数据:获取多周期 K线数据(分钟线、日线、周线、月线)
- Tick数据:逐笔成交数据,毫秒级延迟
- 盘口深度:五档/十档买卖盘口数据
- 多市场覆盖:支持17+个国家和地区的股票市场
📋 支持的市场
⚠️ 市场支持说明:
- ✅ A股市场(沪深):完全支持,包括所有指数和个股
- ❓ 港股市场:需要专业版API订阅
- ❓ 美股市场:需要旗舰版API订阅
- 💡 建议:基础版API Key优先使用A股数据
详细说明请查看 MARKET_SUPPORT.md
| 市场代码 | 市场名称 | 支持状态 | 示例代码 |
|---|---|---|---|
| SH | 上海 | ✅ 完全支持 | 600519 (茅台) |
| SZ | 深圳 | ✅ 完全支持 | 000001 (平安银行) |
| HK | 香港 | ❓ 需订阅 | 700 (腾讯) |
| US | 美国 | ❓ 需订阅 | AAPL (苹果) |
| SG | 新加坡 | ❓ 需订阅 | - |
| JP | 日本 | ❓ 需订阅 | - |
| TW | 台湾 | ❓ 需订阅 | - |
| ... | 其他 | ❓ 需订阅 | 见 iTick 文档 |
🚀 快速开始
1. 安装依赖
cd itick-mcp
pip install -r requirements.txt2. 配置 API Key
创建 .env 文件:
cp .env.example .env编辑 .env 文件,填入您的 iTick API Key:
ITICK_API_KEY=your_itick_api_key_here
PORT=3000如何获取 iTick API Key:
- 访问 iTick 官网
- 使用 Google 或 GitHub 账号登录
- 在 Dashboard 中获取 API Key
3. 启动服务
# 开发模式(自动重载)
uvicorn src.server:app --reload --port 3000
# 生产模式
uvicorn src.server:app --host 0.0.0.0 --port 3000服务启动后:
- MCP 端点:
http://localhost:3000/mcp - 健康检查:
http://localhost:3000/health - API 文档:
http://localhost:3000/docs
4. 配置 Claude Desktop
编辑 Claude Desktop 配置文件:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json
添加以下配置:
{
"mcpServers": {
"itick-stock": {
"type": "streamableHttp",
"url": "http://localhost:3000/mcp",
"timeout": 600,
"headers": {
"X-Itick-Token": "your_itick_api_key_here"
}
}
}
}🛠️ 可用工具
1. itick_stock_quote - 实时股票报价
获取股票实时行情数据。
参数:
region(必填): 市场代码(如 HK, US, SH, SZ)code(必填): 股票代码(如 700, AAPL, 600519)
示例:
"查询腾讯控股(00700.HK)的实时报价"
"获取苹果公司(AAPL)最新股价"2. itick_stock_kline - K线数据
获取股票K线数据,支持多周期。
参数:
region(必填): 市场代码code(必填): 股票代码start_date(必填): 起始日期 (YYYYMMDD)end_date(必填): 结束日期 (YYYYMMDD)period(可选): 周期类型,默认 'day'
- 1min, 5min, 15min, 30min, 60min - 分钟线 - day - 日线 - week - 周线 - month - 月线
示例:
"获取茅台(600519.SH)最近30天的日K线"
"查看比亚迪(002594.SZ) 2024年1月1日到3月31日的周K线"3. itick_stock_tick - Tick数据
获取逐笔成交数据。
参数:
region(必填): 市场代码code(必填): 股票代码
示例:
"查看宁德时代(300750.SZ)的实时Tick数据"4. itick_stock_depth - 盘口深度
获取五档/十档买卖盘数据。
参数:
region(必填): 市场代码code(必填): 股票代码
示例:
"查看阿里巴巴(09988.HK)的盘口深度"5. current_timestamp - 当前时间
获取当前东八区时间戳。
参数:
format(可选): 时间格式
- datetime - 完整日期时间(默认) - date - 仅日期 - time - 仅时间 - timestamp - Unix时间戳 - readable - 可读格式
示例:
"获取当前时间"
"查看今天的日期"🆕 6. itick_technical_indicators - 技术指标分析
计算股票的技术指标,包括MACD、RSI、KDJ、BOLL、MA等。
参数:
region(必填): 市场代码code(必填): 股票代码indicators(可选): 指标列表,默认 ["macd", "rsi"]
- macd - MACD指标(趋势跟踪) - rsi - 相对强弱指标(超买超卖) - kdj - 随机指标 - boll - 布林带 - ma - 移动平均线 - ema - 指数移动平均线 - all - 全部指标
period(可选): K线周期,默认 "day"limit(可选): 数据条数,默认200
示例:
"计算腾讯(700.HK)的MACD和RSI指标"
"分析茅台(600519.SH)的KDJ超买超卖情况"
"查看苹果(AAPL)的布林带和均线系统"🆕 7. itick_money_flow - 资金流向分析
分析股票的资金流向分布,包括主力资金、大单、中单、小单的流入流出。
参数:
region(必填): 市场代码code(必填): 股票代码period(可选): 分析周期,默认 "day"days(可选): 分析天数,默认10
核心指标:
- 🐋 超大单(≥50万)- 机构/大户资金
- 🐘 大单(20-50万)- 中大户资金
- 🐕 中单(5-20万)- 中户资金
- 🐁 小单( Dict[str, Any]:
# 实现逻辑 return { "content": [{ "type": "text", "text": "返回内容" }] }
3. 在 `server.py` 中注册工具
## 🐳 Docker 部署
构建镜像
docker build -t itick-mcp .
运行容器
docker run -d \ -p 3000:3000 \ -e ITICK_API_KEY=your_api_key \ --name itick-mcp \ itick-mcp
## 📊 API 错误码
| 错误码 | 说明 | 解决方案 |
|-------|------|---------|
| E001 | 产品不存在 | 检查股票代码是否正确 |
| E002 | 认证失败 | 检查 API Key 是否有效 |
| E003 | 超过订阅限制 | 联系客服升级套餐或减少订阅 |
## 🔗 相关链接
- [iTick 官网](https://itick.org/)
- [iTick API 文档](https://docs.itick.org/)
- [FinanceMCP 参考项目](https://github.com/guangxiangdebizi/FinanceMCP)
- [MCP 协议规范](https://modelcontextprotocol.io/)
## 📄 许可证
MIT License
## 👨💻 作者
基于 iTick API 和 MCP 协议构建
---
⭐ 如果这个项目对您有帮助,欢迎 Star!