
CNINFO Listed Company Reports
io.github.duhu2000v1.4.3更新于 Oct 5, 2026
Community MCP for querying Chinese listed-company reports and prospectuses from CNINFO.
概览
让助手按股票代码、年份和报告类型查询巨潮资讯网上的中国上市公司定期报告与招股书。
- 功能
- 这是一个社区维护的 MCP 服务器,用于查询巨潮资讯网披露的中国上市公司公告。其注册工具 query_annual_reports_tool 需要六位股票代码,可选年份和报告类型,返回匹配的报告列表。支持的报告类型包括 annual、semiannual、q1、q3 和 prospectus;招股书没有固定年份,可省略年份参数。该安全加固分支只注册只读查询工具,不提供本地文件下载工具。
- 适用场景
- 适合需要查找或引用某只 A 股股票的年报、半年报、季报或招股书的场景。覆盖沪深两市主板、创业板、科创板以及北京证券交易所。更适用于研究或文档定位类工作,而非大规模数据采集。
- 运行要求
- 以 npm 包(@duhu2000/cninfo-mcp)形式通过 npx 在本地以 stdio 运行,需要 Node.js 20 或更高版本。不需要 Python、虚拟环境或 pip install。未声明认证、API 密钥、环境变量或请求头。需要访问 cninfo.com.cn 与 static.cninfo.com.cn 的网络。仅支持桌面客户端配置(Claude Desktop / Claude Code)。
安装
在 SourceWeft 中
- 打开 控制台中的 CNINFO Listed Company Reports,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
DSH/QCC maintained cninfo-mcp
本仓库是由 DSH/QCC 团队维护的安全加固社区分支,源自
youhaozhao/cninfo-mcp。它不是深圳证券
信息有限公司或巨潮资讯官方产品,也不暗示其背书。
通过 MCP 协议查询和下载巨潮资讯网上市公司定期报告及招股书 PDF 的工具,适用于 Claude Desktop / Claude Code。
并发限制
巨潮资讯网后端禁止大量并发,推荐将并发数设置为 4 以防止后端返回大量 403 导致 IP 短暂被封
使用方法
在 Claude Desktop / Claude Code 配置文件中添加:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
1.4.3 起服务为纯 Node 实现;npx 安装完成后即可启动,不需要 Python、
虚拟环境、pip install 或额外的初始化命令。
可用工具
query_annual_reports_tool— 查询报告列表,参数:股票代码(必填)、年份(可选)、报告类型(可选,默认annual) 本安全分支只注册只读查询工具,不提供本地文件下载工具。
支持的 report_type:
annual— 年度报告 / 年报semiannual— 半年度报告 / 半年报 / 中报q1— 第一季度报告 / 一季报q3— 第三季度报告 / 三季报prospectus— 招股书 / 招股说明书 / 招股意向书(招股书无固定年份,省略年份参数即可)
示例对话:
系统要求
- Node.js 20+
安全边界
- 公告检索、页面来源和附件下载均只使用
https://www.cninfo.com.cn或https://static.cninfo.com.cn。 - 默认仅暴露只读查询工具,并声明 MCP
readOnlyHint、destructiveHint、idempotentHint与openWorldHint。 - 不注册文件下载工具,不创建用户目录,也不会启动 Python 或执行
pip install。 - 本项目是独立社区项目,并非深圳证券信息有限公司或巨潮资讯官方产品;使用时 仍应遵守巨潮资讯网站规则与数据使用边界。
数据来源
巨潮资讯网 — 支持沪深两市(主板、创业板、科创板)及北京证券交易所(北交所)
Credits
爬虫逻辑基于 gaodechen/cninfo_process。
结果与错误
股票代码必须为六位数字,可带首尾空白(如 " 000001 ");无效输入在请求或创建目录前被拒绝。
查询和下载结果包含 status:complete 表示完整完成(包括成功查询到零条),partial 表示部分完成,error 表示失败。只有 complete 的 success 为 true。
查询中断时保留已取得的报告,并返回 error / errors;Python 的 query_reports 调用方可从 QueryError.reports 取得部分结果。
下载返回 downloaded、files、failed、failures,另有 query_status 和查询失败时的 query_errors。单个附件失败后继续处理其余附件。
文件名包含附件 URL 的稳定 SHA-256 标识;下载经 PDF 签名与响应类型检查后,使用临时文件原子替换。
附件链接统一解析为 https://static.cninfo.com.cn 地址;下载最多跟随五次重定向,每一跳都校验协议、主机和端口。无效链接在查询结果中显示为空并附带 attachmentError,下载时作为单个附件失败返回。
开发测试
安装 Node 依赖后执行回归测试:
来源:README.md,提交 026dcfa
工具
0版本历史
1- v1.4.3最新Oct 5, 2026
