关于 Cnmv Filings
Cnmv Filings 是用于访问西班牙 CNMV 上市公司披露和年度财务报告登记册的 MCP 服务,面向分析人员与数据管道。它提供及时的文件索引和 ESEF 报告包链接,但不解析 XBRL 事实。
主要功能
- 01按日期和发行人搜索披露
- 02查询年度财务报告
- 03按名称或 ISIN 匹配发行人
- 04返回 ESEF 报告包链接
适用场景
- 01跟踪公司近期公告
- 02查找年报及审计信息
- 03获取 ESEF 文件供后续处理
MCP 相关
向 MCP 客户端提供 CNMV 披露搜索、年报查询和发行人匹配工具。可通过 stdio 本地运行,也可经 Pipeworx 网关连接。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://gateway.pipeworx.io/cnmv-filings/mcpclaude mcp add --transport http pipeworx-io-cnmv-filings https://gateway.pipeworx.io/cnmv-filings/mcp{"mcpServers":{"pipeworx-io-cnmv-filings":{"type":"http","url":"https://gateway.pipeworx.io/cnmv-filings/mcp"}}}在 Cursor 中打开{"servers":{"pipeworx-io-cnmv-filings":{"type":"http","url":"https://gateway.pipeworx.io/cnmv-filings/mcp"}}}在 VS Code 中打开{"mcpServers":{"pipeworx-io-cnmv-filings":{"type":"http","url":"https://gateway.pipeworx.io/cnmv-filings/mcp"}}}{"mcpServers":{"pipeworx-io-cnmv-filings":{"serverUrl":"https://gateway.pipeworx.io/cnmv-filings/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
@pipeworx/cnmv-filings
来自 CNMV(Comisión Nacional del Mercado de Valores)公共登记库的西班牙上市公司受监管披露和年度财务报告,包括 ESEF 报告包。文件在登记后几分钟内即可查到,而社区 ESEF 索引通常要数月后才会收录。
本项目属于 Pipeworx——一个将 AI Agent 连接到 1875+ 个实时数据源的 MCP 网关。这是一个独立的非官方集成,与上游提供方无关联,未经其认可,也非由其发布。
工具
cnmv_search_filings(date_from?, date_to?, nif?, isin?, company?, feed?, limit?)按发布日期范围搜索披露(以马德里日历日计算,包含起止日期,默认最近 7 天)。可以进一步限定为单家发行人。涵盖“其他相关信息”(业绩、年度和半年度报告通知、回购、治理)和“内幕信息”(内幕消息),按时间从新到旧排列。每行包含公司、NIF、类别、标题、登记编号、马德里时间的published_at和文件 URL。total_count是该时间范围内的精确总数。cnmv_annual_reports(nif? | isin? | company?, limit?)返回发行人的年度财务报告登记信息:财年结束日期、发布日期、审计师、审计意见、单体和合并报告链接,以及 ESEF 报告包 URL(ZIP 文件,有时文件名为.xbri,包含 iXBRL 报告和分类标准文件,适用于 FY2020 及之后的年度)。cnmv_find_issuer(company? | isin?)根据名称或西班牙 ISIN 查找 CNMV 登记所用的 NIF。
本工具包存在的原因
esef-filings 代理的是 filings.xbrl.org。截至 2026-09-23,该索引收录了 113 份西班牙公司 FY2024 的文件,FY2025 则只有 1 份。CNMV 是该索引汇总数据的主要来源。同日测得:Técnicas Reunidas 的 FY2025 年度财务报告于马德里时间 2026-02-26 21:25 登记,其 ESEF ZIP(5.5 MB,LEI 213800JEZBUPZKWJGF49)可通过 cnmv_annual_reports 返回的 URL 下载。查询当天,登记库中最新的 OIR 记录时间为 19:48。
⚠️ 调用方须知
- 这是一个文件索引,不是 XBRL 事实数据 API。 这里的任何内容都不会解析 ESEF 文件包。提供
esef_package_url是为了让下游流水线能够导入该文件包。 - 发行人键值是西班牙 NIF(例如
A-28092583,有时也会省略连字符,例如A39000013)。ISIN 和 LEI 不是登记库使用的键值。isin通过 CNMV ISIN 登记库解析,该库仅列出在西班牙发行的证券。在马德里上市的外国发行人使用N…NIF,且没有西班牙 ISIN,因此应使用company或nif查询。 - 名称搜索可能匹配多个实体。 “banco santander”会匹配六个实体,其中包括代码为
BRL-000356等的外币上市证券。本工具包会选择最接近的境内名称,并将其余结果列在issuer_candidates下。名称有歧义时,请检查这些候选项。 - 时间戳采用来源中的马德里当地时间。
published_at包含 +01:00/+02:00 时区偏移。published_local是原始字符串。
身份验证
无需密钥。无需账户,也无需 API 密钥。所有内容均在 cnmv.es 上公开。
数据源
- https://www.cnmv.es/portal/otra-informacion-relevante/resultado-oir.aspx?fechaDesde=DD/MM/YYYY&fechaHasta=DD/MM/YYYY[&nif=…][&page=N]
是“其他相关信息”登记册,每页 10 行,
page从0开始。 - https://www.cnmv.es/portal/informacion-privilegiada/resultado-ip.aspx 是 “内幕信息”登记册,接受相同的参数。
- https://www.cnmv.es/portal/consultas/ifa/listadoifa.aspx?id=0&nif=… 是单个发行人的年度财务报告登记册。
- https://www.cnmv.es/portal/Consultas/BusquedaPorEntidad 是实体名称搜索(ASP.NET 回发)。
- https://www.cnmv.es/portal/ancv/isin?isin=… 是 ISIN 登记册。
- https://www.cnmv.es/webservices/verdocumento/ver?t=…|e=… 是文档 下载处理程序(PDF / ZIP)。测试发现,这些 URL 在页面加载期间保持稳定。
注意事项
- 带有
errorcode=CVFE的403是门户的未找到页面,而不是拦截。 页面文字为“No ha sido posible completar su consulta. Verifique la ruta.” (无法完成您的查询。请检查路径。) 随意编造的路径(/portal/nonexistent-xyz.aspx)也会返回相同响应。 旧的HR/ComunicacionesRR.aspx和Consultas/IFA/InformesFinancierosAnuales.aspx路径也会返回该响应,因为它们并不存在。2020 年之前的“重大事件” 订阅源于 2020-02-08 拆分为 OIR 和 IP。该套件会将此响应转换为not_found:错误。 - 不带
nif的listadoifa.aspx会返回400 errorcode=HE。 .aspxURL 会 301 重定向到不带扩展名的 URL,因此请跟随重定向。- OIR/IP 结果页会显示“第 1 页,共 N 页”,但不提供行数。该套件会
通过
(N-1)*10 + 最后一页的行数计算精确总数;当时间范围跨越的页数 多于limit所需的页数时,这会多耗费一次请求。 - “最近几天”汇总页面(
Consultas/BusquedaUltimosDias.aspx)统计的是 每个类别每天的发行人数量,而非申报数量。其数字会低于同一天的total_count,这是预期结果。 - 实体搜索需要 WebForms 状态。请以表单编码方式回发
__VIEWSTATE、__VIEWSTATEGENERATOR和__EVENTVALIDATION,这样控件名称中的$会编码为%24(这里可用的编码方式;尚未在 CNMV 上测试字面量$, 但在其他 WebForms 网站上,它会静默地重新呈现表单并返回 HTTP 200)。 唯一匹配项会重定向到实体页面。多个匹配项会呈现 NIF → 名称的select列表。
快速开始
添加到你的 MCP 客户端(Claude Desktop、Cursor、Windsurf 等):
{
"mcpServers": {
"cnmv-filings": {
"url": "https://gateway.pipeworx.io/cnmv-filings/mcp"
}
}
}
此端点实际提供的内容
https://gateway.pipeworx.io/cnmv-filings/mcp 上的 tools/list 会返回上表中的工具,
以及 Pipeworx 共享元工具——ask_pipeworx、
discover_tools、search_within、remember/recall 以及网关级别
工具集中的其他工具。因此,你看到的工具数量会多于表中的数量:目前,
单个套件端点除该套件自身的工具外,还会列出大约 30 个共享工具。连接的
initialize 响应会说明确切范围,并且是当天情况的权威答案。
这是有意为之,并非意外复用。元工具可让限定范围的连接回答本套件未涵盖的问题——通过
ask_pipeworx 在整个目录中进行路由——而无需添加第二个 MCP 服务。目前无法在
不包含这些元工具的情况下挂载套件端点;如果额外的架构定义占用的上下文多于路由功能带来的价值,
请连接一次完整网关,而不要连接多个套件端点。
或者,连接完整的 Pipeworx 网关,直接列出每个套件的所有工具, 而不只是此套件的工具:
{
"mcpServers": {
"pipeworx": {
"url": "https://gateway.pipeworx.io/mcp"
}
}
}
两个 URL 都连接到同一个网关和相同的 1875+ 个数据源。唯一的区别在于
哪个套件的工具会被直接列出;无论连接哪个端点,ask_pipeworx
都可以访问所有工具。
没有 MCP 客户端?通过 HTTP 调用
curl -X POST https://gateway.pipeworx.io/v1/tools/cnmv_search_filings \
-H 'Content-Type: application/json' \
-d '{"date_from":"2026-09-21","date_to":"2026-09-23","limit":5}'
首次调用无需账号。查看任意工具:GET https://gateway.pipeworx.io/v1/tools/cnmv_search_filings。查找工具:POST https://gateway.pipeworx.io/v1/tools/search_packs,并传入 {"query":"..."}。
独立运行(无需网关账号)
此软件包也可以作为本地 stdio MCP 服务运行,无需 Pipeworx 账号,也无需往返网关:
{
"mcpServers": {
"cnmv-filings": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-cnmv-filings"]
}
}
}
或者直接运行,以确认其可以启动:
npx -y @pipeworx/mcp-cnmv-filings
它通过 stdin/stdout 使用 MCP 通信,并仅为此软件包的工具响应 initialize/tools/list/tools/call——不包含上文网关连接所提供的任何共享元工具。相同的源代码,相同的工具,无需 ask_pipeworx 路由。
使用 ask_pipeworx
你可以用通俗英语提问,而不是直接调用工具——此方式既适用于上面的软件包端点,也适用于完整网关:
ask_pipeworx({ question: "your question about Cnmv Filings data" })
网关会选择合适的工具,并自动填入参数。
更多信息
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。