ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

Edinet MCP

โดย ajtgjmdjpรุ่น 0.4.1i★ 20iรันบนเครื่อง
ชื่อใน registryio.github.ajtgjmdjp/edinet-mcp

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

Access Japanese financial disclosures (EDINET). Search companies, retrieve BS/PL/CF statements.

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: บัญชี การเงิน และภาษี
  • ต้องใส่ค่าเหล่านี้: EDINET_API_KEY

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

ค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต

ต้องเตรียมก่อน

  • PyPIติดตั้ง uv ของ Python (มีคำสั่ง uvx) ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

{
  "mcpServers": {
    "edinet": {
      "command": "uvx",
      "args": [
        "edinet-mcp"
      ],
      "env": {
        "EDINET_API_KEY": "ใส่ค่าของคุณ"
      }
    }
  }
}

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add edinet --env EDINET_API_KEY='ใส่ค่าของคุณ' -- uvx edinet-mcp

เติมค่าที่เว้นว่างไว้ก่อนรัน

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "edinet": {
      "command": "uvx",
      "args": [
        "edinet-mcp"
      ],
      "env": {
        "EDINET_API_KEY": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "edinet": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "edinet-mcp"
      ],
      "env": {
        "EDINET_API_KEY": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าที่ต้องใส่เอง

  • EDINET_API_KEY ความลับ จำเป็น env
    API key from EDINET (https://disclosure.edinet-fsa.go.jp/)

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ใช้กับโปรแกรมไหนได้

ดูจากแบบการต่อของ server ตัวนี้ และเอกสารของผู้ทำโปรแกรมแต่ละตัว ตรวจเมื่อ 10 พ.ย. 2569

ติดตั้งบนเครื่องได้ใน

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

ดูโปรแกรมทั้งหมดพร้อมข้อดีข้อเสีย →

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 10 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub ajtgjmdjp ซึ่งเป็นเจ้าของ repo

  • ✓ ผ่าน

    ยังมีคนดูแล

    มีการแก้โค้ดล่าสุด 16 วันที่ผ่านมา

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

เทียบกับตัวอื่นในหมวด บัญชี การเงิน และภาษีi

  • ดาวมากกว่า 97% ของอีก 3091 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 1% ของอีก 3091 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 3091 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

Edinet MCP ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 2 จาก 2 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

ต้องใส่ค่าเหล่านี้: EDINET_API_KEY

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด 16 วันที่ผ่านมา และส่งรุ่นล่าสุด (0.4.1) เข้า registry 9 เดือนที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี CCXT, Finance Toolkit, AKQuant

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

CCXT

Official CCXT MCP server - Market data and trading across 100+ exchanges and prediction markets

โดย ccxtใช้กันมาก↓ 667/สัปดาห์★ 44.8Kอัปเดต 2 เดือนที่ผ่านมา

รันบนเครื่อง

Finance Toolkit

500+ transparent financial methods calculated from raw statements, not third-party endpoints.

โดย JerBoumaใช้กันมาก↓ 15.6K/สัปดาห์★ 5.5Kอัปเดต เมื่อวาน

บนเครื่องหรือคลาวด์

AKQuant

Write and backtest trading strategies with AKQuant: API lookup, strategy checks, backtest runs

โดย akfamilyใช้กันมาก↓ 3.3K/สัปดาห์★ 2.6Kอัปเดต เมื่อวาน

รันบนเครื่อง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

edinet-mcp

EDINET XBRL parsing library and MCP server for Japanese financial data.

日本語版READMEはこちら

📝 日本語チュートリアル: Claude に聞くだけで上場企業の決算がわかる (Zenn)

Part of the Japan Finance Data Stack: edinet-mcp (securities filings) | tdnet-disclosure-mcp (timely disclosures) | estat-mcp (government statistics) | stockprice-mcp (stock prices & FX)

Building a high-throughput pipeline, batch-parsing thousands of filings, or

need SEC EDGAR coverage too? See xbrl-facts

— a Rust iXBRL engine for SEC + EDINET with byte-range provenance.

What it looks like

Ask your AI assistant (with edinet-mcp connected):

You: トヨタの最新の決算と、会社が挙げている主要なリスクを教えて

Claude: トヨタ自動車 (E02144) の有価証券報告書(2026年6月10日提出)によると——

- 売上高: 50.7兆円(前期 48.0兆円、約 +5.5%)

- 事業等のリスク(有報本文より): 自動車市場の競争激化 — CASE などの技術革新が進むことで競争は一層激化し、業界再編につながる可能性も指摘 …

Every number and passage above is fetched from the actual EDINET filing via get_financial_statements / get_narrative — nothing comes from the model's memory.

What is this?

edinet-mcp provides programmatic access to Japan's EDINET financial disclosure system. It normalizes XBRL filings across accounting standards (J-GAAP / IFRS / US-GAAP) into canonical Japanese labels and exposes them as an MCP server for AI assistants.

  • Search 5,000+ listed Japanese companies
  • Retrieve annual/quarterly/semiannual reports (有価証券報告書, 四半期報告書, 半期報告書) plus extraordinary (臨時報告書) and large shareholding (大量保有報告書) filings
  • Automatic normalization: stmt["売上高"] works regardless of accounting standard
  • Bilingual labels: stmt["Revenue"] works too (case-insensitive), and the MCP tool supports language='en' for fully English output
  • Financial metrics (ROE, ROA, profit margins) and year-over-year comparisons
  • Parse XBRL into Polars/pandas DataFrames (BS, PL, CF)
  • Multi-company screening: Compare financial metrics across up to 20 companies
  • Cross-period diff (xbrl-diff): Compare financial statements across periods with change amounts (増減額) and growth rates (増減率)
  • Narrative sections: extract 事業等のリスク, MD&A, 経営方針 and more as plain text (get_narrative)
  • Evidence receipts (optional): machine-verifiable claim-to-source records for key figures, backed by the xbrl-facts Rust engine (get_receipts, pip install edinet-mcp[receipts])
  • MCP server with 11 tools for Claude Desktop and other AI tools
Why edinet-mcp?

Unlike commercial EDINET data APIs, edinet-mcp is fully free and local: the XBRL parser runs on your machine, the only credential you need is a free EDINET API key from the FSA, and every number is traceable to the original filing. No paid tiers, no usage caps beyond EDINET's own rate limits, Apache-2.0 licensed.

Quick Start

Installation
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

Get an API Key

Register (free) at EDINET and set:

export EDINET_API_KEY=your_key_here
30-Second Example
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}

English labels work too (case-insensitive)

assert stmt.income_statement["Revenue"] == revenue print(stmt.income_statement.labels_en)

["Revenue", "Cost of Sales", "Gross Profit", ...]

See all available line items

print(stmt.income_statement.labels)

["売上高", "売上原価", "売上総利益", "営業利益", ...]

Export as DataFrame

print(stmt.income_statement.to_polars())

asyncio.run(main())

Narrative Sections (定性情報)
import asyncio

from edinet_mcp import EdinetClient

async def main(): async with EdinetClient() as client:

事業等のリスク as plain text

risks = await client.get_narrative("E02144", "business_risks") print(risks.text[:200])

Other sections: mdna, business_policy, description_of_business,

corporate_governance, research_and_development

asyncio.run(main())

Financial Metrics
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())

Multi-Company Screening
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())

Cross-Period Diff
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": print(f"{d['科目']}: {d['増減額']:+,.0f} ({d['増減率']})")

売上高: +7,941,027,000,000 (+21.38%)

営業利益: +1,204,832,000,000 (+28.44%)

...

asyncio.run(main())

MCP Server

Add to your AI tool's MCP config:

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" } } } }

</details>

Cursor (~/.cursor/mcp.json)

{

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

</details>

Claude Code

claude mcp add edinet -- uvx edinet-mcp serve

Then set EDINET_API_KEY in your environment

</details>

Then ask your AI: "トヨタの最新の営業利益を教えて"

Available MCP Tools
ToolDescription
search_companies企業名・証券コード・EDINETコードで検索
get_filings指定期間の開示書類一覧を取得
get_financial_statements正規化された財務諸表 (BS/PL/CF) を取得
get_financial_metricsROE・ROA・利益率等の財務指標を計算
compare_financial_periods前年比較(増減額・増減率)
screen_companies複数企業の財務指標を一括比較(最大20社)
get_narrative定性情報(事業等のリスク・MD&A 等)をページング付きで取得
get_receipts主要科目の検証可能な evidence receipt を取得(要 [receipts] extra)
list_available_labels取得可能な財務科目の一覧
get_company_info企業の詳細情報を取得
diff_financial_statements2期間の財務諸表を比較(増減額・増減率)

Note: The period parameter is the filing year, not the fiscal year. Japanese companies with a March fiscal year-end file annual reports in June of the following year (e.g., FY2024 → filed 2025 → period="2025").

CLI

# 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 Reference

EdinetClient

All client methods are async. Use async with for proper resource cleanup:

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 ) 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

Filing objects returned by get_filings() have the following attributes:

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

Each financial statement (BS, PL, CF) is a StatementData object with dict-like access:

# 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

Normalization

edinet-mcp automatically normalizes XBRL element names across accounting standards:

Accounting StandardXBRL ElementNormalized Label
J-GAAPNetSales売上高

| IFRS | `Re

ตัดมาแค่ช่วงต้น อ่านต่อใน repo