About akshare-one-mcp
akshare-one-mcp provides MCP tools for retrieving Chinese stock market data through akshare-one. It covers historical and real-time prices, news, financial statements, insider trades, and metrics, with configurable source fallback for most data calls.
Key features
- 01Retrieve historical and real-time stock data
- 02Fetch stock-related news
- 03Access financial statements and metrics
- 04Get insider trading data
- 05Add technical indicators to historical data
- 06Fall back across data sources
Use cases
- 01Review historical prices and technical indicators
- 02Check current stock data and related news
- 03Retrieve company financial statements and metrics
MCP support
The server exposes Chinese stock market data tools to MCP clients, using stdio or Streamable HTTP transport. Most tools allow a preferred source and can try other sources when a request fails or returns no data.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
9Saved tool list · updated 4d ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| adjust | enum | No | Adjustment typenone | qfq | hfq |
| source | enum | No | Data sourceeastmoney | eastmoney_direct | sina |
| symbol | string | Yes | Stock symbol/ticker (e.g. '000001') |
| end_date | string | No | End date in YYYY-MM-DD format |
| fallback | boolean | No | Try the domain's other data sources when this one fails or has no data |
| interval | enum | No | Time intervalminute | hour | day | week | month | year |
| recent_n | any | No | Number of most recent records to return |
| start_date | string | No | Start date in YYYY-MM-DD format |
| indicators_list | any | No | Technical indicators to add |
| interval_multiplier | integer | No | Interval multiplier |
Details
From the project READMEAKShare One MCP Server
Overview
An MCP server based on akshare-one, providing comprehensive interfaces for China stock market data. It offers a set of powerful tools for retrieving financial information including historical stock data, real-time data, news data, and financial statements.
Available Tools
Automatic source fallback
Except for get_inner_trade_data, whose upstream exposes a single source, every data tool takes a source parameter for the preferred data source and a fallback parameter (on by default) that decides whether the other sources of the same domain are tried when that source raises or returns an empty frame:
| Domain | Order tried |
|---|---|
| Historical | eastmoney → eastmoney_direct → sina → ths |
| Real-time | eastmoney_direct → eastmoney → xueqiu → ths (the last two are skipped when no symbol is given) |
| News | eastmoney → ths |
| Financial statements | sina ⇄ eastmoney_direct |
The requested source is always tried first; the order only governs the fallback. Because akshare-one projects every source onto its domain's declared columns, falling back cannot change the field names or their order. When every source fails, the error lists each one and why it failed; when every source succeeds but has no data, an empty result is returned. Set fallback to false to pin a single source — a failure then surfaces directly, which is useful when you need to know exactly where the numbers came from.
The source that actually served a call is logged under the akshare_one_mcp.providers logger.
Market Data Tools
get_hist_data
Get historical stock market data with support for multiple time periods and adjustment methods.
Parameters
symbol(string, required): Stock code (e.g. '000001')interval(string, optional): Time interval ('minute','hour','day','week','month','year') (default: 'day')interval_multiplier(number, optional): Interval multiplier (default: 1)start_date(string, optional): Start date in YYYY-MM-DD format (default: '1970-01-01')end_date(string, optional): End date in YYYY-MM-DD format (default: '2030-12-31')adjust(string, optional): Adjustment type ('none', 'qfq', 'hfq') (default: 'none')source(string, optional): Data source ('eastmoney', 'eastmoney_direct', 'sina', 'ths') (default: 'eastmoney')fallback(boolean, optional): Try 'eastmoney', 'eastmoney_direct', 'sina' and 'ths' in order when the chosen source fails or has no data (default: true)indicators_list(list, optional): Technical indicators to addrecent_n(number, optional): Number of most recent records to return (default: 100)
get_realtime_data
Get real-time stock market data.
Parameters
symbol(string, optional): Stock codesource(string, optional): Data source ('eastmoney_direct', 'eastmoney', 'xueqiu', 'ths') (default: 'eastmoney_direct')fallback(boolean, optional): Try 'eastmoney_direct', 'eastmoney', 'xueqiu' and 'ths' in order when the chosen source fails or has no data (default: true; 'xueqiu' and 'ths' are skipped when no symbol is given, as they quote one symbol at a time)
News & Information Tools
get_news_data
Get stock-related news data.
Parameters
symbol(string, required): Stock codesource(string, optional): Data source ('eastmoney', 'ths') (default: 'eastmoney')fallback(boolean, optional): Try 'eastmoney' and 'ths' in order when the chosen source fails or has no data (default: true)recent_n(number, optional): Number of most recent records to return, newest first (default: 10)
Financial Statement Tools
get_balance_sheet
Get company balance sheet data.
Parameters
symbol(string, required): Stock codesource(string, optional): Data source ('sina', 'eastmoney_direct') (default: 'sina')fallback(boolean, optional): Try the other source when the chosen one fails or has no data (default: true)recent_n(number, optional): Number of most recent records to return (default: 10)
get_income_statement
Get company income statement data.
Parameters
symbol(string, required): Stock codesource(string, optional): Data source ('sina', 'eastmoney_direct') (default: 'sina')fallback(boolean, optional): Try the other source when the chosen one fails or has no data (default: true)recent_n(number, optional): Number of most recent records to return (default: 10)
get_cash_flow
Get company cash flow statement data.
Parameters
symbol(string, required): Stock codesource(string, optional): Data source ('sina', 'eastmoney_direct') (default: 'sina')fallback(boolean, optional): Try the other source when the chosen one fails or has no data (default: true)recent_n(number, optional): Number of most recent records to return (default: 10)
Analysis & Metrics Tools
get_inner_trade_data
Get company insider trading data.
Parameters
symbol(string, required): Stock code
get_financial_metrics
Get key financial metrics from the three major financial statements.
Parameters
symbol(string, required): Stock codesource(string, optional): Data source ('sina', 'eastmoney_direct') (default: 'eastmoney_direct')fallback(boolean, optional): Try the other source when the chosen one fails or has no data (default: true)recent_n(number, optional): Number of most recent records to return (default: 10)
get_time_info
Get current time with ISO format, timestamp, and the last trading day.
Installation & Setup
Running Modes
The server supports two modes: stdio and streamable-http
Command Line Arguments:
--streamable-http: Enable HTTP mode (default: stdio mode)--host: Host to bind to in HTTP mode (default: 0.0.0.0)--port: Port to listen on in HTTP mode (default: 8081)
Note: When using streamable-http mode, the MCP server will be available at
http://{host}:{port}/mcp. For the default configuration, this would behttp://0.0.0.0:8081/mcp.
Installation Options
Option 1: Via Smithery
To install akshare-one-mcp for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @zwldarren/akshare-one-mcp --client claude
Option 2: Via uv
Install uv if you haven't already.
uvx installs the package from PyPI and runs it on Python 3.12 or newer.
Add the following configuration to your MCP Client settings:
{
"mcpServers": {
"akshare-one-mcp": {
"command": "uvx",
"args": ["akshare-one-mcp"]
}
}
}
Option 3: Local Development Setup
-
Clone this repository:
git clone https://github.com/zwldarren/akshare-one-mcp.git cd akshare-one-mcp -
Install dependencies:
uv sync -
Add the following configuration to your MCP Client settings:
{ "mcpServers": { "akshare-one-mcp": { "command": "uv", "args": [ "--directory", "/path/to/akshare-one-mcp", "run", "akshare-one-mcp" ] } } }
Technical Indicators Reference
The get_hist_data tool supports the following technical indicators:
Trend Indicators
- Moving Averages: SMA (Simple Moving Average), EMA (Exponential Moving Average)
- Trend Tracking: MACD (Moving Average Convergence Divergence), APO (Absolute Price Oscillator), PPO (Percentage Price Oscillator)
- Rate of Change: ROC (Rate of Change), ROCP (Rate of Change Percentage), ROCR (Rate of Change Ratio), ROCR100
- Other: TRIX (Triple Exponential Moving Average), ULTOSC (Ultimate Oscillator)
Momentum Indicators
- Relative Strength: RSI (Relative Strength Index), CCI (Commodity Channel Index)
- Trend Strength: ADX (Average Directional Index), DX (Directional Index)
- Money Flow: MFI (Money Flow Index), MOM (Momentum), CMO (Chande Momentum Oscillator), WILLR (Williams %R)
Volatility Indicators
- Bollinger Bands: BOLL (Bollinger Bands)
- Average True Range: ATR (Average True Range)
- Parabolic SAR: SAR (Parabolic Stop and Reverse)
Volume Indicators
- Volume: OBV (On-Balance Volume), AD (Accumulation/Distribution Line), ADOSC (Accumulation/Distribution Oscillator)
Other Indicators
- Stochastic: STOCH (Stochastic Oscillator)
- Aroon: AROON (Aroon Indicator), AROONOSC (Aroon Oscillator)
- Balance of Power: BOP (Balance of Power)
- Directional Indicators: MINUS_DI, MINUS_DM, PLUS_DI, PLUS_DM
- Time Series Forecast: TSF (Time Series Forecast)
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.