项目简介
FinQ4Cn 是一个基于 Model Context Protocol (MCP) 协议构建的开源项目,旨在为中国 A 股市场的量化分析提供一个强大、便捷、标准化的数据访问网关。它无缝集成了 akshare
强大的金融数据获取能力,并将其封装为一系列可通过 MCP 调用的工具,使得大型语言模型(LLM)、智能代理(Agent)或任何兼容 MCP 的客户端能够轻松、高效地获取中国股市的多维度数据,从而赋能更复杂的量化分析、策略研究和智能决策。
FinQ4Cn 不仅仅是一个数据获取工具,它更是一个连接 AI 与金融市场的桥梁。通过标准化的 MCP 接口,它将 akshare
的强大功能以服务化的形式呈现,极大地降低了 AI 应用接入中国 A 股市场数据的门槛。其全面的数据覆盖、内置的分析能力和可扩展的架构,使其成为金融 AI 领域极具竞争力的解决方案,有望在量化投资、智能投顾等场景中发挥重要作用。
核心优势与创新点
-
标准化接口 (MCP 驱动):
- 本项目的核心创新在于采用 MCP 协议 作为数据和服务暴露的标准接口。这使得任何支持 MCP 的 AI 应用(如 Cherry Studio, MCP Inspector 等)都能以统一的方式发现、理解和调用 FinQ4Cn 提供的所有功能,极大地简化了集成过程,提升了互操作性。
-
全面的中国 A 股数据覆盖:
- 基础数据:通过股票名称精准查询股票代码。
- 历史行情:获取指定时间段内(日线、周线、月线)的开盘价、收盘价、最高价、最低价、成交量等历史价格数据,并支持前复权/后复权。
- 财务分析:深入获取上市公司的主营业务构成、关键财务指标(如净利润、营收增长率、ROE、毛利率等)的摘要数据,支持按报告期、年度、季度查询。
- 市场情绪:获取个股及市场的融资融券明细,洞察市场资金流向和杠杆情况。
- 公司事件:查询个股详细的历史分红送配记录,辅助价值投资分析。
-
实时资讯与事件驱动:
- 提供宏观财经新闻和市场趋势,帮助把握整体市场动向。
- 提供与特定股票高度相关的新闻资讯,捕捉可能影响个股价格的事件,为事件驱动型策略提供数据支持。
-
内置量化分析能力:
- 集成基础的技术分析功能,例如计算 相对强弱指数 (RSI) 和 双均线 (MA),并基于此生成简单的买卖信号(超买/超卖、金叉/死叉),为策略构建提供初步的量化依据。
-
回测框架:
- 集成了
pybroker
回测引擎,允许用户快速实现并回测自己的交易策略。项目内置了一个示例策略(带止盈的买入持有策略),展示了如何将策略逻辑封装并通过 MCP 调用进行评估。
- 集成了
-
易于集成与部署:
- 结构清晰,依赖项明确 (
FastMCP
,akshare
,pydantic
,pandas
,pybroker
)。 - 提供了详细的配置指南(如与 Cherry Studio 和 MCP Inspector 的集成方法),方便用户快速上手和部署。
- 结构清晰,依赖项明确 (
应用场景
- AI 金融助手: 为 LLM 提供实时、准确的金融数据查询能力,使其能回答复杂的股票相关问题。
- 量化策略研究: 为量化分析师提供便捷的数据源,用于因子挖掘、策略开发和历史回测。
- 智能投顾: 为智能投顾平台提供底层数据支持,用于生成投资建议和风险评估。
- 金融教育: 为学习量化金融的学生和爱好者提供一个易于使用的实践平台。
技术栈
- 后端框架 :
FastMCP
(构建 MCP 服务器) - 数据源 :
akshare
(获取中国金融市场数据) - 数据处理 :
pandas
(数据清洗与分析) - 数据校验 :
Pydantic
(数据模型定义与校验) - 回测引擎 :
pybroker
(策略回测) - 可视化 :
matplotlib
(通过 MCP 工具调用进行图表生成)
项目结构
mcp-server/
├── utils
├── |──modules.py # 数据校验模块
├── |──stocks_common_metrics.py # 常用指标数据
├── |──stocks_risk_alert.py # 股票风险提示信息
├── |──backtesting.py # 策略回测
├── |──news_report.py # 新闻报告
├── |──quant_analysis.py #量化分析
├── |──tools.py #工具
├──fs_server.py # mcp server启动文件
安装依赖方法:
bash
pip install -r requirements.txt
建议使用以下方式安装回测包:
bash
pip install lib-pybroker -i https://pypi.tuna.tsinghua.edu.cn/simple
安装步骤
- 克隆仓库:
bash
git clone https://github.com/jinhongzou/FinQ4Cn-mcp-server.git
cd FinQ4Cn-mcp-server
- 创建并激活虚拟环境:
bash
python -m venv venv
source venv/bin/activate
- 安装依赖:
bash
pip install -r requirements.txt
使用方法
如需跨 Cherry Studio
的详细MCP配置说明,请访问:
Cherry Studio MCP 配置指南
与 Cherry Studio
集成
json
{
"mcpServers": {
"FinQ4Cn-mcp-server": {
"name": "FinQ4Cn",
"command": "your_path/python.exe",
"args": [
"your_path/FinQ4Cn-mcp-server/mcp-server/fs_server.py"
]
}
}
}

有关如何配置和使用此工具包进行深入股票数据分析的详细说明,请参考文档或示例代码。
可用工具
stocks_common_metrics
get_stock_code
: 通过股票名称获取对应的股票代码。get_stock_zygc_em
: 获取上市公司主营业务结构,用于分析公司核心业务、产品、服务和收入分布。get_stock_financial_abstract
: 获取上市公司财务报告摘要数据。get_stock_margin_detail
: 获取上市公司融资融券明细。get_stock_fhps_detail
: 获取上市公司历史分红和配股详情。
新闻资讯
financial_news
: 获取指定日期范围内的最新财经新闻和市场趋势。stock_news
: 获取指定日期范围内与特定股票相关的最新新闻文章和信息。

回测功能
strategy_buy_with_stop_loss
: 使用指定交易策略对历史股票数据进行回测以评估其表现。该策略如下:如果当前未持有该股票,则根据指定持仓比例(percent)买入股票,并设置止盈百分比(stop_profit_pct)。