使用说明
Tushare MCP服务
基于Tushare API的MCP(Model Context Protocol)服务,提供股票实时股价、日K、历史K线查看功能。
技术栈
- 框架: Koa + TypeScript + Vite
- 数据源: Tushare API
- 协议: MCP (Model Context Protocol)
功能
- 实时股价查看 - 获取股票最新行情数据
- 日K线查看 - 获取股票日K线数据
- 历史K线查看 - 获取股票历史K线数据(支持日K、周K、月K)
安装
npm install
配置
获取Tushare Token
- 访问 Tushare官网
- 注册账号并获取API Token
设置环境变量
# Windows
set TUSHARE_TOKEN=your_token_here
# Linux/Mac
export TUSHARE_TOKEN=your_token_here
使用方式
方式一:MCP服务器模式
作为MCP服务器运行,供MCP客户端调用:
# 设置环境变量
export TUSHARE_TOKEN=your_token
# 运行MCP服务器
npm start -- --mcp
# 或
MCP_MODE=true npm start
方式二:HTTP API模式
作为HTTP服务器运行,提供RESTful API:
# 设置环境变量
export TUSHARE_TOKEN=your_token
export HTTP_PORT=3000 # 可选,默认3000
# 运行HTTP服务器
npm start
API接口
1. 健康检查
GET /health
2. 获取实时行情
GET /api/realtime/:tsCode
参数:
tsCode: 股票代码,格式:000001.SZ(深交所)或600000.SH(上交所)
示例:
curl http://localhost:3000/api/realtime/000001.SZ
3. 获取日K线
GET /api/daily/:tsCode
参数:
tsCode: 股票代码start_date(可选): 开始日期,格式:YYYYMMDDend_date(可选): 结束日期,格式:YYYYMMDDlimit(可选): 返回数据条数限制
示例:
curl "http://localhost:3000/api/daily/000001.SZ?limit=10"
curl "http://localhost:3000/api/daily/000001.SZ?start_date=20240101&end_date=20240131"
4. 获取历史K线
GET /api/history/:tsCode
参数:
tsCode: 股票代码period(可选): K线周期,可选值:daily(日K)、weekly(周K)、monthly(月K),默认:dailystart_date(可选): 开始日期,格式:YYYYMMDDend_date(可选): 结束日期,格式:YYYYMMDDlimit(可选): 返回数据条数限制
示例:
curl "http://localhost:3000/api/history/000001.SZ?period=weekly&limit=20"
curl "http://localhost:3000/api/history/600000.SH?period=monthly&start_date=20240101"
MCP工具
当以MCP模式运行时,提供以下工具:
1. get_realtime_quote
获取股票实时行情数据
参数:
ts_code(必需): 股票代码,格式:000001.SZ 或 600000.SH
2. get_daily_kline
获取股票日K线数据
参数:
ts_code(必需): 股票代码start_date(可选): 开始日期,格式:YYYYMMDDend_date(可选): 结束日期,格式:YYYYMMDDlimit(可选): 返回数据条数限制
3. get_history_kline
获取股票历史K线数据(支持日K、周K、月K)
参数:
ts_code(必需): 股票代码period(可选): K线周期:daily(日K)、weekly(周K)、monthly(月K),默认:dailystart_date(可选): 开始日期,格式:YYYYMMDDend_date(可选): 结束日期,格式:YYYYMMDDlimit(可选): 返回数据条数限制
开发
# 开发模式(需要配置vite)
npm run dev
# 类型检查
npm run type-check
# 构建
npm run build
# 运行测试(需要先设置TUSHARE_TOKEN环境变量)
npm test
# 构建后运行测试
npm run test:build
# 测试HTTP API(需要先启动HTTP服务器)
npm run test:http
股票代码格式说明
- 深交所:
000001.SZ(如:平安银行) - 上交所:
600000.SH(如:浦发银行) - 创业板:
300001.SZ - 科创板:
688001.SH
注意事项
- 需要有效的Tushare API Token才能使用
- Tushare API有调用频率限制,请合理使用
- 股票代码必须包含交易所后缀(.SZ 或 .SH)
- 日期格式必须为 YYYYMMDD(如:20240101)
许可证
MIT