Skip to main content
Glama

项目简介

xcsc-tushare-mcp 是一个基于 FastMCP 框架开发的 MCP(Model Context Protocol)服务器,支持 stdioHTTP 两种传输方式,为 AI 助手提供湘财证券 Tushare 金融数据接口。

主要特性

  • 🎯 两种传输方式 - 支持 stdio(默认,推荐)和 HTTP 两种模式

  • 🚀 HTTP 传输协议 - 支持 streamable-http 传输,适合远程部署

  • 🔐 API Key 认证 - HTTP 模式下支持 Bearer Token 认证,保护 API 安全

  • 📊 丰富的数据类型 - 覆盖沪深股票、指数、公募基金、共同基金、期货、期权、债券等

  • 🔄 动态元数据更新 - 自动检测 references/ 目录变化,重新生成 API 元数据

  • 🔧 3 个核心工具 - 简化设计,通过 get_api_list、get_api_doc、get_api_query 完成所有操作

  • 📚 完整的接口文档 - 内置 API 列表和文档查询工具

Related MCP server: Tushare_MCP

项目结构

xcsc-tushare-mcp/
├── src/
│   └── xcsc_tushare_mcp/      # 主包目录
│       ├── __init__.py        # 包初始化
│       ├── __main__.py        # 命令行入口
│       ├── server.py          # 服务器主模块
│       ├── tools.py           # 3 个核心工具
│       ├── config.py          # 配置管理
│       ├── auth.py            # 认证中间件
│       ├── metadata.py        # 元数据生成和加载
│       ├── api_metadata.json  # 缓存的 API 元数据
│       ├── py.typed           # 类型提示标记
│       └── references/        # API 文档源文件(约 90 个 .md)
│           ├── 债券/
│           ├── 公募基金/
│           ├── 共同基金/
│           ├── 指数/
│           ├── 期权/
│           ├── 期货/
│           └── 沪深股票/
├── pyproject.toml             # 项目配置
├── requirements.txt           # 依赖列表
└── README.md                  # 项目文档

安装方法

通过 pip 安装

pip install xcsc-tushare-mcp

通过 UVX 直接运行(推荐)

uvx xcsc-tushare-mcp

下载源码安装

git clone https://github.com/duhanjun/xcsc-tushare-mcp.git
cd xcsc-tushare-mcp
pip install -e .

配置说明

1. 获取 XCSC Tushare Token

湘财证券开户,找客户经理开通 XCSC Tushare 服务,获取 API token。

2. 配置环境变量

# Linux/macOS
export XCSC_TUSHARE_TOKEN="your_token_here"

# Windows PowerShell
$env:XCSC_TUSHARE_TOKEN = "your_token_here"

# Windows CMD
set XCSC_TUSHARE_TOKEN=your_token_here

3. 传输方式配置(可选)

服务器默认使用 stdio 模式(推荐),也可以使用 HTTP 模式。

使用 stdio 模式(默认):

# 无需额外配置,默认就是 stdio

使用 HTTP 模式:

# Linux/macOS
export MCP_TRANSPORT=http

# Windows PowerShell
$env:MCP_TRANSPORT = "http"

# Windows CMD
set MCP_TRANSPORT=http

4. HTTP 模式认证配置(仅 HTTP 模式需要)

HTTP 模式默认启用 API Key 认证,未自定义 API Key 时,启动时会自动生成一个随机 API Key。

自定义 API Key(推荐):

# Linux/macOS
export MCP_API_KEY="your_api_key_here"

# Windows PowerShell
$env:MCP_API_KEY = "your_api_key_here"

# Windows CMD
set MCP_API_KEY=your_api_key_here

禁用认证(不推荐,仅限内网测试):

# Linux/macOS
export MCP_AUTH_ENABLED=false

# Windows PowerShell
$env:MCP_AUTH_ENABLED = "false"

# Windows CMD
set MCP_AUTH_ENABLED=false

5. 其他配置(可选)

环境变量

描述

默认值

XCSC_TUSHARE_SERVER

XCSC Tushare 服务器地址

http://tushare.xcsc.com:7172

XCSC_ENV

运行环境

prd

MCP_TRANSPORT

传输方式,stdiohttp

stdio

MCP_HOST

服务器监听地址(仅 HTTP)

0.0.0.0

MCP_PORT

服务器监听端口(仅 HTTP)

8000

MCP_PATH

MCP 服务路径(仅 HTTP)

/mcp

MCP_NAME

服务名称

xcsc-tushare-mcp

MCP_AUTH_ENABLED

是否启用认证(仅 HTTP)

true

MCP_LOG_LEVEL

日志级别

INFO

使用方法

方式一:使用 stdio 模式(推荐,最简单)

这是最简单的方式,可以直接在 MCP 客户端配置中使用,无需单独启动服务器。

1. 配置 MCP 客户端:

{
  "mcpServers": {
    "xcsc-tushare": {
      "command": "uvx",
      "args": [
        "xcsc-tushare-mcp"
      ],
      "env": {
        "XCSC_TUSHARE_TOKEN": "your_token_here"
      }
    }
  }
}

或者如果已经安装了包:

{
  "mcpServers": {
    "xcsc-tushare": {
      "command": "xcsc-tushare-mcp",
      "env": {
        "XCSC_TUSHARE_TOKEN": "your_token_here"
      }
    }
  }
}

方式二:使用 HTTP 模式

如果需要远程部署或多个客户端共享,可以使用 HTTP 模式。

1. 启动服务器:

# 设置必要的环境变量
export XCSC_TUSHARE_TOKEN="your_token_here"
export MCP_TRANSPORT=http

# 启动服务器
xcsc-tushare-mcp

启动后会显示:

正在启动 xcsc-tushare-mcp...
版本: 1.1.0
传输方式: http
XCSC Tushare Token: your_toke***
运行环境: prd
服务地址: http://0.0.0.0:8000/mcp
认证状态: 已启用
API Key: xxxxxxxx...xxxx

2. 配置 MCP 客户端:

{
  "mcpServers": {
    "xcsc-tushare": {
      "url": "http://localhost:8000/mcp",
      "headers": {
        "Authorization": "Bearer your_api_key_here"
      }
    }
  }
}

可用工具

本服务提供 3 个核心工具

1. get_api_list()

获取所有可用 API 的简化列表(只包含名称和描述)。

返回格式:

{
  "success": true,
  "total_apis": 91,
  "data": {
    "stock_basic": {
      "api_name": "stock_basic",
      "description": "获取中国A股基本资料",
      "category": "沪深股票_基础数据"
    },
    ...
  }
}

2. get_api_doc(api_name)

获取指定 API 的详细文档(参数、输出字段、示例)。

参数:

  • api_name: API 名称,如 "stock_basic"

返回格式:

{
  "success": true,
  "data": {
    "api_name": "stock_basic",
    "description": "获取中国A股基本资料",
    "category": "沪深股票_基础数据",
    "limit": "单次最大5000条",
    "permission": "基础权限",
    "input_params": [
      {"name": "ts_code", "type": "str", "required": false, "description": "股票代码"},
      ...
    ],
    "output_params": [
      {"name": "ts_code", "type": "str", "description": "股票代码"},
      ...
    ],
    "example": "get_api_query('stock_basic', '{\"ts_code\": \"000001.SZ\"}')"
  }
}

3. get_api_query(api_name, params)

通用查询接口,调用底层 XCSC Tushare API。

参数:

  • api_name: API 名称,如 "stock_basic"

  • params: JSON 格式的参数字符串,如 '{"ts_code": "000001.SZ"}'

返回格式:

{
  "success": true,
  "data": [...],
  "count": 100,
  "columns": ["ts_code", "name", "industry", ...]
}

使用流程

  1. 获取 API 列表

    调用 get_api_list() 查看所有可用 API
  2. 获取 API 文档

    调用 get_api_doc("stock_basic") 获取参数说明
  3. 执行查询

    调用 get_api_query("stock_basic", '{"ts_code": "000001.SZ"}') 获取数据

交互示例

安装并配置后,您可以通过 MCP 客户端用自然语言与 AI 助手交互:

获取股票数据:

获取平安银行最近 30 天的股价数据

财务分析:

查看招商银行最近的财务报表,分析营收和净利润

指数数据:

获取上证指数最近的行情数据

基金数据:

查询某只基金的净值和持仓情况

参数格式

  • 日期格式:YYYYMMDD(如 20241231)

  • 股票代码:ts_code 格式(如 000001.SZ, 600000.SH)

  • 返回格式:JSON 格式,包含 success、data、count、columns 字段

  • params 格式:JSON 字符串,如 '{"ts_code": "000001.SZ", "trade_date": "20240101"}'

接口更新

项目支持动态更新XCSC Tushare API 接口:

  1. 修改 references/ 目录中的 .md 文件

  2. 重启服务器

  3. 服务器会自动检测变化并重新生成 api_metadata.json

这样您可以:

  • 添加新的 XCSC Tushare API 文档

  • 修改现有 XCSC Tushare API 的描述或参数

  • 无需修改代码即可更新 XCSC Tushare API 列表

开发指南

本地开发

# 克隆项目
git clone https://github.com/duhanjun/xcsc-tushare-mcp.git
cd xcsc-tushare-mcp

# 安装开发依赖
pip install -e ".[dev]"

# 运行服务
python -m xcsc_tushare_mcp

打包发布

# 安装打包工具
pip install build twine

# 打包
python -m build

# 上传到 PyPI
twine upload dist/*

相关链接

许可证

MIT License

注意事项

  • 本项目仅供学习和研究使用

  • XCSC Tushare API 调用有频率限制,请合理使用

  • 数据来源于 XCSC Tushare,请勿用于商业用途

A
license - permissive license
-
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/duhanjun/xcsc-tushare-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server