关于 Emarket Storage
Emarket Storage 是用于搜索意大利受监管公司披露信息及申报文件的 MCP 服务,数据来自 eMarket Storage。它提供当日更新的索引,并区分披露公告与财务报告及 ESEF/XBRL 文件档案。
主要功能
- 01按发行方和日期搜索披露
- 02按编号和日期获取披露
- 03搜索独立的申报文件档案
- 04查找 ESEF/XBRL 下载包
适用场景
- 01每日监控意大利发行方披露
- 02按日期范围查找公司公告
- 03获取披露信息关联的文件
- 04查找年度报告或 ESEF/XBRL 文件
MCP 相关
向 MCP 客户端提供 eMarket Storage 披露列表及独立文件档案的搜索工具,并可获取单条披露。数据仅覆盖 eMarket Storage 的发行方并提供文件链接,不包含提取后的 XBRL 事实数据。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://gateway.pipeworx.io/emarket-storage/mcpclaude mcp add --transport http pipeworx-io-emarket-storage https://gateway.pipeworx.io/emarket-storage/mcp{"mcpServers":{"pipeworx-io-emarket-storage":{"type":"http","url":"https://gateway.pipeworx.io/emarket-storage/mcp"}}}在 Cursor 中打开{"servers":{"pipeworx-io-emarket-storage":{"type":"http","url":"https://gateway.pipeworx.io/emarket-storage/mcp"}}}在 VS Code 中打开{"mcpServers":{"pipeworx-io-emarket-storage":{"type":"http","url":"https://gateway.pipeworx.io/emarket-storage/mcp"}}}{"mcpServers":{"pipeworx-io-emarket-storage":{"serverUrl":"https://gateway.pipeworx.io/emarket-storage/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
@pipeworx/emarket-storage
来自 eMarket Storage(Teleborsa)的意大利受监管公司披露信息 ——文档索引(标题、发行方、时间戳、PDF 链接),当天更新, 旨在解决社区 ESEF 索引中当年意大利文件滞后数月的问题。
属于 Pipeworx — 一个将 AI Agent 连接到 1881+ 个实时数据源的 MCP 网关。这是独立的非官方集成,与上游提供方无关联,未获其认可,也非由其发布。
工具
emarket_search_disclosures(company?, azienda_id?, category?, market?, cerca?, date_from?, date_to?, limit?, offset?)— 按发行方(名称,会依据 eMarket 自有发行方列表解析,或已知的 azienda_id)、欧盟《透明度指令》类别、市场板块和/或发布日期范围搜索披露信息。结果按时间从新到旧排列。emarket_get_disclosure(id, date)— 根据 Teleborsa 的 protocollo 编号和发布日期获取一条披露信息(两者均来自先前的搜索——此数据源不支持仅按 ID 查询)。emarket_search_documents(company?, azienda_id?, category?, date_from?, date_to?, limit?, offset?)— 搜索 eMarket Storage 的独立文档档案(年度/半年度财务报告、ESEF/XBRL ZIP 包),而非emarket_search_disclosures返回的新闻稿流。需要实际申报文件时使用此工具。has_xbrl标记包含可下载 ESEF/XBRL ZIP 的行。
以上所有搜索参数(每个工具中的 company/azienda_id,以及 category/market)均为可选项。 完全省略发行方,即可在一次调用中获取所有覆盖发行方在指定日期范围内的记录——这是每日检查多个发行方的低成本方式(见下文“每天调用一次”)。
此工具包的用途
esef-filings 代理 filings.xbrl.org,这是一个社区索引,其对意大利发行方当年的覆盖滞后数月(amf-filings 为法国解决的也是同样的问题)。此工具包直接接入 eMarket Storage,它是意大利两个经官方指定的透明度指令披露机制(OAM)之一。2026-09-23 实时测试结果:对 2026-09-22..09-24 执行 category="104"(Informazioni privilegiate)搜索,返回了一条 WEBUILD 披露信息,发布时间为 2026-09-23T17:13(当地时间,与查询同一天),且已确认其 PDF 可访问(HTTP 200)。
每天调用一次,而非每个发行方调用一次
一位设计合作伙伴每天检查约 155 家发行方时,曾对每家发行方分别调用一次,约 35 次调用就耗尽了每次调用 50 个额度的配额(fleet #3300,2026-10)。其实完全没必要——这里的每个搜索工具都已支持完全不设置发行方筛选条件的日期范围查询,一次调用即可返回该范围内所有覆盖发行方的记录:
emarket_search_disclosures({date_from: "2026-10-19", date_to: "2026-10-19"})
emarket_search_documents({date_from: "2026-10-19", date_to: "2026-10-19"})
已于 2026-10-19 实时验证——两种方式都会返回当天所有由 eMarket 覆盖的发行方记录;只有当天整个市场的数量超过一页时才需要分页(page_size 24),而这种情况很少见。每天检查 155 家发行方,每个工具包只需一次(或少量、有限的几次)调用,而不是 155 次。
⚠️ 调用方必须了解的五件事
- 仅涵盖 eMarket 的发行人——并非意大利全市场。
意大利还有另一个独立的 OAM:1INFO(另一种无需密钥的 JSON API,涵盖约 314 家发行人——参见
@pipeworx/oneinfo-storage)。发行人只会通过两者之一披露信息。一些知名企业属于 1INFO 发行人,在这里找不到——2026-09-23 检查 eMarket Storage 自身约 480 家公司的发行人列表后确认:其中既没有 IREN,也没有 SOMEC。如果公司搜索没有匹配结果,会返回一条说明情况的note,而不是简单的错误,并会指向oneinfo-storage的oneinfo_search_disclosures。此工具包不会合并 1INFO 数据。 - 这是文档索引,不是 XBRL 事实数据 API。 每一行都代表一条披露事件:标题、发行人、发布时间戳,以及底层 PDF 的链接。这里不会提取单项事实——无法查询“给我 2025 财年的净收入”。
- 没有 ISIN 或 LEI。 与
amf-filings不同,eMarket Storage 的列表及发行人列表只显示公司名称和内部 Teleborsa 数字 ID(azienda_id)——在列表或公司页面上均未找到 ISIN/LEI 字段(2026-09-23 检查)。可按名称识别发行人(系统会自动与网站自身列表匹配),也可在先前的搜索中获得azienda_id后直接使用。 - 此工具中的
date_to为包含边界——底层数据源自身的data_to是不包含边界,两者不一致会导致数据行被悄然丢弃,而且不只发生在精确的单日查询中。 2026-09-24 根据实时原始数据源验证:data_from=2026-09-21&data_to=2026-09-22返回 13 行,全部来自 21 日——22 日的所有数据都悄然消失,没有错误、没有空结果提示,也没有任何信息告知调用方,其“21 日至 22 日”的请求返回结果有误。emarket_search_disclosures始终向数据源发送比调用方包含边界的date_to晚一个日历日的data_to(仅提供date_from、未提供date_to时,表示“仅查询该日”);响应会同时回显date_to(你提供的包含边界值)和upstream_date_to_exclusive(实际发送的原始边界值),因此,调用方现在查询“21 日至 22 日”时会正确获取这两天的数据。本地已确认:相同的 21→22 日请求现在会返回日期为 2026-09-21 和 2026-09-22 的数据行。 - 同一网站上有两个独立的档案库。
emarket_search_disclosures用于新闻稿流;emarket_search_documents则用于实际的受监管文件档案库(年报、ESEF/XBRL ZIP 文件)。两个工具中的相同category代码不会返回相同的数据行——2026-10-19 实时验证:在emarket_search_disclosures中对 Interpump 使用category="100",只会返回业绩新闻稿;而在emarket_search_documents中使用相同筛选条件,则会返回“IP - Annual Financial Report 2025”及其 ESEF XBRL ZIP 文件。请根据实际需求选择正确的工具。
身份验证
无需密钥。不需要账户或 API 密钥。
数据源
- https://www.emarketstorage.it/it/comunicati-finanziari — eMarket
Storage 的公开披露列表(Teleborsa,意大利的欧盟《透明度指令》OAM)。Pipeworx 每次调用时都会实时查询;没有批量下载或正式 API(该 Drupal 网站上的
/jsonapi返回 404——网站仅提供 HTML),因此此工具包会直接解析列表页面的 HTML。
注意事项
- 没有正式的 API。该列表是一个可通过 GET 筛选的普通 Drupal 视图
(
azienda、mercato、categoria、data_from/data_to、cerca)。此 工具包使用针对性正则表达式解析渲染后的 HTML——Cloudflare Workers 没有 DOMParser(与spain-tenders采用相同的方法)。 - 行的
datetime属性(位于其time元素上)有问题—— 已观察到的每一行都带有类似34Z的值(只有末尾的秒数和一个“Z”, 是上游模板错误),不是可用的时间戳。此工具包改为解析人类可读的文本 (“DD/MM/YYYY - HH:MM”,意大利当地时间),并将其作为published_at_local返回,同时明确提供timezone: "Europe/Rome"字段——不会将其转换为 UTC,因为 正确转换需要考虑夏令时,而此工具包不会自行假设。 - 列表不会为每一行提供类别——只有
categoria筛选参数接受类别。因此,当调用者按类别筛选时,emarket_search_disclosures会将请求的category返回到每条结果中(这是筛选结果 的真实信息,而不是猜测);未筛选的搜索中,category会如实设为null,而不会凭空编造。 - 固定每页 24 条,已通过实时数据确认(除最后一页外,每页
都恰好有 24 条)。响应中没有任何总数统计字段;存在下一页时,此工具包会返回
has_more: true和at_least_total——一个真实的下限(last_page_index * 24),绝不会 编造精确总数。实测示例(2026-09-23):将 SAIPEM 的范围缩小到 2 天,返回 1 条披露;同一发行方在 2025-01-01.. 2026-09-24 的范围内返回at_least_total: 120(逐页访问至最后一页后确认精确数量为 122)——日期筛选确实生效。 - 公司名称解析使用
rankMatches,根据 eMarket 自带的发行方选项列表进行匹配,排序优先级为精确匹配 > 前缀匹配 > 完整单词匹配 > 子串匹配。该选项列表嵌入每次列表页加载中。如果有多个发行方的匹配分数相同,结果会返回candidates,而不是猜测。 - 源站没有
emarket_get_disclosure的直接按 ID 查询端点——它会重新获取给定日期的列表(最多翻 8 页,即当天全市场最多 192 条 披露——实时测量中,最繁忙的一天只需翻到第 3 页),再按 protocollo ID 匹配。每页请求的超时时间为 10 秒,而非共享的默认 25 秒,将最坏情况下的顺序请求时间限制在 80 秒,而不是 375 秒——一位设计合作伙伴报告,生产环境中曾出现约 230 秒的卡顿(fleet #3300),这与旧的数值相符。 emarket_search_documents会复用emarket_search_disclosures的 HTML 行解析器;其 ESEF/XBRL 行在标题文本前带有<span class="icon-esef">标记,且链接指向/sites/default/files/xbrl/….zip,而非通常的/comunicati/….pdf——两种情况都能处理,has_xbrl会反映具体类型。
快速开始
将其添加到 MCP 客户端(Claude Desktop、Cursor、Windsurf 等):
{
"mcpServers": {
"emarket-storage": {
"url": "https://gateway.pipeworx.io/emarket-storage/mcp"
}
}
}
此端点实际提供的内容
https://gateway.pipeworx.io/emarket-storage/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 都连接到同一个网关和相同的 1881+ 个数据源。唯一的区别在于,直接列出的是哪个工具包的工具;从任一端点都可以通过 ask_pipeworx 访问所有工具。
没有 MCP 客户端?通过 HTTP 调用
curl -X POST https://gateway.pipeworx.io/v1/tools/emarket_search_disclosures \
-H 'Content-Type: application/json' \
-d '{"category":"104","date_from":"2026-09-22","date_to":"2026-09-24"}'
首次调用无需账号。查看任意工具:GET https://gateway.pipeworx.io/v1/tools/emarket_search_disclosures。查找工具:使用 {"query":"..."} 调用 POST https://gateway.pipeworx.io/v1/tools/search_packs。
独立运行(无需网关账号)
此软件包也可以作为本地 stdio MCP 服务运行 — 无需 Pipeworx 账号,也无需往返网关:
{
"mcpServers": {
"emarket-storage": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-emarket-storage"]
}
}
}
也可以直接运行,确认它能启动:
npx -y @pipeworx/mcp-emarket-storage
它通过 stdin/stdout 使用 MCP 协议,并为仅此工具包的工具响应 initialize/tools/list/tools/call — 不包含上述网关连接额外提供的任何共享元工具。来源相同,工具相同,但没有 ask_pipeworx 路由。
使用 ask_pipeworx
你可以用通俗易懂的英文提问,而不是直接调用工具 — 此功能既适用于上面的工具包端点,也适用于完整网关:
ask_pipeworx({ question: "your question about Emarket Storage data" })
网关会选择合适的工具并自动填入参数。
更多信息
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。