ai.smithery/xinkuang-china-stock-mcp

Access real-time and historical market data for China A-shares and Hong Kong stocks, along with ne…

25MITai-ml

Install

Config snippet generator goes here (5 client tabs)

README

# china-stock-mcp
[![smithery badge](https://smithery.ai/badge/@xinkuang/china-stock-mcp)](https://smithery.ai/server/@xinkuang/china-stock-mcp)
一款股票 MCP (Model Context Protocol) 服务器,为中国股市数据提供接口。提供了一系列工具,用于获取财务信息,包括历史股票数据、实时数据、新闻数据、财务报表等。



## 🚀 核心特性

- **双模式运行**: 支持 stdio 本地模式和 HTTP 网络模式
- **丰富的财务数据**: 涵盖 A/B/H 股数据的全方位获取
- **实时数据**: 支持实时股价、交易信息等
- **财务报表**: 资产负债表、利润表、现金流量表等
- **技术指标**: 30+ 种技术指标自动计算和添加
- **新闻数据**: 股票相关新闻和公告信息
- **易用性**: 简单配置即可集成到 AI 助手 (Claude、Cursor 等)
- **数据缓存**: 内置内存和磁盘缓存机制,提高数据获取效率和响应速度
- **容器化**: 支持 Docker 部署

## 🛠️ 架构概览

### 主要组件

- `server.py`: MCP 服务器核心,定义所有工具和数据接口
- `__main__.py`: 命令行入口,支持多种运行模式
- FastMCP 框架: 处理 MCP 协议通信
- akshare-one 库: 提供底层的中国股市数据获取能力
- `cache_utils.py`: 缓存工具,提供内存和磁盘缓存功能

### 支持的数据源

- \*\*数据源故障切换\*\*: 内置 \`\_fetch\_data\_with\_fallback\` 机制,支持按优先级自动切换数据源。当首选数据源失败或返回空数据时,系统将自动尝试备用数据源,从而提高数据获取的稳定性和可靠性。

- 东方财富 (eastmoney, eastmoney_direct)
- 新浪财经 (sina)
- 雪球 (xueqiu)
## 📋 可用工具

### 1. `获取股票的历史行情数据,支持多种数据源和技术指标` (get_hist_data)

获取股票历史行情数据。

**参数:**
- `symbol` (string): 股票代码 (例如: '000001')
- `interval` (Literal): 时间周期: minute, hour, day, week, month, year。默认:day
- `interval_multiplier` (int): 时间周期乘数
- `start_date` (string): 开始日期,格式为 YYYY-MM-DD
- `end_date` (string): 结束日期,格式为 YYYY-MM-DD
- `adjust` (Literal): 复权类型: none, qfq(前复权), hfq(后复权)。默认:none
- \`indicators\_list\` \(string\|list\): 要添加的技术指标,可以是逗号分隔的字符串(例如: 'SMA,EMA')或字符串列表(例如: \['SMA', 'EMA'\])。支持的指标包括: SMA, EMA, RSI, MACD, BOLL, STOCH, ATR, CCI, ADX, WILLR, AD, ADOSC, OBV, MOM, SAR, TSF, APO, AROON, AROONOSC, BOP, CMO, DX, MFI, MINUS\_DI, MINUS\_DM, PLUS\_DI, PLUS\_DM, PPO, ROC, ROCP, ROCR, ROCR100, TRIX, ULTOSC。常用指标:SMA, EMA, RSI, MACD, BOLL, STOCH, OBV, MFI,建议不超过10个。
- `output_format` (Literal): 输出数据格式: json, csv, xml, excel, markdown, html。默认:markdown

### 2. `获取股票的实时行情数据,支持多种数据源` (get_realtime_data)

获取实时股票行情数据,支持的数据源包括:eastmoney, eastmoney\_direct, xueqiu。

**参数:**
- `symbol` (string): 股票代码 (例如: '000001')
- `output_format` (Literal): 输出数据格式: json, csv, xml, excel, markdown, html。默认:markdown

### 3. `获取股票相关的新闻数据` (get_news_data)

获取股票相关新闻数据.

**参数:**
- `symbol` (string): 股票代码 (例如: '000001')
- `output_format` (Literal): 输出数据格式: json, csv, xml, excel, markdown, html。默认:markdown

### 4. `获取公司的资产负债表数据` (get_balance_sheet)

获取公司资产负债表数据.

**参数:**
- `symbol` (string): 股票代码 (例如: '000001')
- `output_format` (Literal): 输出数据格式: json, csv, xml, excel, markdown, html。默认:markdown

### 5. `获取指定股票代码的公司的利润表数据` (get_income_statement)

获取公司利润表数据.

**参数:**
- `symbol` (string): 股票代码 (例如: '000001')
- `output_format` (Literal): 输出数据格式: json, csv, xml, excel, markdown, html。默认:markdown

### 6. `获取指定股票代码的公司的现金流量表数据` (get_cash_flow)

获取公司现金流量表数据.

**参数:**
- `symbol` (string): 股票代码 (例如: '000001')
- `output_format` (Literal): 输出数据格式: json, csv, xml, excel, markdown, html。默认:markdown

### 7. `获取股票的近 100 个交易日的资金流向数据` (get_fund_flow)

获取股票的近 100 个交易日的资金流向数据。

**参数:**
- `symbol` (string): 股票代码 (例如: '000001')
- `output_format` (Literal): 输出数据格式: json, csv, xml, excel, markdown, html。默认:markdown

### 8. `获取公司的内部股东交易数据` (get_inner_trade_data)

获取公司内部股东交易数据.

**参数:**
- `symbol` (string): 股票代码 (例如: '000001')
- `output_format` (Literal): 输出数据格式: json, csv, xml, excel, markdown, html。默认:markdown

### 9. `获取三大财务报表的关键财务指标` (get_financial_metrics)

获取三大财务报表的关键财务指标.

**参数:**
- `symbol` (string): 股票代码 (例如: '000001')
- `output_format` (Literal): 输出数据格式: json, csv, xml, excel, markdown, html。默认:markdown

### 10. `获取当前时间(ISO格式、时间戳)和最近一个交易日` (get_time_info)

获取当前时间(ISO格式、时间戳)和最近一个交易日.

**参数:** 无

### 11. `获取指定股票的基本概要信息` (get_stock_basic_info)

获取股票基本概要信息,支持 A 股和港股

**参数:**
- `symbol` (string): 股票代码 (例如: '000001')
- `output_format` (Literal): 输出数据格式: json, csv, xml, excel, markdown, html。默认:markdown

### 12. `获取单个宏观经济指标数据` (get_macro_data)

获取单个宏观经济指标数据

**参数:**
- `indicator` (Literal): 要获取的宏观经济指标。支持的指标包括: money_supply, gdp, cpi, pmi, stock_summary。默认: 'gdp'
- `output_format` (Literal): 输出数据格式: json, csv, xml, excel, markdown, html。默认:markdown

### 13. `分析散户和机构投资者的投资情绪` (get_investor_sentiment)

分析散户和机构投资者的投资情绪

**参数:**
- `symbol` (string): 股票代码 (例如: '000001')
- `output_format` (Literal): 输出数据格式: json, csv, xml, excel, markdown, html。默认:markdown

### 14. `获取指定股票的股东情况` (get_shareholder_info)

获取股东情况

**参数:**
- `symbol` (string): 股票代码 (例如: '000001')
- `output_format` (Literal): 输出数据格式: json, csv, xml, excel, markdown, html。默认:markdown

### 15. `获取指定股票公司的主要产品或业务构成` (get_product_info)

获取产品情况

**参数:**
- `symbol` (string): 股票代码 (例如: '000001')
- `output_format` (Literal): 输出数据格式: json, csv, xml, excel, markdown, html。默认:markdown

### 16. `获取股票的业绩预测数据,包括预测年报净利润和每股收益` (get_profit_forecast)

获取股票的业绩预测数据。

**参数:**
- `symbol` (string): 股票代码 (例如: '600519')
- `output_format` (Literal): 输出数据格式: json, csv, xml, excel, markdown, html。默认:markdown

### 17. `获取分红送股详情` (get_stock_fhps_detail)

获取指定股票的分红送股详情数据。

**参数:**
- `symbol` (string): 股票代码 (例如: '000001')
- `output_format` (Literal): 输出数据格式: json, csv, xml, excel, markdown, html。默认:markdown
### 18. `获取筹码分布数据` (get_