npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

financemcp-dcths

v1.0.3

Published

MCP Server for Chinese Stock Market Sector Analysis - Supports TongHuaShun (THS) and DongCai (DC) sector data via Tushare API

Downloads

113

Readme

FinanceMCP-DCTHS

npm version License Downloads

基于 MCP 协议的金融数据服务器,集成 Tushare API,支持东财和同花顺数据源

📋 功能特性

🎯 六大板块分析工具

同花顺(THS)数据源

  1. 同花顺板块指数列表 (get_ths_index)

    • 获取同花顺概念和行业指数列表
    • 支持按指数代码、市场类型、指数类型查询
  2. 同花顺板块行情 (get_ths_daily)

    • 获取同花顺板块指数行情数据
    • 包含开盘价、收盘价、涨跌幅、成交量等
  3. 同花顺板块成分 (get_ths_member)

    • 获取同花顺概念板块成分股
    • 可查询板块包含的股票或股票所属板块

东方财富(DC)数据源

  1. 东财板块信息 (get_dc_index)

    • 获取东财概念板块每日数据
    • 包含领涨股、总市值、涨跌幅等信息
  2. 东财板块成分 (get_dc_member)

    • 获取东财板块成分股数据
    • 支持历史成分查询
  3. 东财板块行情 (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

  1. 复制环境变量模板:
cp .env.example .env
  1. 编辑 .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 传递方式:

  1. X-Tushare-Token 请求头(推荐)
  2. X-Api-Key 请求头
  3. 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

添加新工具

  1. src/tools/ 目录下创建新工具文件
  2. 实现工具接口(name, description, parameters, run)
  3. src/index.tssrc/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 配置:

  1. stdio 模式:检查环境变量或客户端配置的 env.TUSHARE_TOKEN
  2. HTTP 模式:检查请求头 X-Tushare-Token 或环境变量

Q: 提示 "Tushare API Error: 权限错误"

A: 某些接口需要 Tushare 会员权限,请:

  1. 访问 Tushare 积分商城
  2. 查看接口所需积分等级
  3. 升级账户权限

Q: 返回数据为空

A: 可能原因:

  1. 日期参数错误(非交易日)
  2. 股票代码或板块代码错误
  3. 该日期没有数据

📄 开源协议

Apache-2.0 License - 详见 LICENSE 文件

👤 作者

陈星宇 (Xingyu Chen)

🙏 致谢

⚠️ 数据版权声明

本项目使用的板块数据来源于:

  • 同花顺(THS)数据:数据版权归属同花顺。如需商业用途,请联系同花顺获取授权。
  • 东方财富(DC)数据:数据版权归属东方财富。如需商业用途,请联系东方财富获取授权。

本工具仅供个人学习和研究使用。

📮 反馈与贡献

欢迎提交 Issue 和 Pull Request!

  • 🐛 报告 Bug
  • 💡 提出新功能建议
  • 📖 改进文档
  • 🔧 提交代码

⚠️ 免责声明

本工具仅供学习和研究使用,数据来源于 Tushare API。使用本工具需要遵守 Tushare 的使用条款。任何投资决策请谨慎,本工具作者不承担任何投资风险和损失。