japan-ir-search

japan-ir-search

MCP server enabling full-text search of Japanese corporate IR filings (EDINET) via AI agents, supporting local SQLite FTS5 indexing and hosted beta API.

Category
访问服务器

README

japan-ir-search

AIエージェントから日本の企業IR開示書類をテキスト検索できる MCP サーバー。

EDINET(金融庁)の有価証券報告書・四半期報告書・臨時報告書・大量保有報告書などをダウンロードし、SQLite FTS5 でローカルに全文検索インデックスを構築します。Claude Desktop、Cursor、VS Code Copilot などの MCP クライアントから直接利用できます。

🚀 ホスト版(ベータ公開中・APIキー不要)

セットアップ不要で試せるホスト版を Fly.io 上で公開しています。よりステップバイステップの手順は ランディングページ をご覧ください。

  • エンドポイント: https://japan-ir-search.fly.dev/mcp(Streamable HTTP)
  • 収録範囲: 直近2年分・全18書類種別(全上場企業 + 投信・REIT・外国会社等 6,984 提出者 / 約 55,000 件)
  • 認証: 不要(ベータ期間中)
  • 更新: 日次バッチで追記

⚠️ ベータ運用に関する注意

  • 個人運用の実験的サービスです。無保証・予告なく停止・破壊的変更あり。
  • アイドル時にマシンを停止する構成のため、初回リクエストは数秒のコールドスタートがあります。
  • 業務利用・ミッションクリティカル用途にはローカル構築(後述)を推奨します。

MCP クライアント設定例

Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json / Windows: %APPDATA%\Claude\claude_desktop_config.json):

{
  "mcpServers": {
    "japan-ir-search": {
      "type": "http",
      "url": "https://japan-ir-search.fly.dev/mcp"
    }
  }
}

VS Code (.vscode/mcp.json またはユーザー設定):

{
  "servers": {
    "japan-ir-search": {
      "type": "http",
      "url": "https://japan-ir-search.fly.dev/mcp"
    }
  }
}

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

{
  "mcpServers": {
    "japan-ir-search": {
      "url": "https://japan-ir-search.fly.dev/mcp"
    }
  }
}

設定後、AI に「ソニーの最新の事業等のリスクを見せて」「半導体サプライチェーンに言及してる企業を探して」のように聞けます。


何ができるか

既存の EDINET MCP サーバーは財務数値の取得に特化しています。 このツールは有報の「テキスト」を検索対象にする点が異なります。

❌ 既存ツール: 「トヨタの売上高は?」 → 45兆953億円
✅ これ:       「半導体サプライチェーンリスクに言及している企業は?」
               → トヨタ: 「半導体サプライチェーンリスク、地政学的リスク...」(事業等のリスク)
               → ソニー: 「特定サプライヤーへの依存...」(事業等のリスク)

MCP ツール(5つ)

ツール 説明
search_filings 有報テキストの全文検索(セクション・企業名フィルタ対応)
get_filing_section 書類の特定セクション全文を取得
list_indexed_companies インデックス済み企業の一覧
get_index_stats インデックスの統計情報
compare_sections 2つの書類の同一セクションを比較(新出/消失キーワード検出)

検索可能なセクション

  • 事業等のリスク — リスク要因の記述
  • 事業の内容 — 事業概要
  • 経営者による分析(MD&A) — 経営成績・財政状態の分析
  • コーポレート・ガバナンスの状況等
  • 経理の状況
  • 全文 — 上記に分類されない部分を含む全テキスト

対象書類(18種別)

主要(HIGH): 有価証券報告書、四半期報告書、半期報告書、臨時報告書 + 各訂正

準主要(MEDIUM): 内部統制報告書、公開買付届出書/報告書、意見表明報告書、大量保有報告書 + 各訂正

セットアップ

1. インストール

git clone https://github.com/tamcho113/japan-ir-search.git
cd japan-ir-search
uv sync

2. EDINET API キーの取得

EDINET で無料登録し、Subscription-Key を取得してください。

export EDINET_API_KEY=your_key_here

3. インデックス構築

# 直近1年分(約2GB、2〜3時間)
uv run japan-ir-search build

# 直近3年分、全種別(約18GB、20〜30時間)
uv run japan-ir-search build --years 3 --doc-types all

# 主要種別のみ(有報・四半期・半期・臨時のみ)
uv run japan-ir-search build --years 3 --doc-types high

# バックグラウンド実行(推奨)
nohup uv run japan-ir-search -v build --years 3 > build.log 2>&1 &
tail -f build.log

中断しても再開時にインデックス済みの書類はスキップされます。

4. MCP サーバーとして使う

uv run japan-ir-search serve

Claude Desktop・Cursor・VS Code 等での MCP サーバーの設定方法は各クライアントのドキュメントを参照してください。サーバーコマンドは上記です。

設定例(共通パターン):

{
  "command": "uv",
  "args": ["--directory", "/path/to/japan-ir-search", "run", "japan-ir-search", "serve"],
  "env": { "EDINET_API_KEY": "your_key_here" }
}

CLI

# 検索
uv run japan-ir-search search "半導体 サプライチェーン"
uv run japan-ir-search search "M&A 買収" --section risk_factors
uv run japan-ir-search search "ESG" --company トヨタ

# 統計確認
uv run japan-ir-search stats

# MCP サーバー起動
uv run japan-ir-search serve

使い方の例

MCP クライアント(Claude等)にこう聞けます:

  • 「地政学リスクに言及している自動車メーカーを探して」
  • 「ソニーの事業等のリスクを見せて」
  • 「トヨタの前期と当期でリスク記述がどう変わったか比較して」
  • 「臨時報告書でM&Aに言及している直近の書類は?」
  • 「大量保有報告書でアクティビストの動きがある企業は?」

アーキテクチャ

EDINET API → ZIP DL → HTML抽出 → セクション分割 → SQLite FTS5 (trigram)
                                                         ↓
                                              MCP Server ← Claude/Cursor/VS Code
  • SQLite FTS5 (trigram): 日本語テキストを文字 n-gram で全文検索
  • ローカル完結: 外部サービス不要。DB ファイル 1つで動作
  • レート制限対策: 0.8秒間隔 + 429/5xx 指数バックオフリトライ

ストレージ目安

ローカル構築時の DB サイズの目安です。FTS5 インデックス込みのトータル。

範囲 対象 DB サイズ CLI オプション
直近1年 有報・四半期・半期・臨時 + 訂正 (HIGH 8種) ~3GB --years 1 --doc-types high
直近1年 上記 + TOB・大量保有・内部統制等 (全18種) ~7GB --years 1 --doc-types all
直近2年 全18種 ~14GB ⚡実測値 --years 2 --doc-types all
直近3年 HIGH 8種 ~9GB --years 3 --doc-types high
直近3年 全18種 ~21GB --years 3 --doc-types all

ホスト版の現在の収録: 直近 2 年 / 全18種 / 全上場企業 + 投信・REIT等 6,984 提出者 / 約 55,000 件 / 14GB

書類種別の詳細は対象書類を参照。

データについて

EDINET(Electronic Disclosure for Investors' NETwork)は金融庁が運営する法定開示書類の電子開示システムです。API 利用は無料(要登録)。開示データは公共データライセンス 1.0 に基づき提供されています。

ライセンス

MIT

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选
mcp-server-qdrant

mcp-server-qdrant

这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。

官方
精选
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选