mcpField
E
Edinet

Edinet

远程服务
pipeworx.io金融数据03 天前更新

关于 Edinet

Edinet 是用于从日本金融厅 EDINET 搜索申报主体和访问申报文件的 MCP 服务。企业查询无需密钥;申报文件列表和年度财务数据则需要调用方提供 EDINET Subscription-Key。

主要功能

  1. 01按名称、代码或证券代码搜索申报主体
  2. 02按日期或申报主体列出文件
  3. 03获取年度主要财务数据
  4. 04返回会计准则和财务期间
  5. 05作为本地 stdio 服务运行

适用场景

  1. 01查询日本公司的 EDINET 代码
  2. 02查找指定日期范围内的公司申报文件
  3. 03查看年度销售额、利润和资产数据

MCP 相关

向 MCP 客户端提供 EDINET 申报主体搜索、文件列表和年度财务数据工具。可作为本地 stdio 服务运行,也可通过 Pipeworx 网关连接;文件列表操作需要调用方提供 EDINET Subscription-Key。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://gateway.pipeworx.io/edinet/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

edinet — 日本企业申报文件(EDINET,金融厅)

状态:公开,BYOK 已于 2026-09-16 上线(fleet #1942/#1928)。无需密钥的企业查询对所有调用者开放,无需凭据;两个申报文件列表工具需要调用者提供自己的 EDINET Subscription-Key 作为 _apiKey。为何采用这种方式,而非使用平台密钥,请参阅下方的“身份验证”。

这是 Pipeworx 的一部分——一个将 AI Agent 接入 1879+ 个实时数据源的 MCP 网关。这是独立、非官方的集成,与上游提供方无关联、未获其认可,也非由其发布。

EDINET 是日本的 EDGAR:提供证券报告(有価証券報告書)、季度报告和半年度报告、特别报告、大量持股报告(大量保有報告書)、要约收购,以及其背后的 XBRL/PDF/CSV 文档。

工具

工具需要密钥?功能
edinet_search_filers否将日本企业解析为 EDINET 代码和证券代码,数据来自金融厅的官方 EDINET 代码列表(约 11,400 家申报企业)。可按日文名称、英文名称、假名、EDINET 代码和股票代码搜索。
edinet_list_filings是获取某一天申报的所有文档,可按申报企业、文档类型和仅含 XBRL 进行筛选。
edinet_company_filings是获取某家申报企业在不超过 31 天的日期范围内提交的文件,按时间从新到旧排列。
edinet_financials是从企业年度证券报告中提取主要年度数据(净销售额、营业收入、归属于所有者的净利润、总资产、净资产),并提供会计期间、会计准则(J-GAAP / IFRS / US GAAP)、申报文件 ID 和利润率。
单位、期间和口径(edinet_financials)
  • 每个数值都带有申报文件标注的 currency 和 unit_id,单位为完整货币单位(申报文件以千或百万为单位显示时的舍入不属于结构化数据)。不会进行转换或缩放。
  • 若数值的单位不是货币代码,或其文本不是纯数字,则返回 value: null、unit_status: "unresolved",并将申报文件中的文本放在 value_as_filed 中。
  • 仅读取年度报告中的本年度数据,因此每个数值都涵盖 period_start 至 period_end 之间的完整财年。不读取季度报告和半年度报告(其中的数据为累计值)。
  • 优先采用合并数据;只有在缺少合并数据时,才会以带标签的备用项形式提供非合并数据。若没有年度报告或结构化数据,则返回 found:false(而不是空列表)。
  • 截至 2026-10-25,尚未通过真实环境验证: fleet 上没有 Subscription-Key(见“身份验证”),因此此工具仅使用合成测试数据进行测试。首次使用真实密钥调用时,应对照已知申报文件进行核验。

两项访问规则

  1. 代码列表无需密钥。 金融厅提供的 https://disclosure2dl.edinet-fsa.go.jp/searchdocument/codelist/Edinetcode.zip 无需凭据即可访问。该 ZIP 大约为 570 KB,内含一个 Shift_JIS CSV。此 pack 使用 DecompressionStream('deflate-raw') 解压,并使用 TextDecoder('shift_jis') 解码;workerd 支持这两项功能,已于 2026-09-13 在本地 wrangler dev 中验证。值得注意的是,本仓库中没有其他 pack 会解码这种旧版日文编码。
  2. API v2 需要免费的 Subscription-Key,由调用者通过 _apiKey 提供。该密钥会作为 Subscription-Key 查询参数发送给上游。

身份验证

自带密钥。 edinet_search_filers 不需要密钥。edinet_list_filings 和 edinet_company_filings 需要 EDINET API v2 Subscription-Key,由调用方通过 _apiKey 提供;如果没有密钥,它们会以 "requires an API key" 为由拒绝,因此网关会将该拒绝记为门禁拦截,而不是我们的缺陷。

Pipeworx 没有 EDINET 平台密钥,这是经过决定的,而非疏忽(fleet #1942,2026-09-16)。Bruce 注册了 EDINET 账户——账户确实存在——但 FSA 自己的密钥签发页面在他们那边显示为空白,因此无法通过该账户获取密钥。我们没有让已完成的工具包因第三方服务中断而搁置,而是以 BYOK 方式发布了工具包。

如果有人要重新核查: 应查看已登录 EDINET 账户后的密钥页面,而不是预认证 URL——…/api/auth/index.aspx?mode=1 会 302 跳转到 Azure B2C,无论登录后的页面是否正常,它都会正常响应,因此未通过身份验证进行探测,无法说明任何问题。

如果获取到密钥,应在执行 wrangler secret put 的同一项更改中,将 platformKeyEnv: 'PLATFORM_EDINET_KEY' 加入清单——过早声明会解除路由拦截,并将有关日本申报文件的问题指向只能拒绝请求的工具(参见 fda-inspections 先例,#617)。

注意事项

  • 没有公司搜索端点。 API 只按日期列出申报文件,除此之外别无其他(documents.json?date=YYYY-MM-DD&type=2)。因此,“Toyota 的申报文件”需要遍历每日列表——每天向上游发起一次请求,这就是 edinet_company_filings 将范围限制为 31 天的原因。先使用无需密钥的 edinet_search_filers 查找公司。
  • 证券代码为五位数。 Toyota 在 EDINET 的代码是 72030,在交易所则是 7203。两个工具都接受其中任一代码,并返回两种代码(sec_code / ticker)。
  • 使用 Shift_JIS,而非 UTF-8。 将代码列表按 UTF-8 解码会导致所有日文名称都出现乱码,且不会发出提示——ASCII 列仍能正常解析。
  • 个人申报人。 约 11,400 行中有约 3,200 行是自然人(大量保有報告書申报人,提出者種別 以 個人 开头)。他们的 所在地 是家庭住址,因此工具包会从这些行中移除 location,并为组织保留该字段。
  • 年度报告集中申报。 大多数日本上市公司于 3 月 31 日结账,并在 6 月下旬申报;两周内没有结果通常是因为日历安排,而非错误。

为什么没有平台密钥(历史)

EDINET API v2 注册不需要法人番号(这是从 NTA houjin-bangou 遗留的担忧,参见 fleet #1928)。它采用 Azure AD B2C 自助注册,表单只要求提供以下四项:

电子邮件 · 通过电子邮件发送的验证码 · 密码 · CAPTCHA

字段 ID 是从 2026-09-13 的实时注册页面读取的: email、emailVerificationCode、newPassword、reenterPassword、 captchaEntered / challengeString / captchaControlChallengeCode ("ボットを倒すお手伝いをします")。不需要组织、公司编号或日本地址——美国个人也可以注册。

CAPTCHA 使注册成为需要人工完成的步骤,因此交给了 Bruce。他完成了注册——但随后 EDINET 的密钥签发页面显示为空白(2026-09-16)。此时工具包改为 BYOK 发布,而不是继续等待供应商网站恢复。

以下事项仍待完成,供页面恢复后接手的人处理:

  1. 在网关上执行 wrangler secret put PLATFORM_EDINET_KEY。
  2. 在同一项更改中,将 platformKeyEnv: 'PLATFORM_EDINET_KEY' 加入 workers/gateway/src/pack-manifest.json 中的 edinet 条目。
  3. 将 tool-examples.json 中两个需要密钥的条目替换为确实返回过数据的调用。 当前发布的 edinet:edinet_list_filings 和 edinet:edinet_company_filings 使用的参数格式取自 FSA 自己的规范(ESE140206,EDINET API仕様書 Version 2)以及通过实时查询确定的真实 EDINET 代码(E02144 = Toyota)——但调用本身从未成功完成,因为我们从未持有密钥。在有人实际运行这两个示例前,应将其视为未经验证。

已验证在线(仅限无需密钥的部分)

2026-09-13,2026-09-16 对已推广的软件包重新运行:

edinet_search_filers({query:"Toyota", limit:3})   → 6 matches of 11,389 filers
  E02144  7203  トヨタ自動車株式会社 / TOYOTA MOTOR CORPORATION
  E02505  8015  豊田通商株式会社   / TOYOTA TSUSHO CORPORATION
  E00540  3116  トヨタ紡織株式会社 / TOYOTA BOSHOKU CORPORATION
edinet_search_filers({query:"トヨタ自動車"})       → 1 match  (E02144)
edinet_search_filers({query:"7203"})               → 1 match  (E02144)
edinet_search_filers({query:"E02144"})             → 1 match  (E02144)
edinet_search_filers({query:"Mitsubishi UFJ", listed_only:true})
                                                   → E03606 / 8306

edinet_list_filings 和 edinet_company_filings 在没有密钥时会拒绝请求,并显示 “requires an API key”,因此网关会将拒绝记录为门禁,而不是错误。

快速开始

添加到你的 MCP 客户端(Claude Desktop、Cursor、Windsurf 等):

{
  "mcpServers": {
    "edinet": {
      "url": "https://gateway.pipeworx.io/edinet/mcp"
    }
  }
}
此端点实际提供的内容

https://gateway.pipeworx.io/edinet/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 都连接到同一个网关和相同的 1879+ 个数据源。唯一的区别是哪些软件包的工具会被直接列出;无论连接哪个端点,ask_pipeworx 都能访问所有工具。

没有 MCP 客户端?通过 HTTP 调用

curl -X POST https://gateway.pipeworx.io/v1/tools/edinet_search_filers \
  -H 'Content-Type: application/json' \
  -d '{"query":"Toyota"}'

首次调用无需账户。查看任意工具:GET https://gateway.pipeworx.io/v1/tools/edinet_search_filers。查找工具:使用 {"query":"..."} 向 https://gateway.pipeworx.io/v1/tools/search_packs 发送 POST 请求。

独立运行(无需网关账户)

此软件包也可作为本地 stdio MCP 服务运行——无需 Pipeworx 账户,也无需往返网关:

{
  "mcpServers": {
    "edinet": {
      "command": "npx",
      "args": ["-y", "@pipeworx/mcp-edinet"]
    }
  }
}

或者直接运行,确认服务可以启动:

npx -y @pipeworx/mcp-edinet

它通过 stdin/stdout 使用 MCP 协议,并针对仅属于此软件包的工具响应 initialize/tools/list/tools/call——不包含上述网关连接所添加的任何共享元工具。来源相同,工具相同,但没有 ask_pipeworx 路由。

使用 ask_pipeworx

你可以用通俗的英语提问,而不是直接调用工具——此功能既适用于上面提到的软件包端点,也适用于完整网关:

ask_pipeworx({ question: "your question about Edinet data" })

网关会选择合适的工具并自动填充参数。

更多信息

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。