Skip to main content
Glama
buuzzy
by buuzzy

Tushare MCP 📈

基于 MCP (Model Context Protocol) 协议构建的 A 股金融数据 AI 助手扩展 (v0.1.0)


Tushare MCP 是一款连接 AI(Claude, Cursor)与 Tushare 金融大数据的桥梁。它实现了 Model Context Protocol (MCP) 标准,让你的 AI 助手能够直接调用 30+ 个专业金融数据接口,实时查询股票行情、财务报表、公司基本面等关键数据。

本项目采用了更为方便、平价的 tinyshare SDK,替代了官方的 tushare 库。使用下述依赖:

import tinyshare as ts

如果你完全不知道如何使用,请阅读下方腾讯文档: Tushare MCP 使用说明

如果你想通过添加 mcp server 直接使用,忽略繁琐过程,可以联系我试用: 微信:Buuzzy0603


2025.02.16 重构

本次迭代实现了从单文件脚本向模块化工程的重构。我们将原来的单体 server.py 拆分为 server.py (仅负责服务编排与路由)、 tools/ (按业务领域拆分的逻辑核心) 以及 utils/ (基础设施) 三层架构。此改动彻底解耦了服务启动与业务逻辑,使得每个 Tushare 接口(如行情、财务)拥有独立的文件空间,显著提升了代码的可维护性与扩展性,为后续接入更多数据源和多人协作奠定了坚实的工程基础。

Related MCP server: A Share MCP

🌟 核心功能

1. 🤖 完美适配主流 AI 客户端

  • Claude Desktop: 标准 Streamable HTTP / Stdio 模式支持,本地直接运行。

  • Cursor IDE: 在编辑器中直接询问代码相关的股票数据,辅助金融编程。

2. 📊 全维度数据覆盖

  • 基础数据: 股票列表、IPO 新股、交易日历、上市公司基本面。

  • 行情数据: 日/周/月线行情、每日指标(PE/PB/市值)、涨跌停分析。

  • 财务报表: 利润表、资产负债表、现金流量表、业绩预告、主营业务构成。

  • 特色数据: 沪深港通十大成交股、融资融券、股权质押。

3. 🛠 智能 Token 管理

  • 一键配置: 提供 setup_tushare_token 工具,对话即可完成配置。

  • 本地加密: Token 安全存储于本地环境,无需重复输入。

  • 自动验证: 启动时自动检查 Token 有效性。

4. ⚡ 高性能架构

  • Streamable HTTP: 基于 MCP SDK 原生 Streamable HTTP 传输协议,取代旧版 SSE。

  • Tinyshare SDK: 深度优化的 Tushare 接口封装,支持重试与异常处理。

🏗️ 技术架构

graph TD Client(["AI Client (Claude / Cursor)"]) -->|MCP Protocol (Streamable HTTP / Stdio)| MCPServer[Tushare MCP Server] MCPServer -->|Tool Execution| Tools[Tool Implementation] Tools -->|Data Request| SDK[Tinyshare SDK] SDK -->|HTTP API| Tushare[("Tushare Pro API")] Tushare -->|JSON Data| SDK SDK -->|Structured Result| Tools Tools -->|Context| MCPServer MCPServer -->|Answer| Client

🚀 快速开始

1. 环境准备

确保已安装 python 3.10+。

# 1. 克隆项目 git clone <repository-url> tushare_mcp cd tushare_mcp # 2. 创建虚拟环境 python3 -m venv venv source venv/bin/activate # macOS/Linux # venv\Scripts\activate # Windows # 3. 安装依赖 pip install -r requirements.txt

2. 配置说明

你也可以通过环境变量手动配置:

# 创建配置文件 touch .env # 写入 Token(推荐使用 MCP 工具 setup_tushare_token 自动配置) echo "TUSHARE_TOKEN=你的token" >> .env

3. 启动服务

方式 A: HTTP Server (Streamable HTTP 模式) - 推荐

适用于 Cursor 等支持远程 MCP 的客户端。

python server.py # 服务将运行在 http://localhost:8000 # MCP 端点: http://localhost:8000/mcp

方式 B: Stdio 模式

适用于 Claude Desktop 本地集成。

python server.py --stdio

🔌 客户端连接

Cursor 配置

  1. 打开 Cursor Settings -> Features -> MCP

  2. 点击 "+ Add New MCP Server"

  3. 填写信息:

    • Name: tushare

    • Type: Streamable HTTP

    • URL: http://localhost:8000/mcp

Claude Desktop 配置

编辑配置文件 ~/Library/Application Support/Claude/claude_desktop_config.json:

{ "mcpServers": { "tushare": { "command": "/绝对路径/至/你的/venv/bin/python", "args": [ "/绝对路径/至/你的/tushare_mcp/server.py", "--stdio" ] } } }

🧰 工具列表

📈 基础与行情 (Stock)

工具名

说明

get_stock_basic

获取 A 股基础信息列表(代码、名称、上市日期等)

get_trade_cal

获取各大交易所交易日历

get_stock_company

获取上市公司基本信息(注册资本、法人、简介)

get_namechange

历史名称变更记录

get_stk_managers

上市公司管理层主要成员

get_daily

A 股日线行情(开高低收、成交量)

get_weekly / get_monthly

周线 / 月线行情

get_daily_basic

每日指标(换手率、量比、PE、PB、总市值)

get_suspend_d

每日停复牌信息

get_hsgt_top10

沪深股通十大成交股

💰 财务数据 (Finance)

工具名

说明

get_income_statement

利润表

get_balance_sheet

资产负债表

get_cash_flow

现金流量表

get_forecast

业绩预告

get_express

业绩快报

get_fina_indicator

财务指标数据(EPS、ROE、毛利率等)

get_fina_mainbz

主营业务构成

get_disclosure_date

财报披露计划日期

完整工具列表请查阅 tools/ 目录或启动服务后访问 API 文档。

📁 项目结构

tushare_MCP/ ├── api_docs/ # 原始 Tushare API 文档参考 ├── mcp_test/ # MCP 工具测试记录 ├── tools/ # MCP 工具实现核心代码 │ ├── finance/ # 财务类工具 (income, balance, cashflow...) │ └── stock/ │ ├── basic/ # 基础数据工具 (stock_basic, trade_cal...) │ └── quote/ # 行情数据工具 (daily, weekly, hsgt...) ├── utils/ # 通用工具函数 (logger, token_manager) ├── server.py # MCP Server 入口 (FastAPI + FastMCP) ├── requirements.txt # 项目依赖 └── README.md # 项目文档

📄 License

MIT


-
security - not tested
A
license - permissive license
-
quality - not tested

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/buuzzy/tushare_MCP'

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