Edgar について
Edgarは、米国上場企業の提出書類とSECの構造化データを照会するMCPサーバーです。企業スナップショット、XBRL推移、同業他社や子会社の調査に加え、製品別売上や提出書類の添付資料も扱います。
主な機能
- 01提出書類とXBRL数値を含む企業スナップショット
- 02提出書類の検索と本文取得
- 03XBRLの事実データと時系列の取得
- 04SICコードによる同業他社の検索
- 05親会社と子会社のエンティティ解決
- 06製品別売上と提出資料の抽出
活用シーン
- 01上場企業の最新の財務状況を確認
- 02報告期間ごとの売上推移を追跡
- 03業界内の企業を比較
- 04子会社、製品、開示情報を調査
MCP 対応
SEC EDGARの企業、XBRL、同業他社、子会社、製品別売上、添付資料の照会ツールをMCPクライアントに公開します。READMEにはPipeworxゲートウェイ経由の接続と、引用可能なリソースURIが記載されています。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://gateway.pipeworx.io/edgar/mcpclaude mcp add --transport http pipeworx-io-edgar https://gateway.pipeworx.io/edgar/mcp{"mcpServers":{"pipeworx-io-edgar":{"type":"http","url":"https://gateway.pipeworx.io/edgar/mcp"}}}Cursor で開く{"servers":{"pipeworx-io-edgar":{"type":"http","url":"https://gateway.pipeworx.io/edgar/mcp"}}}VS Code で開く{"mcpServers":{"pipeworx-io-edgar":{"type":"http","url":"https://gateway.pipeworx.io/edgar/mcp"}}}{"mcpServers":{"pipeworx-io-edgar":{"serverUrl":"https://gateway.pipeworx.io/edgar/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
SEC EDGAR — 公開企業の提出書類
米国証券取引委員会の提出書類データベースです。米国のすべての公開企業がここに提出書類を登録しており、各書類にはタイムスタンプが付与され、変更できません。また、すべての開示情報(売上高、負債、リスク要因、役員報酬、M&A 活動、インサイダー取引)は、機械で取得できる形式になっています。無料で利用でき、信頼性の高い情報源です。
Pipeworx の一部です。AI エージェントを 1882 以上の稼働中のデータソースに接続する MCP ゲートウェイです。これは独立した非公式の連携であり、上流プロバイダーとは提携、推奨、公開のいずれもされていません。
AI エージェントにとって重要な理由
AI エージェントが米国の公開企業に関する質問(財務状況、法的リスク、知的財産、役員の交代、最近の重要な出来事など)に答えるなら、その答えは EDGAR にあります。データは構造化されています(XBRL)。そのため、PDF を解析する必要はありません。
主な 2 つのフローと、その両方を処理する 1 回の呼び出しです。
0. スナップショット(1 回の呼び出し)。 「Apple の SEC 情報をまとめてください。」→ edgar_company_snapshot({ticker_or_cik: "AAPL"}) → CIK + 直近の実質的な提出書類(デフォルトでは 10-K/10-Q/8-K/20-F/40-F/6-K/DEF 14A。form_type: "all" を指定しない限り、Form 4 のノイズは除外)+ 最新の年次報告書に記載された主要な XBRL 数値(売上高、純利益、資産、現金、EPS など)。これはフロー 1 と 2 をまとめたものです。つまり、詳細を調べるユーザーが通常は 3 回ずつ手作業で組み立てる「解決 → 一覧表示 → 取得」の連鎖をまとめています。XBRL がない提出者(ファンドや信託など)でも、提出書類と理由を示す financials_status: "unavailable" が返されます。edgar_ticker_to_cik は、この機能を指す next ヒントを返すようになりました。
1. 提出書類フロー。 「Apple の最近の 10-Q を表示してください。」→ edgar_ticker_to_cik("AAPL") → edgar_company_filings(cik) → アクセッション番号、フォームの種類、提出日を含む提出書類の一覧。
2. コンセプトフロー。 「過去 4 四半期の Apple の売上高の推移はどうなっていますか?」→ edgar_company_concept(cik, "Revenues") → 期間ごとの XBRL タグ付き数値の時系列。
3. 同業他社/競合企業フロー。 「Apple の競合企業はどこですか?」→ edgar_companies_by_sic({ticker_or_cik: "AAPL"}) → Apple 自身の SIC コード(3571、電子計算機)を特定し、そのコードに該当する他の SEC 提出者を返します。上場銘柄の同業他社が先に表示されます。業界を直接調べるには、企業の代わりに sic コードを渡します。
4. 企業の対応付けフロー(親会社 ↔ 子会社)。 sponsor_to_filer({sponsor: "Merck Sharp and Dohme"}) は、子会社/事業名から上場している親会社(MRK)を特定します。filer_to_sponsors({ticker_or_cik: "MRK"}) は逆方向に調べ、最新の 10-K の Exhibit 21 に記載された、管轄区域と提出書類の出典情報を含む親会社の開示済み子会社一覧を返します。name_filter を渡すと、一覧全体を読まずに候補となる社名を 1 つ確認できます。
5. 製品別売上高。 「Keytruda の売上高はいくらでしたか?」→ edgar_product_revenue({ticker_or_cik: "MRK", product_filter: "Keytruda"})。edgar_company_concept/edgar_company_facts で取得できるのは、ディメンションのない XBRL 合計値のみです。製品/セグメント別の内訳には XBRL ディメンション(「Keytruda [Member]」など)がタグ付けされますが、これらの API では取得できません。この機能は、SEC がレンダリングした該当ディメンションの財務報告書から、売上高の内訳に関する注記を直接読み取り、出典(アクセッション、提出日、報告書 URL)を示します。form_type を指定しない場合は 10-K、次に 20-F、次に 40-F の順で特定するため、外国民間発行体でも同じように機能します(edgar_product_revenue({ticker_or_cik: "NVS", product_filter: "Entresto"}) は Novartis の 20-F を読み取ります)。実際に使用されたフォームは resolved_form で返されます。すべての提出者が製品別売上高を XBRL でタグ付けしているわけではありません。Neurocrine は主要顧客別の売上高を開示し、United Therapeutics は収益認識方針のみを開示しています。この場合、空の配列ではなく、明示的な not_found が返されます。
6. XBRL に記載されない業績指標(プレスリリース)。 「Tesla の 2026 年第 3 四半期の車両納入台数と生産台数」/「Tesla はどれだけのエネルギー貯蔵設備を導入したか」。企業の四半期ごとの生産、納入、出荷/導入に関する業績指標は、構造化された財務諸表ではなく、プレスリリース(8-K に添付された別紙)で報告されるため、edgar_company_concept/edgar_company_facts が該当する情報を返さないのは正常です。edgar_filing_exhibit_text({ticker_or_cik: "TSLA", filed: "2026-10"}) は別紙のテキストを直接読み取ります(8-K の本体は通常「添付の別紙を参照」と記載するだけで、数値は含まれていません)。また、Item 2.02/7.01 に基づく決算または業績指標の発表で一般的に使われる形式に従い、デフォルトで EX-99.* の添付資料を対象にします。発表全体を読む代わりに、特定の数値(「車両納入台数」「Megapack」「既存店売上高」)を search で指定してください。この方法は Tesla だけでなく、米国のあらゆる提出企業の 8-K プレスリリースに適用できます。
通常、どちらのフローも事前に edgar_ticker_to_cik または resolve_entity({type: "company", value: "AAPL"}) を使って、正式な 10 桁の CIK を取得します。
認証
不要です。SEC EDGAR は無料で利用できる公開サービスで、認証も不要です。Pipeworx は SEC の API ガイドラインに準拠するため、適切な User-Agent ヘッダーを転送します。
引用可能な URI
pipeworx://edgar/company/{cik}/filings
pipeworx://edgar/company/{cik}/facts
出力に埋め込んでください。再編があっても安定しており、企業のブランド名は変わっても CIK は変わりません。
知っておくべきフォームの種類
| フォーム | 内容 | 提出時期 |
|---|---|---|
| 10-K | 年次報告書 | 会計年度末から約 60 日後 |
| 10-Q | 四半期報告書 | 四半期末から約 45 日後 |
| 8-K | 重要なイベント(M&A、役員の異動、決算など) | 4 営業日以内 |
| DEF 14A | 委任状説明書(役員報酬、ガバナンス) | 年次総会の約 6 週間前 |
| Form 4 | インサイダー取引の開示 | 取引から 2 営業日以内 |
| 13F | 機関投資家の保有状況(AUM が 1 億ドルを超えるファンド) | 四半期末から 45 日後 |
| S-1 | IPO 登録届出書 | 上場時 |
| 13D / 13G | 5% 超の実質的所有権の開示 | 基準を超えてから 10 日以内 |
インサイダー取引については、専用の insider-trading パックを参照してください。Form 4/13D/13G の変更情報を、より扱いやすいスキーマで提供します。
よくある落とし穴
- コンセプト名のずれ。 SEC の提出企業は、収益にタグ付けする XBRL コンセプトを時折変更します。デフォルトの
Revenuesコンセプトは新しい会計年度では古くなっている場合があります。代替としてRevenueFromContractWithCustomerExcludingAssessedTaxをお試しください。 - 期間の不一致。 会計年度の終了時期は企業によって異なります(Apple=9月、Microsoft=6月、Google=12月)。比較する際は、必ず対象期間を明記してください。
- CIK の形式。 エンドポイントによって、ゼロ埋めした10桁形式(
0000320193)を求めるものと、ゼロ埋めしない形式(320193)を求めるものがあります。Pipeworx はどちらも受け付けます。edgar_ticker_to_cikのcik_paddedフィールドが、リソース URI の正式な形式です。 - ほぼリアルタイムですが、リアルタイムではありません。 提出後数分以内に EDGAR に提出書類が表示されますが、Pipeworx は結果をキャッシュします。速報レベルの即時性が必要な場合は、
Cache-Control: no-cacheを設定する(匿名利用の上限が適用されます)か、_meta.cache.fresh_untilフィールドを確認してください。 - コンセプトの利用可能性は異なります。 小規模な提出企業は、大企業よりも少ない XBRL コンセプトにしかタグ付けしていません。
edgar_company_conceptは、有効なコンセプトであっても、その企業が報告していない場合は空の配列を返すことがあります。企業が実際に報告しているコンセプトを確認するには、edgar_company_factsを使用してください。 - このパックでは企業を指定する引数名が3通りあり、
edgar_company_conceptはそのすべてを受け付けます。edgar_company_filings/edgar_insider_transactions/edgar_product_revenueではticker_or_cik、edgar_fund_holdings/edgar_ticker_to_cikではticker、edgar_company_concept/edgar_company_factsではcik(ティッカーも指定できます)という名前です。引数を入力するモデルは、最後に読んだ名前を使いがちです。そのため、edgar_company_conceptではtickerとticker_or_cikをcikのエイリアスとして、metricをconceptのエイリアスとして宣言しています。この変更前の測定結果(fleet #2058)では、ask_pipeworx の判定器が、過去に一度も尋ねられていない16件の質問のうち11件でこのツールを選択しましたが、9件の呼び出しがゲートウェイの必須引数の事前チェックで拒否されました。そのすべてでcikではなくtickerまたはticker_or_cikが送信されており、そのうち3分の1ではconceptではなくmetricも送信されていました。cikとconceptを使った2件の呼び出しはどちらも成功しました。拒否された呼び出しの結果はエラーではなくpartialと記録されました。これは、1つのツールだけを選んだ場合でも、tools配列に1要素として届くとファンアウト分岐が実行されるためです。その結果、「唯一の検索が一度も実行されなかった」場合と「複数の検索のうち一部が実行された」場合に、同じ語が使われていました。 - 指定していない提出書類は、こちらが選んだ提出書類です。現在はレスポンスのエンベロープに、どの書類が選ばれたかが示されます(fleet #3319)。
edgar_filing_textとedgar_filing_documentsは、accessionを省略するとform_typeの最新の提出書類を自動選択します。その後、すべてのフィールドは、あたかもその提出書類が指定されていたかのように、その書類について記述します。2026-10-18 の実環境での測定では、「Tesla の2026年9月29日付8-K」に関する根拠のある質問に対して、edgar_filing_text({ticker:"TSLA", form_type:"8-K", search:"credit facility"})が実行され、2026-10-02付の8-K(別の提出書類で、3,061文字、該当箇所は0件)に解決されました。その結果、5回中5回not_in_sourceとして拒否されましたが、質問の対象となる提出書類は同じインデックスの1行下にあり、そこには3つすべての信用枠が記載されていました。そこで、すべてのレスポンスにaccession_source("caller"|"auto_selected")を含め、自動選択した場合は、要求内容、選択内容、完全一致数を含む読み取り内容、読み取らなかった候補を示すauto_selectedブロックも含めるようになりました。質問に日付がある場合は、必ずfiledを渡してください(「2026-09-29」、「2026-09」、「September 29, 2026」)。8-K では、最新の提出書類が意図された書類ではないことがよくあります。searchしか指定できない場合、edgar_filing_textは、テキストに完全一致がない候補を読み飛ばして次に進みます(最大4件、完全一致のみ)。どの候補にも一致しなければ、最新の書類を選びますが、一致0件という結果から判断できるのはその書類についてであり、企業についてではないと警告します。 - 以前の
edgar_company_filingsは、指定されたaccessionを無視していました。accessionもinclude_primary_textも宣言されていなかったため、1つの提出書類を指定した呼び出し元にも、何も指定しなかった場合と同じ絞り込みなしの一覧が返されていました。HTTP 200 が返るため、正常に成功したように見えます。これが最終的に fleet #3319 の質問に失敗した原因です。根拠をたどる一連の処理の最後の試行で、{accession:"0001628280-26-063820", ticker:"TSLA", include_primary_text:true}がこのツールに送られました(AEblob12— ルーターはすでに正しい8-Kを特定していました)が、抽出モデルには、信用枠の金額を含まない汎用的な10件の提出書類一覧が渡されました。現在は、これら2つの引数に加えてfiledも正式な引数です。1件に絞り込まれた結果にはnarrowed_noteでその旨が示され、提出企業が提出していないaccessionを指定した場合は、絞り込みなしの一覧ではなく、明確なnot_found:エラーが返ります。 fiscal_yearとfiscal_periodは、フィルターであると同時にレスポンスフィールドでもあります。 これらはvalues内の各行にある2つのフィールド名です。説明にある「要求されたfiscal_yearとfiscal_periodに一致させる」という助言によって、引数入力モデルがこれらを引数として送ることがありましたが、宣言されていなかったため、黙って無視されていました。その結果、呼び出し元には、フィルターが無視されたことを示す情報がないまま、報告済みの期間が89~230件すべて返されていました。現在は、どちらも正式な省略可能フィルターです。片方または両方を渡すと、values/latestがそれに合わせて絞り込まれ、適用された条件を示すperiod_filterブロックも返されます。一致する条件がなければ、全期間にフォールバックするのではなく、行を一切返さず、提出企業が実際に報告している会計年度と期間の一覧を返します。fiscal_yearは提出企業独自の表示です(NVDA の FY2024 は2024年1月に終了しました)。そのため、暦年で考える呼び出し元は、隣接する年の数値を渡されるのではなく、実際の表示を確認する必要があります。edgar_search_filingsは、対処しないと上流でsize/limitを無視し、片側だけの日付フィルターも黙って破棄します(fleet #3251)。 EDGAR の検索インデックス(efts.sec.gov)は、要求されたsizeにかかわらず最大100件の固定ページを返します(実環境で確認済み)。そのため、現在はツール側で呼び出し元のlimitに合わせて件数を絞り、真の一致件数であるtotal_hitsと、実際に返された件数であるreturnedを別々に報告します。固定ページに要求件数を超える結果が含まれていた場合は、noteでその旨を示します。また、startdt/enddtの片方だけを指定したdateRange=customは efts に黙って無視されます(フィルターが適用されず、2001年以降の提出書類が表示されます)。そのため、start_dateかend_dateの片方だけを渡した場合、フィルターが失われないよう、もう片方の端点にはデフォルト値(EDGAR 全文検索の対象期間の下限である2001-01-01、または今日の日付)が設定されます。entity(ティッカー、企業名、または CIK。エイリアスはticker_or_cik/cik/ticker)を渡すと、市場全体を対象とした検索を1つの提出企業に絞り込めます。企業の解決方法はedgar_ticker_to_cikと同じで、company_tickers.jsonに存在しない上場廃止企業や非上場企業もフォールバックで処理されます。efts のレスポンスキャッシュのキーにはq/日付/forms/fromが含まれますが、ciks/entityNameは含まれません(reference_efts_cache_key_leak、fleet #619 —ciksで絞り込んだリクエストに、フィルターなしの結果がキャッシュから正常な HTTP 200 として返されることがあります)。そのため、entity フィルターを指定すると、キャッシュを回避するための否定トークンをqに追加し、すべての行を要求された CIK と照合してクライアント側で再確認します。一致しない行が除外された場合は、黙って消えるのではなくentity_filter_guard_droppedで報告されます。このツールはテキストの抜粋を返しません。EDGAR のインデックスには抜粋がないためです。ツールが代わりにすべての結果の文書を取得するのではなく、結果のaccessionをedgar_filing_textに渡し、該当箇所を検索するためのsearchにクエリを設定してください(SEC は全体で共有される1つの送信元 IP を使って、全ツールにレート制限を適用します)。
クイックスタート
MCP クライアント(Claude Desktop、Cursor、Windsurf など)に追加します:
{
"mcpServers": {
"edgar": {
"url": "https://gateway.pipeworx.io/edgar/mcp"
}
}
}
このエンドポイントが実際に提供するもの
https://gateway.pipeworx.io/edgar/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 も、同じゲートウェイと同じ1882以上のデータソースに接続します。異なるのは、どのパックのツールが直接一覧表示されるかだけです。どちらからでも ask_pipeworx を使ってすべてのツールにアクセスできます。
MCP クライアントがない場合:HTTP 経由で呼び出す
curl -X POST https://gateway.pipeworx.io/v1/tools/edgar_search_filings \
-H 'Content-Type: application/json' \
-d '{"query":"artificial intelligence","form_type":"10-K","start_date":"2024-01-01","end_date":"2024-12-31","limit":20}'
最初の呼び出しにはアカウントは不要です。任意のツールを確認するには、GET https://gateway.pipeworx.io/v1/tools/edgar_search_filings を実行します。ツールを探すには、{"query":"..."} を指定して POST https://gateway.pipeworx.io/v1/tools/search_packs を実行します。
スタンドアロン(ゲートウェイアカウント不要)
このパッケージは、ローカルの stdio MCP サーバーとしても実行できます。Pipeworx アカウントも、ゲートウェイとの往復通信も不要です:
{
"mcpServers": {
"edgar": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-edgar"]
}
}
}
または、直接実行して起動を確認します:
npx -y @pipeworx/mcp-edgar
stdin/stdout 経由で MCP を使用し、このパックのツールのみについて initialize/tools/list/tools/call に応答します。上記のゲートウェイ接続で追加される共有メタツールは含まれません。同じソース、同じツールですが、ask_pipeworx によるルーティングはありません。
ask_pipeworx の使用
ツールを直接呼び出す代わりに、平易な英語で質問できます。上記のパックのエンドポイントでも、フルゲートウェイでも利用できます:
ask_pipeworx({ question: "your question about Edgar data" })
ゲートウェイが適切なツールを選択し、引数を自動的に設定します。
詳細
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。