ticker-scout について
ticker-scoutは、SECのデータを財務諸表にまとめ、公開企業の申告書本文も提供する、エージェント向けのMCPサーバーです。APIキーや登録なしでデータを利用できます。
主な機能
- 01整理済みの財務諸表を提供
- 02標準名や企業独自名で項目を検索
- 03会計年度や四半期のデータを取得
- 04申告書のセクションやトピックを閲覧
- 05企業比較とイベント履歴の確認
- 06数値にSEC申告書の出典を付与
活用シーン
- 01企業の四半期または年次実績を確認
- 02複数社の売上や指標を比較
- 03申告書からリスクや戦略を検索
- 04財務数値の出典となるSEC申告書を追跡
MCP 対応
リモートMCPサーバーが、SECの財務諸表、申告書の内容、重要イベントの履歴を20種類のツールで提供します。APIキーや登録は不要です。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.tickerscout.ai/mcpclaude mcp add --transport http ai-tickerscout-ticker-scout https://mcp.tickerscout.ai/mcp{"mcpServers":{"ai-tickerscout-ticker-scout":{"type":"http","url":"https://mcp.tickerscout.ai/mcp"}}}Cursor で開く{"servers":{"ai-tickerscout-ticker-scout":{"type":"http","url":"https://mcp.tickerscout.ai/mcp"}}}VS Code で開く{"mcpServers":{"ai-tickerscout-ticker-scout":{"type":"http","url":"https://mcp.tickerscout.ai/mcp"}}}{"mcpServers":{"ai-tickerscout-ticker-scout":{"serverUrl":"https://mcp.tickerscout.ai/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
20| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| query | string | いいえ | 任意のフィルター。ティッカーと企業名を大文字小文字を区別せずに照合します。 |
詳細
Ticker Scout MCP サーバー
Model Context Protocol を介して SEC 提出書類を扱う、エージェントネイティブなデータレイヤーです。上場企業の完成した財務諸表と、読み解いて要約した提出書類を提供します。SEC は数値をデータとして公開していますが、財務諸表としては公開していません。このサービスでは、20 個のツールを通じて、あらかじめ組み立てた状態で提供します。任意の会計年度または四半期の任意の財務諸表、標準名称または企業独自の名称による任意の項目、保有するすべての会計年度と四半期、引用されたすべてのアクセッション番号、そして 10-K、10-Q、8-K の記述をセクション、トピック、キーワード別に利用できます。API キーも登録もペイウォールも不要です。
https://mcp.tickerscout.ai/mcp
https://tickerscout.ai で公開されているデータを提供します。対象は、S&P 500 企業および SEC に提出書類を提出する主要な海外発行体の財務諸表、読み解いて要約した年次報告書と四半期報告書、重要なイベントの履歴で、すべて各社自身の提出書類から作成されています。
すでに対応済みのこと
EDGAR API との違いは、データの入手可能性ではなく、組み立てられているかどうかです。SEC が提供するのはファクトです。このサービスが提供するのは財務諸表です。
- 3 つの財務諸表を、そのまま財務諸表として取得できます。 損益計算書、貸借対照表、キャッシュフロー計算書の各項目は、報告された順に並んでいます。自分で概念を選んでグループ化しなければならない、タグ付きファクトの平坦な集合ではありません。
- 単一の提出書類に全記録が含まれないため、複数の提出書類から組み立てています。 年次の数値は年次報告書から、四半期および年初来の数値は四半期報告書から取得します。四半期報告書に年初来ベースのキャッシュフローしか記載されていない場合は、現行報告書の別紙として提出された決算発表から、個別四半期の数値を取得します。米国の提出者の場合は 10-K、10-Q、8-K、海外発行体の場合は 20-F または 40-F、6-K が対象です。
- 企業独自の会計カレンダーに対応しています。 52 週または 53 週の年度、暦上の四半期ではなく 13 週間の期間として定められた四半期、12 月末で終わらない会計年度に対応しています。期間の日付は、提出書類に印刷された列見出しから取得します。
- 実際のドル額と実際の株式数を使用します。 千単位でも百万単位でもなく、推定が必要な倍率もありません。株式数は株式分割を調整済みです。海外発行体の数値は、各期間に記録された為替レートで米ドルに換算し、ADR プログラムがある企業の 1 株当たりの数値は ADS 1 株当たりで示します。
- 事業内容に合わせて構成します。 銀行、保険会社、資産運用会社、小売業者では財務諸表の構成が異なるため、同じセクション構成にはなりません。固定の構成を前提にせず、企業がどのような項目を持つかを確認してください。
- 欠落箇所を明示します。 提出書類で数値が開示されていない場合は、その数値を省略し、省略した理由を説明します。黙ってゼロとして扱うことはありません。各数値には、出典となった SEC のアクセッション番号を記載します。
- 数値から、記載元となる提出書類の該当箇所に移動できます。 提出書類で数値にタグが付けられている場合、応答にはその数値が表示される箇所を開く sec.gov のリンクが含まれます。
接続
Claude Code
claude mcp add --transport http ticker-scout https://mcp.tickerscout.ai/mcp
Claude のウェブ版またはデスクトップ版
「Settings」、「Connectors」、「Add custom connector」の順に選択し、URL を貼り付けます。
Cursor、および mcpServers 設定に対応するクライアント
{
"mcpServers": {
"ticker-scout": {
"url": "https://mcp.tickerscout.ai/mcp"
}
}
}
stdio のみを使用するクライアント
{
"mcpServers": {
"ticker-scout": {
"command": "npx",
"args": ["mcp-remote", "https://mcp.tickerscout.ai/mcp"]
}
}
}
まずはこちら
主な6つのツールでほとんどの質問に一度の呼び出しで回答できます。残りの14のツールは、それぞれ1種類の質問に回答し、よく似たツールが増えないよう、引数を受け取ります。
| 質問 | 呼び出し |
|---|---|
| その会社は対象ですか?ティッカーは何ですか? | list_companies(query) |
| 前四半期の業績はどうでしたか? | get_key_figures(ticker) |
| 任意の項目を1つ、または複数まとめて | get_figure(ticker, "revenue")、get_figure(ticker, ["revenue", "net income", "eps"]) |
| 指標の全履歴 | get_figure(ticker, "free cash flow", period: "all") |
| 1年、四半期、TTM、またはYTDの財務諸表 | get_statements(ticker, statement: "income_statement", period: "FY2025") |
| データはどこまで遡れますか? | list_periods(ticker) |
| セグメント、製品、地域 | get_segments(ticker, breakdown?) |
| KPI、非GAAP、銀行または保険の指標 | get_company_metrics(ticker, kind?) |
| 利益率 | get_margins_and_ratios(ticker) |
| 会社固有の指標 | list_company_figures(ticker, query: "data center")、続けてget_figure |
| 企業を比較する | compare_companies(["NVDA","AMD","AVGO"], "revenue") |
| リスク、戦略、経営陣による議論 | get_narrative(ticker, section: "risk factors")(またはbusiness、md&a、current quarter、legal、subsequent events) |
| 会社は何を発表しましたか? | get_events(ticker)、またはsection: "earnings"、"m&a"、"management changes"など |
| 提出書類のあらゆる箇所からトピックを検索する | search_text(ticker, query) |
| 数値の出典となった提出書類はどれですか? | get_figure(タグ付きの各値にsec_linkがあります)、get_filings(ticker, accession?) |
| 通貨、ADR比率、株式分割、会計年度カレンダー | get_reporting_conventions(ticker) |
| よくわからない場合 | guide() |
ティッカーでは大文字と小文字が区別されません。また、BRK.BとBRK-Bはどちらも解決されます。
データの構成
レコードと期間
レコードとは、会社が1つの10-Qまたは10-Kを提出したときに構築される完全なスナップショットで、会計期間のタグが付いています。FY27Q2はNVIDIAの2027年度第2四半期の10-Qから構築されたレコードで、FY26は10-Kから構築されたレコードです。各レコードには複数の期間が含まれ、最大で過去3会計年度、最新の四半期とその前年同期比較、年初来、直近12か月分が含まれます。古いレコードにはさらに古い四半期が含まれるため、会社の履歴は各レコードを合わせたものとなり、各レコードは恒久的な日付付きURLで公開され続けます。
periodを受け取るツールは、すべてのレコードを自動的に検索します。recordを受け取るツールは1つのスナップショットを読み込みます。デフォルトでは最新のものが対象です。
period引数
| 指定する値 | 取得できる内容 |
|---|---|
| 何も指定しない | 最新のレコードに含まれるすべての期間 |
FY2025、FY25、fiscal 2025、2025 | その会計年度(暦年ではなく、会社独自の会計年度) |
Q2 FY2027、Q2 2027、FY27Q2、2027Q2、2Q27、second quarter 2027 | その四半期 |
Q2 | データがある最新の第2四半期 |
latest、latest quarter、latest annual | 該当する種類の最新期間 |
ttm、ytd、prior ytd | 直近12か月、年初来、前年の年初来 |
annual、quarterly、all | すべての会計年度、すべての四半期、またはすべてのレコードのすべての期間 |
2026-07-26 | その日付に終了する期間 |
データが存在する最も古い期間より前の期間を指定しても、エラーにはなりません。その場合、回答ではデータがそこまで遡れないことを伝え、利用できる期間をすべて正確に列挙します。まだ報告されていない期間を指定すると、その旨と次回の提出予定が示されます。
レコード内の名称
レコードは各企業に合わせた形式になっているため、同じ項目でも名称が異なります。Apple の売上は total_net_sales、JPMorgan の売上高は total_net_revenue、Walmart の純利益は net_income_attributable_to_walmart です。これらの違いを隠すために名称を変更することはありません。
- 数値を返すツールのすべての値には、
name_in_record(レコードで使われている名称)、field(期間内のパス)、json_path(financials.json内の正確なアドレス。例:annual[0].income_statement.total_net_sales)が先頭に付いています。 - これらの名称はいずれも、記載どおりに
get_figureに渡すと、そのフィールドの値がそのまま返されます。大文字・小文字、スペース、アンダースコアは区別されません。Data Centerとrevenue_by_market_platform.Data Centerのどちらでも動作します。 - 汎用的な語句(
revenue、net income、free cash flow)で標準的な数値を尋ねると、以下の標準的な方法で解決されます。各値は引き続きレコード内の名称で返されます。レコードに同じ名称のフィールドがほかにもある場合(NVIDIA のセグメント表にはそれぞれrevenueがあります)、それらはother_fields_with_this_nameの下に一覧表示され、パスを指定して呼び出すことができます。 list_company_figuresは、各標準的な数値をその企業で使われている名称に対応付け、そのほかの数値をそれぞれの名称で一覧表示します。これらの名称を検索するには、queryを渡します。
標準的な数値
get_figure と compare_companies は、各企業でそれぞれの数値がどのような名称で呼ばれているかを把握し、決定論的に解決します。まず企業自身が見出しで使っているフィールドを確認し、次に既知の名称を順番に確認し、その後、フィールドがちょうど1つだけ一致する場合に限って名称パターンを確認します。不足を補うために数値を推定、算出、または合算することはありません。同じ財務諸表内にある類似したフィールドは related の下に返され、該当する名称が1つもない企業には、存在する中で最も近いフィールドとともに、単に「未報告」と返されます。
| 項目 | 次のように質問 | たとえば、次から読み取ります |
|---|---|---|
| 売上高 | revenue、sales | revenue、revenues、total_revenues、total_revenue、+19 more |
| 売上原価 | cost of revenue、cogs | cost_of_revenue、cost_of_sales、total_cost_of_revenue、cost_of_goods_sold、+10 more |
| 売上総利益、売上総利益率(%) | gross profit、gross margin | gross_profit、gross_margin、gross_margin_pct、+3 more |
| 研究開発費 | r&d | research_and_development、research_and_development_expenses、+7 more |
| 販売費、一般管理費 | sga | selling_general_and_administrative、sales_general_and_administrative、+7 more |
| 営業費用合計 | operating expenses、opex | total_operating_expenses、total_costs_and_expenses、total_noninterest_expense、+11 more |
| 営業利益 | operating income、ebit | operating_income、income_from_operations、operating_profit、+4 more |
| 支払利息 | interest expense | interest_expense、total_interest_expense、interest_expense_net、interest_and_debt_expense |
| 税引前利益 | pretax income | income_before_income_taxes、earnings_before_income_taxes、+23 more |
| 法人税、実効税率 | income tax、effective tax rate | provision_for_income_taxes、income_tax_expense、effective_tax_rate_pct、+17 more |
| 純利益 | net income、earnings | net_income、net_earnings、net_income_attributable_to_<company>、+8 more |
| 希薄化後および基本EPS | eps、basic eps | diluted_eps、eps_diluted、basic_eps、+11 more |
| 希薄化後、基本および発行済み株式数 | diluted shares、basic shares、shares outstanding | diluted_shares、basic_shares、shares_outstanding、+27 more |
| 減価償却費および償却費 | d&a | depreciation_and_amortization、depreciation_depletion_and_amortization、+7 more |
| 株式報酬費用 | sbc | stock_based_compensation、share_based_compensation、+4 more |
| 純金利収入、非金利収入(銀行) | net interest income、noninterest income | net_interest_income、total_noninterest_income、+7 more |
| 信用損失引当金(銀行) | provision for credit losses | provision_for_credit_losses、provision_for_loan_losses、+4 more |
| 現金および現金同等物 | cash | cash_and_cash_equivalents、cash_and_equivalents、cash_and_due_from_banks、+5 more |
| 総資産 | total assets | total_assets、assets.total_assets |
| 総負債 | total liabilities | total_liabilities、liabilities.total_liabilities |
| 有利子負債合計、長期および短期借入金 | debt、long-term debt、short-term debt | total_debt、long_term_debt、short_term_debt、current_portion_of_long_term_debt、+32 more |
| 株主資本 | equity、book value | total_stockholders_equity、total_shareholders_equity、total_<company>_shareholders_equity、total_equity、+7 more |
| 流動資産および流動負債、運転資本 | current assets、current liabilities(運転資本:get_margins_and_ratios) | total_current_assets、total_current_liabilities |
| のれんおよび無形資産 | goodwill、intangibles | goodwill、intangible_assets_net、other_intangible_assets_net、+11 more |
| 棚卸資産 | inventory | inventories、inventory、merchandise_inventories、+4 more |
| 売掛金 | receivables | accounts_receivable_net、receivables_net、trade_receivables_net、+7 more |
| 買掛金 | payables | accounts_payable、trade_accounts_payable、trade_payables、+3 more |
| 有形固定資産 | pp&e | property_plant_and_equipment_net、property_and_equipment_net、+7 more |
| 利益剰余金 | retained earnings | retained_earnings、accumulated_deficit、+3 more |
| 営業キャッシュフロー | operating cash flow、cfo | operating_cash_flow、net_cash_provided_by_operating_activities、+10 more |
| 設備投資 | capex | capex、capital_expenditures、purchases_of_property_and_equipment、+10 more |
| フリーキャッシュフロー | free cash flow、fcf | free_cash_flow、free_cash_flow_for_the_quarter、+2 more |
| 投資および財務キャッシュフロー | investing cash flow、financing cash flow | investing_cash_flow、financing_cash_flow、net_cash_used_in_investing_activities、+21 more |
| 配当金支払額、1株当たり配当金 | dividends、dividends per share | dividends_paid、cash_dividends_paid、dividends_per_share、dividends_declared_per_share、+14 more |
| 自社株買い | buybacks | share_repurchases、repurchases_of_common_stock、purchases_of_treasury_stock、+11 more |
| 現金取得額控除後の買収額 | acquisitions | acquisitions_net_of_cash_acquired、+7 more |
guide() は、各数値が回答するすべての語を含むカタログ全体を返します。 |
単位と情報源
金額はすべて実際のドル(千ドル単位や百万ドル単位ではありません)、1株当たりの数値は1株当たりドル、株式数は実際の株数で、株式分割調整済みです。数値の回答にはすべて、記録に記載された単位が付いているため、数値の規模が不明になることはありません。
各値には、取得元の提出書類のSECアクセッション番号が付いており、提出書類で数値にタグが付けられている場合は、その数値が記載された行を開くsec_linkも付いています。リンクのない値は、記録内で計算されたもの(利益率、フリーキャッシュフロー、直近12か月、差し引きで算出した四半期)か、SECがタグ付けしていない決算発表に由来するものです。このサーバーが計算する利益率と比率(get_margins_and_ratios)にはcalculatedと表示され、計算式と使用した正確なフィールドが示されます。
全20個のツール
すべてのツールは読み取り専用です。ティッカーの大文字・小文字は区別されません。period引数には上記の構文を指定し、すべての記録を検索します。record引数では、以前のスナップショットを1つ読み込みます。
主な6つのツール
| ツール | 引数 | 返される内容 |
|---|---|---|
list_companies | query? | 対象企業すべてについて、最新の会計期間、保持しているすべての記録、次回の提出予定を返し、カバレッジの概要も示します。企業名からティッカーを特定します。 |
get_company | ticker、record? | 企業の識別情報とカバレッジのマニフェストを返します。企業名、CIK、取引所、設立州、記録の作成元となった提出書類(アクセッション番号とEDGARリンク付き)、公開済みのすべての記録、次回の提出予測、すべてのツールの一覧が含まれます。 |
get_key_figures | ticker、record? | 最新期間の主要数値を返します。各数値には、前年比、正確な金額、記録のフィールド、情報源のアクセッション番号に加え、記述形式の要約とQ&Aが含まれます。 |
get_financials | ticker、sections?、record? | 財務記録全体を返し、トップレベルのセクションで絞り込めます。figure_sources(タグ付けされた各数値のsec.govリンク)は、要求された場合のみ含まれます。 |
get_narrative | ticker、section?、record? | 10-Kと10-Qの統合内容を返します。既定ではセクションとサブセクションの索引を返します。見出しで指定したセクションまたはサブセクション、トピック(business、risk factors、md&a、current quarter、subsequent events、legal)、またはallを指定できます。 |
get_events | ticker、section?、index?、record? | 直近およそ5四半期分の8-Kの要約を返します。全内容、1つのセクションまたはトピック(earnings、management changes、capital returns、debt and financing、m&a、governance、restructuring、legal)、または日付付きの1行索引を指定できます。 |
財務諸表と期間
| ツール | 引数 | 返される内容 |
|---|---|---|
list_periods | ticker | すべての記録に含まれる会計年度と四半期をすべて返します。日付、期間、情報源の様式とアクセッション番号、会計年度末、52週/53週の判定、および恒久URL付きのすべての記録が含まれます。 |
get_statements | ticker、statement?、period?、include_sources? | 任意の期間の損益計算書、貸借対照表、キャッシュフロー計算書(または保持しているすべての財務諸表)を返します。ttmとytdも対象で、古い記録も検索します。範囲外の場合は、「そこまで遡れない」または「まだ報告されていない」と簡潔に回答します。 |
get_segments | ticker、breakdown?、period? | 企業の報告内容に基づき、セグメントの実績、製品・サービス・最終市場別の売上高、地域別の売上高を返します。 |
get_company_metrics | ticker、kind?、period? | 企業独自の定義に基づく、営業KPI、非GAAP指標、銀行指標(CET1、純金利マージン、効率性比率)、保険指標(保険料、コンバインド・レシオ、フロート)を返します。 |
get_margins_and_ratios | ticker、period? | 記録に保存されたすべての利益率と比率に加え、粗利益率、営業利益率、純利益率、FCFマージン、運転資本、流動比率を返します。これらは計算値で、計算式も表示されます。 |
指標
| ツール | 引数 | 戻り値 |
|---|---|---|
get_figure | ticker、figure(1つ、または最大10個)、period? | 標準名、レコード名、パス、または単語で指定した任意の指標を、すべての期間、1つの期間、または全履歴(period: "all")について取得します。各値には、レコード名、JSON パス、日付、アクセッション番号、sec.gov のリンクが付属します。 |
list_company_figures | ticker、query?、block?、period? | 各標準指標について、この企業での名称を対応付けた後、残りのすべての指標をそれぞれの名称と値とともに返します。または、query を指定すると、名前にその単語が含まれるフィールドを返します。 |
compare_companies | tickers、figure、period? | 2~10社について、1つの標準指標を比較します。各行には、それぞれの期間、日付、レコード名が含まれます。 |
検索、提出書類、表記規則
| ツール | 引数 | 戻り値 |
|---|---|---|
search_text | ticker、query、documents?、limit?、record? | ナラティブ、イベント、レコードの注記のうち、すべての単語を含む段落と箇条書きを全文で返し、該当する語句に最も多く言及しているセクションも返します。語句を引用符で囲むと、完全一致で検索します。 |
get_filings | ticker、accession?、record? | 財務諸表、ナラティブ、イベント全体で引用されているすべてのアクセッション番号を、書式、提出日、EDGAR リンク、各引用箇所とともに返します。または、1件の提出書類の全文と、その提出書類を引用するすべての箇所を返します。 |
get_reporting_conventions | ticker、record? | 単位、報告通貨、外国企業の場合は各期間の為替レート、ADR 比率、調整対象の株式分割、会計年度末、会計基準、レコード独自の定義を返します。 |
get_data_notes | ticker、record? | レコードのデータ出典に関する注記、不確実性、最新期間で欠けている標準指標を返します。 |
list_upcoming_filings | days?、form? | N 日以内に提出が見込まれる、対象となるすべての企業を、提出予定が早い順に返します。 |
guide | なし | ツールの連携方法、期間の構文、単位、出典、よくある質問、標準指標のカタログを説明します。 |
使用例
> What did NVIDIA earn last quarter?
get_key_figures(ticker: "NVDA")
> Apple's revenue for fiscal 2025, and where the 10-K prints it
get_figure(ticker: "AAPL", figure: "revenue", period: "FY2025")
name_in_record total_net_sales
json_path annual[0].income_statement.total_net_sales
value 416161000000 ($416.16 billion)
accession 0000320193-25-000079
sec_link https://www.sec.gov/Archives/edgar/data/320193/000032019325000079/aapl-20250927.htm#f-78
> NVIDIA revenue in fiscal 2019
get_figure(ticker: "NVDA", figure: "revenue", period: "FY2019")
available: false
We don't have data going back that far: FY2019 is earlier than anything Ticker Scout
holds for NVDA. The earliest fiscal year held is FY2024. ...
> Microsoft's revenue, net income and EPS in one call
get_figure(ticker: "MSFT", figure: ["revenue", "net income", "eps"], period: "latest quarter")
> NVIDIA Data Center revenue, every quarter held
get_figure(ticker: "NVDA", figure: "Data Center", period: "all")
データポリシー
- すべてのデータは、Form 10-K の年次報告書、Form 10-Q の四半期報告書、Form 8-K の臨時報告書(外国企業の場合は20-F、40-F、6-K)など、SEC に提出された公開報告書に基づいています。推定や捏造は一切ありません。提出書類に指標の開示がない場合、その指標は省略され、省略した理由が説明されます。
- 市場価格データはありません。相場情報、時価総額、価格スナップショットは含まれません。ファンダメンタルズ情報のソースです。
- データは各四半期に、企業の提出後まもなく更新されます。各企業のデータ範囲と保持されている期間は
list_companiesで確認できます。 - これは公開提出書類を事実に基づいて統合した情報です。投資助言ではありません。
無料で閲覧、引用できます。「Ticker Scout (tickerscout.ai)」と明記してください。
仕組み
@modelcontextprotocol/server の createMcpHandler を使用する、ステートレスな Cloudflare Worker です。/mcp でストリーム可能な HTTP を使用します。
サーバーは財務データを独自に保持しません。各ツール呼び出しでは、Cloudflare エッジキャッシュを通じて https://tickerscout.ai から対応するファイルを取得し、応答を整形します。過去の期間に関する質問では、そのレコードの永続的な日付付き URL を読み込みます。データベース、スナップショット、フォールバック用のコピーはありません。上流ファイルを取得できない場合、古いデータを返す代わりに、URL とステータスを示すエラーを返します。
各ツール呼び出しは記録されます。記録には、使用したツール、日時、入力、成功したかどうかが含まれます。IP アドレスは記録されません。src/record.ts とプライバシーポリシーをご覧ください。
src/
index.ts Worker entrypoint (exports the handler only)
server.ts Builds the tool definitions once per isolate, a server per request
upstream.ts Fetching, edge caching, the error policy
tickers.ts Ticker normalization, coverage search, near matches
records.ts A company's published records, and choosing which to read
periods.ts Fiscal periods: naming, the period syntax, out-of-range answers
figures.ts Standard figures, name resolution, figure_sources links
filings.ts Accession numbers, EDGAR links, citations in prose
topics.ts Narrative and events topics, keyword search
markdown.ts Section parsing for the .md documents
financials.ts Headline condensing and unit-safe slicing
respond.ts Result shaping, source URL and attribution
record.ts The per-call record (tool, inputs, outcome; no IP address)
tools/ Tool registration, one module per group
開発
npm install
npm test # unit tests for the pure modules
npm run type-check # wrangler deploy does not typecheck
npm run dev # local server on http://localhost:8787/mcp
npm run smoke -- <url> # live end-to-end check against a deployment
npm run sweep -- <site dir> # every tool, every company, against a local copy of the site
npm run deploy
npm test では純粋なロジックをテストします。test/smoke.mjs は、意図的に多様な企業群(一般的な企業、銀行、保険コングロマリット、会計年度を大きく先取りする小売業者、外国の発行体)に加えて、否定的なケースについて、実行中のサーバーに対してツールを呼び出します。test/sweep.mjs は、ローカルディレクトリからサイトのファイルを提供しながら、対象となるすべての企業についてすべてのツールをプロセス内で実行し、さらにすべてのトピック、ステートメント、内訳、指標の種類を網羅します。エラーが発生すると失敗します。単体テストでは、tools/list が 40 KB 未満に収まることを確認します。
ライセンス
MIT。詳細は LICENSE をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。