MCP server that provides access to Chinese stock market data using akshare-one
SaferSkills independently audited Akshare One Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
<div align="center"> <a href="README.md">English</a> | <a href="README_zh.md">中文</a> </div>
<!-- mcp-name: io.github.zwldarren/akshare-one-mcp -->
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.
<a href="https://glama.ai/mcp/servers/@zwldarren/akshare-one-mcp"> <img width="380" height="200" src="https://glama.ai/mcp/servers/@zwldarren/akshare-one-mcp/badge" alt="akshare-one-mcp MCP server" /> </a>
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.
#### get_hist_data Get historical stock market data with support for multiple time periods and adjustment methods.
<details> <summary>Parameters</summary>
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)</details>
#### get_realtime_data Get real-time stock market data.
<details> <summary>Parameters</summary>
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)</details>
#### get_news_data Get stock-related news data.
<details> <summary>Parameters</summary>
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)</details>
#### get_balance_sheet Get company balance sheet data.
<details> <summary>Parameters</summary>
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)</details>
#### get_income_statement Get company income statement data.
<details> <summary>Parameters</summary>
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)</details>
#### get_cash_flow Get company cash flow statement data.
<details> <summary>Parameters</summary>
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)</details>
#### get_inner_trade_data Get company insider trading data.
<details> <summary>Parameters</summary>
symbol (string, required): Stock code</details>
#### get_financial_metrics Get key financial metrics from the three major financial statements.
<details> <summary>Parameters</summary>
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)</details>
#### get_time_info Get current time with ISO format, timestamp, and the last trading day.
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 athttp://{host}:{port}/mcp. For the default configuration, this would behttp://0.0.0.0:8081/mcp.
#### 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
git clone https://github.com/zwldarren/akshare-one-mcp.git
cd akshare-one-mcp uv sync {
"mcpServers": {
"akshare-one-mcp": {
"command": "uv",
"args": [
"--directory",
"/path/to/akshare-one-mcp",
"run",
"akshare-one-mcp"
]
}
}
}The get_hist_data tool supports the following technical indicators:
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.