FinanceMCP-DCTHS
A financial data server integrating Tushare API to provide sector indexes, market trends, and constituent stock data from East Money and Flush. It enables MCP-compatible clients to query comprehensive industry and concept block information through stdio or HTTP modes.
README
FinanceMCP-DCTHS
基于 MCP 协议的金融数据服务器,集成 Tushare API,支持东财和同花顺数据源
📋 功能特性
🎯 六大板块分析工具
同花顺(THS)数据源
-
同花顺板块指数列表 (
get_ths_index)- 获取同花顺概念和行业指数列表
- 支持按指数代码、市场类型、指数类型查询
-
同花顺板块行情 (
get_ths_daily)- 获取同花顺板块指数行情数据
- 包含开盘价、收盘价、涨跌幅、成交量等
-
同花顺板块成分 (
get_ths_member)- 获取同花顺概念板块成分股
- 可查询板块包含的股票或股票所属板块
东方财富(DC)数据源
-
东财板块信息 (
get_dc_index)- 获取东财概念板块每日数据
- 包含领涨股、总市值、涨跌幅等信息
-
东财板块成分 (
get_dc_member)- 获取东财板块成分股数据
- 支持历史成分查询
-
东财板块行情 (
get_dc_daily)- 获取东财板块行情数据
- 支持概念板块、行业板块、地域板块
🔧 两种部署模式
| 特性 | stdio 模式 | HTTP 模式 |
|---|---|---|
| 适用场景 | 本地使用 | 服务器部署 |
| 启动方式 | npx -y financemcp-dcths |
node build/httpServer.js |
| Token 配置 | 环境变量 | 环境变量 + HTTP Header |
| 推荐用途 | 个人使用、快速测试 | 生产部署、多用户 |
🚀 快速开始
方式一:直接使用(推荐)⭐
无需安装,直接使用 npx:
npx -y financemcp-dcths
方式二:从源码构建
# 克隆仓库
git clone https://github.com/guangxiangdebizi/FinanceMCP-DCTHS.git
cd FinanceMCP-DCTHS
# 安装依赖
npm install
🔑 配置 Tushare Token
- 复制环境变量模板:
cp .env.example .env
- 编辑
.env文件,填入你的 Tushare Token:
TUSHARE_TOKEN=你的tushare_token
获取 Token:访问 Tushare 官网 注册并获取免费 Token
🔨 构建项目
npm run build
▶️ 运行服务器
stdio 模式(推荐本地使用)⭐
npm run start:stdio
或通过 npx 直接运行:
npx -y financemcp-dcths
HTTP 模式(服务器部署)
npm run start:http
服务器将在 http://localhost:3000 启动
📱 客户端配置
⭐ stdio 模式配置(推荐)
在 Claude Desktop 配置文件中添加:
位置:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
配置内容:
{
"mcpServers": {
"financemcp-dcths": {
"command": "npx",
"args": ["-y", "financemcp-dcths"],
"env": {
"TUSHARE_TOKEN": "你的tushare_token"
}
}
}
}
🌐 HTTP 模式配置
{
"mcpServers": {
"financemcp-dcths": {
"type": "streamableHttp",
"url": "http://localhost:3000/mcp",
"timeout": 600,
"headers": {
"X-Tushare-Token": "你的tushare_token"
}
}
}
}
HTTP 模式支持三种 Token 传递方式:
- ✅
X-Tushare-Token请求头(推荐) - ✅
X-Api-Key请求头 - ✅
Authorization: Bearer <token>请求头
💡 使用示例
示例 1:查询同花顺概念板块列表
在 Claude 中输入:
查询所有同花顺概念指数
对应的 MCP 调用:
{
"name": "get_ths_index",
"arguments": {
"type": "N"
}
}
示例 2:查询东财板块今日数据
在 Claude 中输入:
查询东财人形机器人板块今天的数据
对应的 MCP 调用:
{
"name": "get_dc_index",
"arguments": {
"name": "人形机器人",
"trade_date": "20231201"
}
}
示例 3:查询同花顺板块行情
在 Claude 中输入:
查询同花顺人工智能板块最近一周的行情
对应的 MCP 调用:
{
"name": "get_ths_daily",
"arguments": {
"ts_code": "885823.TI",
"start_date": "20231201",
"end_date": "20231207"
}
}
示例 4:查询板块成分股
在 Claude 中输入:
查询东财新能源汽车板块包含哪些股票
对应的 MCP 调用:
{
"name": "get_dc_member",
"arguments": {
"ts_code": "BK0001.DC",
"trade_date": "20231201"
}
}
📚 API 参数说明
🔵 同花顺工具参数
get_ths_index - 板块指数列表
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
ts_code |
string | ❌ | 指数代码(如 885823.TI) |
exchange |
string | ❌ | 市场类型:A-A股 HK-港股 US-美股 |
type |
string | ❌ | 指数类型:N-概念指数 I-行业指数 R-地域指数 等 |
get_ths_daily - 板块行情
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
ts_code |
string | ❌ | 指数代码(如 885823.TI) |
trade_date |
string | ❌ | 交易日期(YYYYMMDD) |
start_date |
string | ❌ | 开始日期 |
end_date |
string | ❌ | 结束日期 |
get_ths_member - 板块成分
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
ts_code |
string | ❌ | 板块指数代码(查询该板块的成分股) |
con_code |
string | ❌ | 股票代码(查询该股票所属板块) |
🟢 东方财富工具参数
get_dc_index - 板块信息
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
ts_code |
string | ❌ | 指数代码(支持多个,逗号分隔) |
name |
string | ❌ | 板块名称(如:人形机器人) |
trade_date |
string | ❌ | 交易日期(YYYYMMDD) |
start_date |
string | ❌ | 开始日期 |
end_date |
string | ❌ | 结束日期 |
get_dc_member - 板块成分
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
ts_code |
string | ❌ | 板块指数代码 |
con_code |
string | ❌ | 成分股票代码 |
trade_date |
string | ❌ | 交易日期(支持历史查询) |
get_dc_daily - 板块行情
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
ts_code |
string | ❌ | 板块代码(格式:xxxxx.DC) |
trade_date |
string | ❌ | 交易日期(YYYYMMDD) |
start_date |
string | ❌ | 开始日期 |
end_date |
string | ❌ | 结束日期 |
idx_type |
string | ❌ | 板块类型:概念板块、行业板块、地域板块 |
🔐 Token 安全建议
- ✅ 本地开发:使用
.env文件存储 Token(已在.gitignore中排除) - ✅ 生产部署:使用系统环境变量或 Docker secrets
- ✅ 客户端配置:在客户端配置文件中传递 Token
- ❌ 避免:不要将 Token 硬编码在代码中或提交到 Git
🛠️ 开发指南
项目结构
src/
├── index.ts # stdio 模式入口
├── httpServer.ts # HTTP 模式入口
├── utils/
│ └── tushareClient.ts # Tushare API 客户端
└── tools/
├── thsIndex.ts # 同花顺板块指数列表
├── thsDaily.ts # 同花顺板块行情
├── thsMember.ts # 同花顺板块成分
├── dcIndex.ts # 东财板块信息
├── dcMember.ts # 东财板块成分
└── dcDaily.ts # 东财板块行情
开发模式
# 监听文件变化,自动编译
npm run watch
# 另开终端运行服务器
npm run dev
添加新工具
- 在
src/tools/目录下创建新工具文件 - 实现工具接口(name, description, parameters, run)
- 在
src/index.ts和src/httpServer.ts中导入并注册工具
工具权限要求
所有工具均需要 5000-6000 积分的 Tushare 账号权限。具体权限要求:
get_ths_index: 需要 6000 积分get_ths_daily: 需要 6000 积分get_ths_member: 需要 5000 积分get_dc_index: 需要 6000 积分get_dc_member: 需要 6000 积分get_dc_daily: 需要 6000 积分
🐛 常见问题
Q: 提示 "Tushare token is required"
A: 检查 Token 配置:
- stdio 模式:检查环境变量或客户端配置的
env.TUSHARE_TOKEN - HTTP 模式:检查请求头
X-Tushare-Token或环境变量
Q: 提示 "Tushare API Error: 权限错误"
A: 某些接口需要 Tushare 会员权限,请:
- 访问 Tushare 积分商城
- 查看接口所需积分等级
- 升级账户权限
Q: 返回数据为空
A: 可能原因:
- 日期参数错误(非交易日)
- 股票代码或板块代码错误
- 该日期没有数据
📄 开源协议
Apache-2.0 License - 详见 LICENSE 文件
👤 作者
陈星宇 (Xingyu Chen)
- LinkedIn: Xingyu Chen
- Email: guangxiangdebizi@gmail.com
- GitHub: @guangxiangdebizi
- NPM: @xingyuchen
- NPM 包: financemcp-dcths
🙏 致谢
- Model Context Protocol - MCP SDK
- Tushare Pro - 金融数据 API
- 东方财富 - 数据来源(概念板块、行业板块数据)
- 同花顺 - 数据来源(概念指数、板块行情数据)
⚠️ 数据版权声明
本项目使用的板块数据来源于:
- 同花顺(THS)数据:数据版权归属同花顺。如需商业用途,请联系同花顺获取授权。
- 东方财富(DC)数据:数据版权归属东方财富。如需商业用途,请联系东方财富获取授权。
本工具仅供个人学习和研究使用。
📮 反馈与贡献
欢迎提交 Issue 和 Pull Request!
- 🐛 报告 Bug
- 💡 提出新功能建议
- 📖 改进文档
- 🔧 提交代码
⚠️ 免责声明:
本工具仅供学习和研究使用,数据来源于 Tushare API。使用本工具需要遵守 Tushare 的使用条款。任何投资决策请谨慎,本工具作者不承担任何投资风险和损失。
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。