Token导航 LogoToken导航

MCP Server · 金融服务

Edinet MCP

edinet-mcp是一个用于解析日本金融数据EDINET XBRL文件的库和MCP服务器,支持多种会计准则的标准化处理和财务数据比较。

stdio官方级别未说明来源级核验工具 9
PythonClaude金融数据Claude DesktopCursor

快速开始

作者 / 组织
ajtgjmdjp
提供方
ajtgjmdjp
运行时
Python

工具数量

9

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

9

仓库热度

收录来源

3 个

MCP World

选型结论

Edinet MCP 属于金融服务类 MCP Server,公开资料标注 9 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude、Cursor,有可以直接复制的安装命令;接入前先确认权限范围。

分类

金融服务

传输方式

stdio

认证方式

无需认证

部署方式

支持远程部署

安装与配置

安装命令

pip install edinet-mcp

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 9 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

edinet mcp

日本金融数据的EDINET XBRL解析库和MCP服务器。

📝 日语教程:只需问Claude就能知道上市公司的决算(Zenn)

这是什么?

edinet mcp 提供对日本的程序访问 埃迪内 财务披露制度。它将跨会计准则(J-GAAP/IFRS/US-GAAP)的XBRL文件标准化为规范的日本标签,并将其作为 主控程序 用于AI助手的服务器。

  • 搜索5000多家日本上市公司
  • Retrieve annual/quarterly financial reports(有似证券报告书,四半期报告书)
  • 自动标准化: stmt["売上高"] 不按会计准则办事
  • 财务指标(ROE、ROA、利润率)和同比比较
  • 将XBRL解析为Polars/pandas数据帧(BS、PL、CF)
  • 多公司筛选:比较多达20家公司的财务指标
  • 跨周期差异(xbrl差异):将不同时期的财务报表与变化金额和增长率进行比较
  • MCP服务器,配备9个克劳德桌面工具和其他人工智能工具

快速开始

安装

pip install edinet-mcp
# or
uv add edinet-mcp
# or with Docker
docker run -e EDINET_API_KEY=your_key ghcr.io/ajtgjmdjp/edinet-mcp serve

获取API密钥

注册(免费) 埃迪内 并设置:

export EDINET_API_KEY=your_key_here

30秒示例

import asyncio
from edinet_mcp import EdinetClient

async def main():
    async with EdinetClient() as client:
        # Search for Toyota
        companies = await client.search_companies("トヨタ")
        print(companies[0].name, companies[0].edinet_code)
        # トヨタ自動車株式会社 E02144

        # Get normalized financial statements
        stmt = await client.get_financial_statements("E02144", period="2025")

        # Dict-like access — works for J-GAAP, IFRS, and US-GAAP
        revenue = stmt.income_statement["売上高"]
        print(revenue)  # {"当期": 45095325000000, "前期": 37154298000000}

        # See all available line items
        print(stmt.income_statement.labels)
        # ["売上高", "売上原価", "売上総利益", "営業利益", ...]

        # Export as DataFrame
        print(stmt.income_statement.to_polars())

asyncio.run(main())

财务指标

import asyncio
from edinet_mcp import EdinetClient, calculate_metrics

async def main():
    async with EdinetClient() as client:
        stmt = await client.get_financial_statements("E02144", period="2025")
        metrics = calculate_metrics(stmt)
        print(metrics["profitability"])
        # {"売上総利益率": "25.30%", "営業利益率": "11.87%", "ROE": "12.50%", ...}

asyncio.run(main())

多公司筛选

import asyncio
from edinet_mcp import EdinetClient, screen_companies

async def main():
    async with EdinetClient() as client:
        result = await screen_companies(
            client,
            ["E02144", "E01777", "E01967"],  # Toyota, Sony, Keyence
            period="2025",
            sort_by="営業利益率",  # Sort by operating margin
        )
        for r in result["results"]:
            print(f"{r['company_name']}: {r['profitability']['営業利益率']}")
        # 株式会社キーエンス: 51.91%
        # ソニーグループ株式会社: 11.69%
        # トヨタ自動車株式会社: 9.98%

asyncio.run(main())

跨期差异

import asyncio
from edinet_mcp import EdinetClient, diff_statements

async def main():
    async with EdinetClient() as client:
        result = await diff_statements(
            client, "E02144",
            period1="2024", period2="2025",
        )
        for d in result["diffs"][:5]:
            print(f"{d['科目']}: {d['増減額']:+,.0f} ({d['増減率']})")
        # 売上高: +7,941,027,000,000 (+21.38%)
        # 営業利益: +1,204,832,000,000 (+28.44%)
        # ...

asyncio.run(main())

MCP服务器

添加到AI工具的MCP配置中:

Claude Desktop (~⁠/Library/Application Support/Claude/claude_desktop_config.json)

{
  "mcpServers": {
    "edinet": {
      "command": "uvx",
      "args": ["edinet-mcp", "serve"],
      "env": {
        "EDINET_API_KEY": "your_key_here"
      }
    }
  }
}

Cursor (~⁠/.cursor/mcp.json)

{
  "mcpServers": {
    "edinet": {
      "command": "uvx",
      "args": ["edinet-mcp", "serve"],
      "env": {
        "EDINET_API_KEY": "your_key_here"
      }
    }
  }
}

Claude Code

claude mcp add edinet -- uvx edinet-mcp serve
# Then set EDINET_API_KEY in your environment

Then ask your AI:“告诉我丰田最新的营业利润”

可用的MCP工具

工具说明
search_companies 用企业名、证券代码、EDINET代码搜索
get_filings指定期间の开示书类一覧を取得
get_financial_statements 获取标准化财务报表(BS/PR/CF)
get_financial_metricsROE・ROA・利益率等の财务指标を计算
compare_financial_periods前年比较(增减額・增减率)
screen_companies复数企业の财务指标を一括比较(最大20社)
list_available_labels |可获得的财务科目一览|
get_company_info 获取企业详细信息
diff_financial_statements2期间の财务诸表を比较(增减額・增减率)
备注:The period 参数是 申请年份不是财政年度。3月财政年度末的日本公司在次年6月提交年度报告(例如2024财年→ 2025年提交→ period="2025").

命令行界面

# Search companies
edinet-mcp search トヨタ

# Fetch income statement
edinet-mcp statements -c E02144 -p 2024

# Screen multiple companies
edinet-mcp screen E02144 E01777 E02529 --sort-by ROE

# Compare across periods (xbrl-diff)
edinet-mcp diff -c E02144 -p1 2023 -p2 2024

# Start MCP server
edinet-mcp serve

API 参考

EdinetClient

所有客户端方法都是异步的。使用 async with 为了进行适当的资源清理:

import asyncio
from edinet_mcp import EdinetClient

async def main():
    async with EdinetClient(
        api_key="...",        # or EDINET_API_KEY env var
        cache_dir="~/.cache/edinet-mcp",
        rate_limit=0.5,       # requests per second
        max_retries=3,        # retry on 429/5xx with exponential backoff
    ) as client:
        # Search
        companies: list[Company] = await client.search_companies("query")
        company: Company = await client.get_company("E02144")

        # Filings
        filings: list[Filing] = await client.get_filings(
            start_date="2024-01-01",
            edinet_code="E02144",
            doc_type="annual_report",
        )

        # Financial statements (by edinet_code + period)
        stmt: FinancialStatement = await client.get_financial_statements(
            edinet_code="E02144",
            period="2024",  # Filing year (not fiscal year)
        )

        # Or get the most recent filing (within past 365 days)
        stmt = await client.get_financial_statements(edinet_code="E02144")

        df = stmt.income_statement.to_polars()  # Polars DataFrame
        df = stmt.income_statement.to_pandas()  # pandas DataFrame (optional dep)

asyncio.run(main())

Filing

退回的归档对象 get_filings() 具有以下属性:

for filing in filings:
    print(filing.description)    # "有価証券報告書-第121期(...)"
    print(filing.filing_date)    # datetime.date(2025, 6, 18)
    print(filing.doc_id)         # "S100VWVY"
    print(filing.company_name)   # "トヨタ自動車株式会社"
    print(filing.period_start)   # datetime.date(2024, 4, 1)
    print(filing.period_end)     # datetime.date(2025, 3, 31)

StatementData

每份财务报表(BS、PL、CF)都是 StatementData 具有类似dict访问权限的对象:

# Dict-like access by Japanese label
stmt.income_statement["売上高"]       # → {"当期": 45095325, "前期": 37154298}
stmt.income_statement.get("営業利益") # → {"当期": 5352934} or None
stmt.income_statement.labels          # → ["売上高", "営業利益", ...]

# DataFrame export
stmt.balance_sheet.to_polars()    # → polars.DataFrame
stmt.balance_sheet.to_pandas()    # → pandas.DataFrame (requires pandas)
stmt.balance_sheet.to_dicts()     # → list[dict]
len(stmt.balance_sheet)           # number of line items

# Raw XBRL data preserved
stmt.income_statement.raw_items   # original pre-normalization data

归一化

edinet-mcp自动规范跨会计准则的XBRL元素名称:

会计准则XBRL元素标准化标签
J-GAAPNetSales売上高
IFRSRevenue, SalesRevenuesIFRS売上高
US-GAAPRevenues売上高

映射在中定义 taxonomy.yaml --161个项目涵盖PL(42)、BS(79)和CF(40),IFRS/US-GAAP要素变体通过后缀剥离自动解析。通过编辑YAML文件添加新的映射,无需更改代码。

from edinet_mcp import get_taxonomy_labels

# Discover available labels
labels = get_taxonomy_labels("income_statement")
# [{"id": "revenue", "label": "売上高", "label_en": "Revenue"}, ...]

EDINET后缀剥离

EDINET在XBRL元素名称后附加会计标准和特定章节的后缀(例如。, TotalAssetsIFRSSummaryOfBusinessResults).这些会被自动剥离以匹配规范分类条目。非合并上下文被过滤掉,以首选合并数字。

建筑

EDINET API → Parser (XBRL/TSV) → Normalizer (taxonomy.yaml) → MCP Server
                                        ↓
                              StatementData["売上高"]
                              calculate_metrics(stmt)
                              compare_periods(stmt)

发展

git clone https://github.com/ajtgjmdjp/edinet-mcp
cd edinet-mcp
uv sync --extra dev
uv run pytest -v           # 213 tests
uv run ruff check src/

数据归因

此项目使用以下数据 埃迪内 (投资者网络电子披露),由 Financial Services Agency of Japan (金融庁). EDINET数据根据 公共数据许可证1.0.

相关项目

日本金融数据栈 (同一作者):

社区:

许可证

阿帕奇-2.0。看 通知 第三方归因。

工具与能力

工具数量

9

资源数量

0

提示词数量

0

能力标签

XBRL解析Python本地部署金融数据分析日本财务数据MCP服务器会计准则标准化

支持客户端

Claude DesktopClaudeCursor

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

行情与财报查询

拉取价格、财报和指标,让模型做对比解读。

持仓与流水

在授权范围内查询持仓、生成流水说明。

风险提示

结合数据给出波动和敞口提醒。

选择建议

值得选的地方

  • 只提供 9 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude、Cursor,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在金融服务场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Edinet MCP

MCP World · 本页

9stdio有3 个2026-05-17
MCP Server 273df76d

MCP World

0stdio有1 个2026-05-17
MCP 4a351ada

MCP World

0stdio有1 个2026-05-17
a share MCP is just I need

MCP World

0未说明未标注1 个2026-05-17
Financemcp 538284b7

MCP World

18stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Edinet MCP 怎么安装?

公开资料给出的安装命令是 pip install edinet-mcp,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Edinet MCP 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

Edinet MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Edinet MCP 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Edinet MCP 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude、Cursor;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP