
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


