LabscoMCP early access ↗
buuzzyMCP SERVER

Tushare MCP

Query A-share prices, financial statements and fund data in the conversation, backed by Tushare Pro.

by buuzzy ↗Equity & Fund Market DataCommunity

LABSCO SUMMARY

The batch rewrite is a small thing that fixes a real failure.

Models naturally ask for several codes at once, and the upstream fund endpoints do not accept that — so the server intercepts comma-separated lists, issues the requests one at a time, and stitches the results, which turns a whole class of failed calls into working ones. Setup is easy to get wrong in one place: the token is configured either through the setup tool or a .env file, and it is worth confirming which one is actually in effect before debugging an empty result.

What it is

A Python MCP server that puts Tushare's Chinese market data behind an MCP client. It is organised by domain — basics and quotes, financial statements, funds and ETFs — and runs either as a local stdio server or over Streamable HTTP.

What you get

  • Basics and quotes: get_stock_basic, get_trade_cal, get_stock_company, get_namechange, get_stk_managers, plus daily, weekly and monthly bars
  • Daily indicators through get_daily_basic — turnover, PE, PB, market cap — and get_suspend_d for halts, get_hsgt_top10 for northbound flows
  • Financial statements: get_income_statement, get_balance_sheet, get_cash_flow, get_forecast, get_express, get_fina_indicator, get_fina_mainbz, get_disclosure_date
  • Funds and ETFs: etf_basic, etf_index, etf_share_size, fund_basic, fund_manager, fund_daily, fund_nav, fund_div, fund_portfolio and more
  • Comma-separated code lists work even where the upstream API does not support them — the server splits the request, loops, and joins the frames back together
  • setup_tushare_token configures the credential from inside the conversation, and stores it locally

Requirements

Python 3.10+ and a Tushare token, either set as TUSHARE_TOKEN in a .env file or configured through the setup tool. Data access goes through the tinyshare SDK rather than the official library. Run server.py for Streamable HTTP on port 8000, or with the stdio flag for desktop clients. Trial endpoints are published for evaluating it without a token.

Setup effort

Build from source — git clone https://github.com/buuzzy/tushare_MCP.git tushare_mcp