mcpField
F
finance-mcp

finance-mcp

ローカル
github.com/adididitagain金融データ112 週間前に更新

finance-mcp について

LLM エージェントに市場、暗号資産、SEC、外国為替、マクロ経済の最新データを提供する MCP サーバーです。11 個のツールで公開データを取得し、公開市場でのインサイダー取引と税金の源泉徴収などの機械的な届出を区別します。

主な機能

  1. 01株式、ETF、指数の価格取得
  2. 02価格履歴と暗号資産市場の確認
  3. 03SEC 届出と XBRL 財務データの閲覧
  4. 04インサイダー取引と機械的な届出の区別
  5. 05SEC 届出の全文検索
  6. 06為替レートと世界銀行指標の照会

活用シーン

  1. 01企業の株価や直近の値動きの確認
  2. 02暗号資産の価格と市場データの比較
  3. 03SEC 届出や報告財務データの確認
  4. 04税金の源泉徴収と区別してインサイダー届出を調査

MCP 対応

stdio 経由で、相場、暗号資産、SEC 記録、為替、経済指標を扱う 11 個の金融データツールを MCP クライアントに提供します。SEC ツールには SEC_USER_AGENT の設定が必要ですが、データソースの API キーは不要です。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"adididitagain-finance": {
"command": "npx",
"args": [
"-y",
"finance-data-mcp"
],
"env": {
"SEC_USER_AGENT": "<SEC_USER_AGENT>"
}
}
}
}
起動コマンドnpx -y finance-data-mcp
設定が必要な環境変数
SEC_USER_AGENTContact string sent to SEC EDGAR on every request, in the form "Your Name [email protected]". EDGAR returns HTTP 403 without it, so the three SEC tools need this set; all other tools work without it.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmfinance-data-mcp0.2.0

ツール

11

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
symbolsarrayはいティッカーシンボル。例:["AAPL", "NVDA", "^GSPC"]

詳細

finance-mcp

あらゆる LLM エージェントにリアルタイムの金融データを。 株価 · 暗号資産 · SEC 提出書類 · インサイダー取引 · XBRL 財務データ · 外国為替 · マクロ経済

CI npm License: MIT Node MCP API key Tools

アニメーション付きターミナルデモ:エージェントが get_stock_quote と get_price_history を呼び出し、Apple と NVIDIA のリアルタイム市場データを取得します

理由

ほとんどの金融 API は、エージェントが「Apple の現在の株価はいくら?」に答える前に、登録、API キー、クレジットカードを要求します。

finance-mcp は、5 つの本当に無料の公開データソースを 11 個の MCP ツールで利用できるようにします。いずれも API キーは不要です。設定が必要なのはメールアドレスだけで、SEC が要求しているためです。

他では手に入らない情報

企業のインサイダー(役員、取締役、10%以上の株主)は、自社株の取引をすべて 2 営業日以内に SEC へ報告しなければなりません。情報は公開され、構造化されていますが、ほとんど誰も目を通していません。

問題は、その大半に意味がないことです。オプションは権利確定します。その権利確定にかかる税金を支払うために、株式が差し引かれます。これらはどれも意思決定ではありませんが、すべて「インサイダーによる売却」として報告されます。

get_insider_activity は、この 2 つを区別します。実際の出力例として、6 月のある 1 週間における Apple のデータを示します。

OPEN-MARKET (a deliberate decision to trade)
  Sold:   5 filing(s)   302.92K shares   ≈ $87,566,268.55

MECHANICAL (vesting, option exercises, tax withholding — no decision): 1 filing(s)

  Newstead Jennifer — SVP, GC and Secretary
      2026-06-15  +30.10K @ —         Option exercise / conversion
      2026-06-15  −16.24K @ $296.42   Shares withheld for taxes      ← not a trade

  LEVINSON ARTHUR D — Director
    ★ 2026-05-06  −149.53K @ $284.57  Open-market sale               ← a real decision
    ★ 2026-05-06  −100.47K @ $285.04  Open-market sale
      2026-05-06  −5.00K   @ —        Gift

同じ会社、同じ月です。一方はシグナルで、もう一方は給与処理です。すべての行から、その情報の元となった提出書類にリンクしています。

開示された内容を報告するものであり、その解釈は行いません。インサイダーによる買いと売りのどちらにも無害な理由があり、どちらも株価を予測するものではありません。

そこで、どの程度重要なのかを測定しました

この主張は検証可能なので、実際に検証しました。S&P 100 企業のインサイダーが 12 か月間に提出した Form 4 をすべて対象とし、2,969 件の提出書類について、実際の取引判断が含まれているかどうかを分類しました。

グラフ:インサイダーによる Form 4 の提出書類の 71.9%には、取引の意思決定がまったく含まれていません。69.2%は権利確定、オプション行使、税金の源泉徴収で、26.2%には公開市場での売却が含まれ、2.7%は贈与のみ、1.9%には公開市場での購入が含まれています。

インサイダーによる提出書類の約 10 件中 7 件には、取引の意思決定がまったく含まれていません。 企業の中央値では 83%です。

もう 1 つの結果には、さらに驚かされました。企業も 10%以上の株主として Form 4 を提出しており、53 件の提出書類が、サンプル全体の 1.8%にすぎないにもかかわらず、処分された全株式の 65%を占めていました。 データ上、最大の「インサイダー」は Honeywell International Inc で、分社化する企業の株式 3 億 1,700 万株を処分していました。株式数でインサイダーを並べると、リストの上位にいるのは人間ではありません。

手法、注意事項、生データは analysis/ にあります。2 つのコマンドで最初から再実行できます。

ツール

ツール機能
get_stock_quote現在価格、日中・52 週間の値幅、出来高 — 株式、ETF、指数
get_price_historyOHLCV のローソク足に加え、期間リターンと高値・安値の概要
search_symbols企業名からティッカーを特定
get_fx_rateECB 参照レートによる通貨換算
get_crypto_price現物価格、24 時間の変動率、時価総額、出来高
get_crypto_market時価総額順の上位コイン
get_insider_activityForm 4 のインサイダー取引 — 公開市場での売買判断と、権利確定・税務関連のノイズを分離
get_sec_filings文書への直接 URL を含む EDGAR の最近の提出書類。フォームで絞り込み可能
get_sec_financials提出時点の XBRL 項目を時系列で表示
search_sec_filings2001 年以降のすべての EDGAR 提出書類を対象にした全文検索
get_economic_indicator世界銀行のマクロ経済系列 — GDP、インフレ、失業率、債務、貿易

仕組み

flowchart LR
    A["Claude Desktop<br/>Claude Code<br/>any MCP client"] -->|MCP over stdio| B["finance-mcp"]
    B --> C["Yahoo Finance<br/><i>equities · ETFs · indices</i>"]
    B --> D["CoinGecko<br/><i>crypto</i>"]
    B --> E["SEC EDGAR<br/><i>filings · XBRL · insider trades</i>"]
    B --> F["ECB / Frankfurter<br/><i>FX</i>"]
    B --> G["World Bank<br/><i>macro</i>"]

共有 HTTP レイヤーはホストごとにリクエスト頻度を調整し、指数バックオフで 429/403/5xx を再試行し、Retry-After に従い、レスポンスをメモリにキャッシュします。株価は 30 秒、提出書類とマクロ経済系列は数時間キャッシュされます。

クイックスタート

Claude Code — クローンは不要です
claude mcp add finance -e SEC_USER_AGENT="Your Name [email protected]" -- npx -y finance-data-mcp
ソースから実行
git clone https://github.com/adididitagain/finance-mcp.git
cd finance-mcp
npm install
npm run build
claude mcp add finance -e SEC_USER_AGENT="Your Name [email protected]" -- node "$(pwd)/dist/index.js"
Claude Desktop

claude_desktop_config.json に追加します。macOS の場合は ~/Library/Application Support/Claude/claude_desktop_config.json です。その後、アプリを再起動します。

{
  "mcpServers": {
    "finance": {
      "command": "npx",
      "args": ["-y", "finance-data-mcp"],
      "env": {
        "SEC_USER_AGENT": "Your Name [email protected]"
      }
    }
  }
}

ローカルのクローンから実行する場合は、代わりに "command": "node" と "args": ["/absolute/path/to/finance-mcp/dist/index.js"] を使用してください。

その他の MCP クライアント

このサーバーは stdio 経由で MCP を使用します。node dist/index.js を実行し、クライアントから接続してください。

試してみる

Apple の現在の株価はいくらですか?

過去 24 時間の BTC と ETH を比較してください。

Microsoft の提出書類から過去 5 年間の売上高を表示してください。

Tesla は最近、どのような 8-K を提出しましたか?

10-K で「量子コンピューティング」に言及している企業はどこですか?

インドの GDP 成長率は過去 10 年間でどのように推移しましたか?

5000 USD を JPY に換算してください。

Apple のインサイダーは実際に売却しているのでしょうか。それとも、単なる権利確定でしょうか?

データソース

ソース用途必要なキー
Yahoo Finance株式、ETF、指数、特殊な FXいいえ
CoinGecko暗号資産いいえ
SEC EDGAR提出書類、XBRL 財務情報、Form 4 のインサイダー取引いいえ(User-Agent は必須)
Frankfurter / ECBFX 参照レートいいえ
World Bankマクロ経済指標いいえ

設定

環境変数必須条件用途
SEC_USER_AGENTSEC ツールを使う場合EDGAR ではすべてのリクエストに実名とメールアドレスを含む User-Agent が必要で、指定しない場合は 403 が返されます。形式:"Your Name [email protected]"。

重要

MCP クライアントは、シェル環境変数をサーバーに引き渡しません。SEC_USER_AGENT は .zshrc ではなく、上記のクライアント設定で指定してください。

開発

npm run dev      # tsc --watch
npm test         # 66 offline tests, stubbed fetch + real EDGAR fixtures, no network
npm run smoke    # drives all 11 tools against the live APIs

注意事項と制限

  • Yahoo は IP アドレスでレート制限を行い、申告するユーザーエージェントも考慮します。 デスクトップブラウザーを装った User-Agent を送信すると、厳しいスロットリングが発生します。Chrome の UA では成功したリクエストが 0/8 だったのに対し、正直な finance-mcp/0.1 では 8/8 でした。交互に連続して試した結果です。このサーバーが正直に自己申告するのはそのためです。ブラウザーを装うように「修正」しないでください。FX は代わりにレート制限のない ECB から提供されます。
  • 株価情報には最大約 15 分の遅延が生じることがあり、取引所の公式データではありません。
  • SEC の XBRL 数値は提出時のままです。 get_sec_financials は各行に、そのデータが対象とする期間を示すラベルを付けます。データが取得された提出書類の会計年度ではありません。EDGAR 独自の fy フィールドが示すのは提出書類の会計年度であるため、10-K で過年度が修正された場合に、そうしないとラベルが誤ってしまいます。
  • search_sec_filings は EDGAR の関連度に基づいて順位付けします。 検索語が会社名に含まれる企業が優先されます。
  • World Bank のデータは年次で、通常は 1〜2 年遅れます。
  • インサイダーデータの完全性は、読み込む期間の範囲に左右されます。 get_insider_activity は最新の limit 件の Form 4 を読み込み、スキップした件数を報告します。大企業は年間数百件を提出するため、limit が小さいと直近の一部しか表示されず、全体像は把握できません。Form 4 は取引から 2 営業日以内に提出する必要があるため、報告には短い遅延が生じます。

免責事項

情報提供を目的としたデータツールです。返される情報は投資助言ではなく、データの正確性や可用性も保証されません。行動に移す予定の情報は、必ず公式情報源で確認してください。

ライセンス

MIT © Aditya Bisht

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。