Skip to main content
Glama

EDINET財務諸表分析ツール

企業名を指定するだけで、EDINET(金融庁の開示システム)から有価証券報告書・半期報告書を取得し、財務三表(PL/BS/CF)のデータを抽出するツールです。

2つの使い方ができます:

使い方

こんな人向け

実行方法

🖥️ CLI

財務データをCSV/Excelで分析したい

python -m edinet_analyzer --company トヨタ自動車

🤖 MCPサーバー

Claude Desktop / Claude Codeから自然言語で聞きたい

「トヨタの直近の売上と利益を調べて」

できること

  • 企業名からのEDINETコード自動検索(日本語名・カタカナ・英字名に対応。「トヨタ自動車」「フリー」「freee」いずれでもOK)

  • 有価証券報告書・半期報告書・四半期報告書(2024年廃止前の過去分)の検索

  • XBRLから約80項目の財務データを抽出

    • 損益計算書 (PL): 売上高、営業利益、経常利益、当期純利益、販管費の内訳 等

    • 貸借対照表 (BS): 資産・負債・純資産の主要項目、借入金、利益剰余金 等

    • キャッシュフロー (CF): 営業CF、投資CF、財務CF、設備投資(有形固定資産の取得)、配当 等 → フリーキャッシュフロー(営業CF − 設備投資)も算出可能

  • 複数企業・複数期間の比較(行=財務項目、列=期間の表形式)

  • CSV / JSON / Excel への出力

  • APIレスポンスの自動キャッシュ(同じ検索の2回目以降は数秒で完了

Related MCP server: edinet-mcp

クイックスタート

1. インストール

Python 3.9以上(MCPサーバーを使う場合は3.10以上)が必要です。

git clone https://github.com/dotmd-projects/edinet-mcp.git
cd edinet-mcp

python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

パッケージとしてインストールする場合(edinet-analyzer コマンドが使えるようになります):

pip install -e .          # CLIのみ
pip install -e ".[mcp]"   # MCPサーバーも使う場合

2. EDINET APIキーの取得(無料)

  1. アカウント作成 EDINET API 利用登録ページ にアクセスし、氏名・メールアドレス・電話番号を入力して新規登録します。

  2. 多要素認証 メールで届く確認コードを入力後、SMS認証を行います。電話番号は国番号 +81 を選択し、先頭の 0 を省略して入力します(例: 80-XXXX-XXXX)。

  3. ブラウザのポップアップ許可 APIキーはポップアップウィンドウで表示されます。ブラウザが https://api.edinet-fsa.go.jp のポップアップをブロックしている場合は、事前に許可設定を行ってください(Microsoft Edgeの利用も推奨されています)。

  4. APIキーの取得 認証完了後、連絡先を登録するとサブスクリプションキーが画面に表示されます。

詳細な仕様は EDINET API仕様書 (Version 2) を参照してください。

取得したキーを .env に設定します:

cp .env.example .env
# .env を編集: EDINET_SUBSCRIPTION_KEY=取得したキー

3. 実行

python -m edinet_analyzer --company トヨタ自動車 --from 2025-06-01 --to 2025-06-30

CLIの使い方

# 基本(結果をターミナルに表形式で表示)
python -m edinet_analyzer --company トヨタ自動車 --from 2025-06-01 --to 2025-06-30

# CSVに保存
python -m edinet_analyzer --company トヨタ自動車 --from 2025-06-01 --to 2025-06-30 -o output/toyota.csv

# 複数企業をまとめて取得
python -m edinet_analyzer --company トヨタ自動車 本田技研工業 -o output/results.csv

# JSON / Excel出力(拡張子から自動判定)
python -m edinet_analyzer --company トヨタ自動車 -o output/results.json
python -m edinet_analyzer --company トヨタ自動車 -o output/results.xlsx

# 詳細ログ
python -m edinet_analyzer --company トヨタ自動車 -v

オプション一覧

オプション

説明

デフォルト

--company

分析対象の企業名(スペース区切りで複数指定可)

必須

--from

検索開始日 (YYYY-MM-DD)

1年前

--to

検索終了日 (YYYY-MM-DD)

今日

-o, --output

出力ファイルパス (.csv / .json / .xlsx)

標準出力

--format

出力形式を明示指定

拡張子から自動判定

-v, --verbose

詳細ログを出力

off

出力イメージ

行が財務項目、列が期間の表形式です。1つの有価証券報告書に含まれる過去期間のデータもまとめて取得されます。

企業名,項目,2023-04-01~2024-03-31,2024-04-01~2025-03-31
トヨタ自動車,売上高,17575593000000,18277671000000
トヨタ自動車,営業利益,3094495000000,2966857000000
...

MCPサーバーの使い方

Claude DesktopやClaude Codeから、自然言語でEDINETの財務データにアクセスできます。

Claude Desktopへの登録

~/Library/Application Support/Claude/claude_desktop_config.json に以下を追加し、Claude Desktopを再起動します:

{
  "mcpServers": {
    "edinet-mcp": {
      "command": "/path/to/edinet_analyzer/.venv/bin/python",
      "args": ["/path/to/edinet_analyzer/server.py"],
      "env": {
        "EDINET_SUBSCRIPTION_KEY": "your_subscription_key_here"
      }
    }
  }
}

/path/to/edinet_analyzer は実際のインストール先に置き換えてください。

提供ツール

ツール

説明

質問例

search_company

企業名からEDINETコードを検索

「トヨタ自動車のEDINETコードを調べて」

list_financial_reports

指定期間の決算書類一覧を取得

「トヨタの2025年6月の決算書類を一覧して」

get_financial_data

財務データ (PL/BS/CF) を取得・億円単位で表示

「トヨタの直近の売上と利益を教えて」

compare_companies

複数企業の財務データを比較

「トヨタと本田の財務を比較して」

リモートMCP(SSE)として起動する場合

python server.py --transport sse --port 8000

クライアント側の設定:

{
  "mcpServers": {
    "edinet-mcp": { "url": "https://your-server-url/sse" }
  }
}

Claude Code の場合:

claude mcp add edinet-mcp --transport sse https://your-server-url/sse

キャッシュの仕組み

EDINET APIへのアクセスは1秒1リクエストに制限しているため、初回検索は期間の営業日数分の時間がかかります(1ヶ月分で約20秒、1年分で約4分)。日付範囲は1〜2ヶ月以内を推奨します。なお、3月決算企業の有価証券報告書は通常6月に提出されます。

一方、取得したデータは data/cache/ に自動保存されるため、2回目以降の同じ検索はAPIアクセスなしで数秒で完了します:

  • data/cache/documents/ — 日付ごとの書類一覧(過去日のみキャッシュ)

  • data/cache/*.xbrl — ダウンロード済みのXBRL本体

キャッシュは config/config.json"cache_enabled": false で無効化できます。

プロジェクト構成

edinet_analyzer/
├── server.py               # MCPサーバーエントリーポイント (FastMCP, stdio/SSE)
├── edinet_analyzer/        # メインパッケージ
│   ├── __main__.py         # CLIエントリーポイント
│   ├── analyzer.py         # EDINET API連携・XBRL解析(コアロジック)
│   └── config.py           # 設定管理
├── config/
│   └── config.json         # 運用設定 (rate_limit, timeout等)
├── data/
│   ├── master/             # EDINETコードマスタ (EdinetcodeDlInfo.csv)
│   └── cache/              # APIレスポンスのキャッシュ
├── test/                   # ユニットテスト (pytest)
├── output/                 # CLI分析結果の出力先
├── logs/                   # ログファイル
├── .env.example            # APIキー設定のテンプレート
├── pyproject.toml          # パッケージ定義
└── requirements.txt        # 依存パッケージ

設定

APIキーの読み込み優先順位:

  1. 環境変数 EDINET_SUBSCRIPTION_KEY

  2. .env ファイル

config/config.json で運用パラメータを変更できます:

{
    "rate_limit": 1,
    "max_retries": 3,
    "timeout": 30,
    "cache_enabled": true
}

キー

説明

rate_limit

APIリクエストの最小間隔(秒)

max_retries

通信エラー時のリトライ回数

timeout

リクエストのタイムアウト(秒)

cache_enabled

ディスクキャッシュの有効/無効

テスト

pip install pytest
python -m pytest test/

ネットワーク不要のユニットテスト48件が実行されます。

ライセンス

MIT License

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dotmd-projects/edinet-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server