Skip to main content
Glama
TuokkiCode

Finviz MCP

by TuokkiCode

Finviz MCP

MCPサーバーで、Claude(または任意のMCPクライアント)にFinviz株式データへのアクセスを提供します:個別銘柄のファンダメンタルズ、ニュース、スクリーナー検索、および実際の過去の価格データ(Yahoo Finance)。データはfinvizfinanceおよびyfinanceライブラリを使用してライブで取得されるため、APIキーは不要です。

ツール

  • get_stock(ticker) – 個別銘柄のFinvizファンダメンタルズ(P/E、時価総額、マージン、収益など)

  • get_stock_news(ticker) – 銘柄の最近のニュース見出し

  • get_price_history(ticker, days=7) – Yahoo Financeからの実際の日次履歴データ(始値/高値/安値/終値/出来高)を最大365日分、さらに最良の買い日だった日(最安値と最新終値に対する最高リターン)の分析付き。Finviz自体には履歴データAPIはなく、現在のスナップショットと静的なチャート画像のみ。

  • screen_stocks(...) – 自然なパラメータ(market_capsectorpe_maxrsidividend_yield_minsignalなど)を使用したFinvizスクリーナー。ClaudeにFinviz内部のフィルター名を説明する必要はありません。サーバーが自動的にパラメータを最も近いFinvizサポート値に変換します。ローカルで実行した場合のみ機能し、公開クラウドサーバーでは機能しません – 制限事項を参照。

  • list_screener_filters(search=None) / list_screener_signals() – Claudeがscreen_stocksで名前付きパラメータとしてまだカバーされていないフィルターを必要とする場合の補助ツール。見つかった値はscreen_stocks(extra_filters={...})パラメータとして指定できます。

screen_stocksパラメータは常に最も近いFinviz提供の「バケット」にスナップします(例:pe_max=18 → "Under 20")。これはFinvizスクリーナーが事前定義された値の範囲のみをサポートし、任意の数値をサポートしないためです。

1. ローカルテスト

Python 3.10+が必要:

pip install -r requirements.txt
python server.py

サーバーはhttp://localhost:8000/mcp(Streamable HTTP)で起動します。

この環境でエンドツーエンドでテスト済み(インストール、起動、initializeハンドシェイク、および実際のFinvizデータを使用した5つのツールすべて)。テスト中に、PyPIのfinvizfinance 1.3.0がFinvizの更新されたページテンプレートにまだ対応していないことが判明しました:get_stockは完全にクラッシュし(古いquote-links CSSクラスが現在はquote-header_categoriesになり、内容も異なる)、screen_stocksのTicker列に余分な先頭文字が含まれていました(例:"NVDA" → "NNVDA"、Finvizの新しいロゴプレースホルダーによる)。server.pyは両方を直接修正します(ファイル上部のコメントを参照)– Finvizが再びページを変更した場合、これらの修正を最初に確認することをお勧めします。

PythonがマシンにインストールされていないがDockerがある場合は、ローカルPythonインストールなしでテストできます:

docker build -t finviz-mcp .
docker run -p 8000:8000 finviz-mcp

コマンドラインからの簡単な動作テスト(curlが必要で、サーバーが実行中であること):

curl -X POST http://localhost:8000/mcp -H "Content-Type: application/json" -H "Accept: application/json, text/event-stream" -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/list\"}"

応答には6つのツールが表示されるはずです:get_stockget_stock_newsget_price_historyscreen_stockslist_screener_filterslist_screener_signals

2. 公開(例:Render)

  1. このフォルダを自分のGitリポジトリ(GitHub/GitLab)にプッシュします。

  2. Render → New +Web Service → リポジトリを接続。

  3. RenderはDockerfileを自動的に認識します。個別の環境変数は不要です – サーバーはRenderが設定するPORT変数からポートを読み取ります。

  4. 公開後、https://finviz-mcp.onrender.comのようなURLが得られます。MCPエンドポイントはその後に/mcpが付き、つまりhttps://finviz-mcp.onrender.com/mcpです。

Railway、Fly.ioなども同様の原則で動作します(DockerfileベースのPythonホスティング、PORT環境変数)。

3. Claudeへの接続

Claude → SettingsConnectorsAdd custom connector → MCP URL(https://<あなたのURL>/mcp)を貼り付け。

ClaudeはStreamable HTTPを介したリモートMCPサーバーをサポートしているため、そのまま動作します。

4. プロンプト例

  • "NVDAのFinvizファンダメンタルズを取得してください。"

  • "時価総額100億ドル以上の売られすぎたテクノロジー株を見つけてください。"

  • "利回り4%以上、P/E20未満の大型配当株を15銘柄表示してください。"

  • "TSLAの最新ニュースは何ですか?"

  • "本日トップゲイナーとしてフラグが立てられ、平均出来高が100万を超える銘柄を見つけてください。"

制限事項

  • screen_stocks(およびlist_screener_filters/list_screener_signals)は公開クラウドサーバーでは機能しません(Renderでテスト済み):FinvizはデータセンターIPアドレスからのスクリーナーエンドポイント(finviz.com/screener.ashx)に対して403 Forbiddenを返します。一方、get_stock/get_stock_news/get_price_historyは同じサーバーから完全に正常に動作します(これらは異なる、保護の少ないエンドポイントを使用します)。HTTPヘッダーの調整では修正できませんでした – これはFinvizによるスクリーナーに対する意図的なデータセンターIPブロックであると思われます。screen_stocks機能が必要な場合は、サーバーをローカルで実行し(python server.py)、cloudflared/ngrokトンネルなどを介して接続してください。これにより、リクエストは自宅ネットワークのIPから送信されます。

  • データはFinviz/Yahoo Financeのウェブサイトからスクレイピングされます(公式APIキーはありません)。そのため、サイトの構造が変更されると動作しなくなる可能性があります。

  • screen_stocksはデフォルトで結果を20行に制限し、最大50行までとすることでリクエストを高速に保ちます。

  • get_price_historydaysパラメータを最大365に制限します。

  • 認証は含まれていません – サービスがインターネット上で公開されている場合、URLを知っている誰でも呼び出すことができます。データは公開されていますが、後で有料/制限付き機能を追加する場合は注意してください。

-
license - not tested
-
quality - not tested
B
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.

Related MCP Connectors

  • Real-time market data, screeners, technical analysis & backtesting for stocks, crypto and forex.

  • Real-time news with bias scoring, live market data, and AI-powered options pricing

  • Real SEC, 13F, insider, congress & macro data your AI agent can cite. Hosted MCP, 24 tools.

View all MCP Connectors

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/TuokkiCode/finviz-mcp'

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