mcpField
L
Llm Router

Llm Router

ローカル
github.com/ypollak2AI・エージェント120今日更新

Llm Router について

Llm Routerは、コーディングツールやPythonエージェントのプロンプトを無料・ローカルモデルに優先的に回し、必要に応じて有料モデルへ切り替えます。MCPツールとホストのライフサイクルフックを組み合わせ、APIキーなしでClaudeのサブスクリプション経由のルーティングにも対応します。

主な機能

  1. 01無料・ローカルモデルを優先
  2. 02サーキットブレーカー付きのフォールバック
  3. 03秘密情報のクラウド送信を制限
  4. 04利用可能なコンテキストで草案を検証
  5. 05画像・動画・音声・オーケストレーションツール
  6. 06コスト・レイテンシ・ルーティング状況の確認

活用シーン

  1. 01定型的なコーディング質問を無料モデルに回す
  2. 02Claudeのサブスクリプション枠の消費を抑える
  3. 03機密プロンプトのクラウド送信を防ぐ
  4. 04セッションのルーティングやコストを確認する

MCP 対応

MCPクライアント向けにモデルルーティングツールを公開し、デフォルトでは12個の入口ツールを表示します。ローカルモデルやコーディングツールとの連携にも対応します。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

llm-router は、AI コーディングのプロンプトを無料、低価格、プレミアムの各モデル階層に振り分けます。

llm-router

無料モデルで回答できる質問に、Claude Pro/Max の利用枠を使うのはもうやめましょう。

llm-router はコーディングツール独自のライフサイクルにフックし、モデルが読む前に各プロンプトを読み取って、まず無料モデルまたはローカルモデルで回答案を作成します。Claude のサブスクリプションでは API キーは不要です。ルーティングは MCP ツールとローカルモデルを通じて行われます。

ただし、注意点が1つあります:デフォルトでは、ルーティングされた回答は参考情報であり、ゼロ Claude モードを有効にしない限り、Claude が引き続き応答します。デフォルトでは、一部のツール呼び出しはプロンプトがルーティングされるまで待機します。LLM_ROUTER_ENFORCE=off にすると、この動作は無効になります(すべてのユーザー設定についてはdocs/configuration.mdを参照)。回答案の作成率と採用率の数値は、サンプル数、期間、条件とともにdocs/MEASUREMENT.mdに記載されています。

PyPI PyPI ダウンロード数 テスト スター RouterArena に掲載 ライセンス

📑 目次

導入する理由

Claude Pro または Max プランを利用していて、それ以外には一切お金を使っていないのに、5時間の利用上限に達してしまう。質問しすぎたからではなく、すべてのプロンプトがプレミアムモデルに送られていたからです。「このエラーの意味は?」「この JSON を整形して」「サービスは稼働している?」といった質問にも、本当に必要な質問と同じ利用枠が使われていました。

プロキシではできない理由

ここにあるルーターの多くはプロキシです。エージェントがあなたの API キーを使ってリクエストを転送します。これには限界があります。サブスクリプションで認証されたセッションは、転送するキーが存在しないため、プロキシでは傍受できません。

トークンごとに支払う場合サブスクリプションで支払う場合
使い切られるもの請求額5時間の利用枠
API キーが必要はいいいえ
プロキシで対応可能はいいいえ — 傍受するものがありません
llm-router で対応可能はいはい
機能としての誠実さ

llm-router status は、検証済みと未検証の節約額をそれぞれ別に報告し、それぞれに独自の n を表示します。混合したパーセンテージではありません。このプロジェクトは、一般的な節約率を公表していません。数値はお使いのワークロードによって異なります。以下の節約額をご覧ください。

llm-router のメリットを示すアニメーションパネル。より低コストなルーティング、品質の維持、クォータの保護、設定の少なさを紹介します。


クイックスタート

pip install llm-routing        # installs the `llm-router` command
llm-router install             # wire up Claude Code (default host)
llm-router doctor               # check provider connectivity and setup
llm-router status               # verify it's routing — est. savings vs baseline

Claude Pro/Max サブスクリプションなら API キーなしで動作します。ルーティングは MCP ツールとローカルモデルを経由します。プロバイダーのキーを追加すると選択肢が広がりますが、必須ではありません。**guide/PROVIDERS.md**をご覧ください。別のホストにインストールする方法については、対応ホストをご覧ください。毎日の KPI ジョブは、同意した場合にのみインストールされます(install --schedule-daily を指定するか、尋ねられたときに Y を選択します。--no-schedule を指定するとスキップされます)。uninstall で削除できます。

Python エージェントはサーバーを介さず、プロセス内でルーティングします:from llm_router import Router; r = Router(budget_usd=0.50).run("...")(非同期コードでは await .arun(...) を使用します。上限に達すると BudgetExceeded が発生します)。


対応ホスト

ホストインストール
Claude Code(デフォルト)llm-router install
Codex CLIllm-router install --host codex
OpenCodellm-router install --host opencode
Gemini CLIllm-router install --host gemini-cli
GitHub Copilot CLIllm-router install --host copilot-cli
OpenClawllm-router install --host openclaw
Trae IDEllm-router install --host trae
Pi (pi.dev)対応予定(v16 P2.12);--host pi は理由を報告して終了コード 2 で終了します
Factory Droidllm-router install --host factory
Claude Desktopllm-router install --host desktop
VS Code(ネイティブ MCP)llm-router install --host vscode
Cursorllm-router install --host cursor
VS Code の GitHub Copilot(機能拡張。コストルーティングなし)llm-router install --host copilot
Windsurf / Cascadellm-router install --host windsurf
Kimi Code (Moonshot AI)対応予定(v16 P2.12);--host kimi は理由を報告して終了コード 2 で終了します

llm-router install --host all は、すべてのホスト設定を一度にインストールするか、表示します。各ホストの詳細と、各ホストが実際に対応できない機能については、**guide/HOST_SUPPORT_MATRIX.md**をご覧ください。


仕組み

フックは、コーディングツール自体のモデルがプロンプトを受け取る前に割り込みます。無料の正規表現ヒューリスティックが即座にプロンプトを分類し、確信度を持って実際のプロンプトの約半数をスコアリングします — 1,571 件中 788 件(scripts/measure_low_signal_rate.py、2026-09-23 に実行)。残りはデフォルトにフォールバックします。ルーティング可能なプロンプトには、まず無料またはローカルモデルでドラフトを作成し、必要な場合に限り、有料モデルへと順に切り替えます。

ドラフトは参考情報です — ゼロ Claude モードを有効にしない限り、ターンの置き換えではなく、未検証のヒントとして Claude に渡されます。適用はツール呼び出しレベルで行われます:smart(デフォルト)は、選択されたツール呼び出しをプロンプトのルーティングが完了するまで保留します。off はこれを無効にします。すべてのモードとホストごとのオーバーライドについては、**guide/GETTING_STARTED.md**をご覧ください。


特長

  • シークレットを含むプロンプトは、ローカルモデルに送られるか、どこにも送られません。 ルーティング対象の呼び出し(llm_* テキストツール、ゲートウェイ、ストリーミング)に API キー、トークン、または秘密鍵が含まれる場合、llm-router はループバックデーモン上の Ollama モデルにのみ送信します。HTTP プロキシ、セマンティックキャッシュ、判定キュー、クラウドへのフォールバックは経由しません。そうでなければ、シークレットの種類と対処方法(1 回のリクエストで上書きするには cloud: プレフィックスを使用)を示して拒否します。AKIA...EXAMPLE や postgres:postgres@ のようなプレースホルダーは拒否されません。対象外:Claude Code プロキシとフック(ログ記録のみ)、エージェントへの委任、ホストがすでに自身のモデルに送信したデータ。詳細と制限。
  • サーキットブレーカーによる自動フォールバック。 失敗したプロバイダーやレート制限されたプロバイダーはスキップされ、延々と再試行されることはありません。
  • 動作状況を確認できます。 ステータス行、ターミナルタイトル、OS 通知に、最後にルーティングされたモデル、節約額、稼働状況が表示されます。
  • セッション終了時の要約。 ベースラインとの節約額、ティア構成、プロバイダーごとのコスト、レイテンシーの p50/p95/p99、上位ルートを表示します。
  • メディアとパイプラインにも対応。 llm_image/llm_video/llm_audio と、複数ステップの調査向け llm_orchestrate を利用できます。

リファレンス

デフォルトの MCP インターフェースにはフロントドアツールが 12 個表示されます。オプトアウトすると、登録済みのすべての項目が表示されます(ユーザー設定についてはdocs/configuration.mdを参照してください)。

トピック内容ガイド
CLIinstall、status、gain、doctor、okf index/status、sessions status などguide/GETTING_STARTED.md
プロバイダー無料優先 — Ollama(ローカル)、OpenRouter、Gemini、Groq、お使いの Claude サブスクリプションguide/PROVIDERS.md
ルーティングポリシーconservative → balanced(デフォルト)→ cost_aggressive、しきい値と YAML スキーマguide/POLICIES.md
MCP ツール各ツールのシグネチャguide/TOOLS.md
llm-router gain today           # savings so far today
llm-router okf status           # knowledge base freshness
llm-router sessions status      # per-session summary

節約額

節約額は反実仮想の数値です。同じトークンを API の定価で利用した場合にかかる費用と、実際に支払った金額との差であり、定額サブスクリプションで節約した金額ではありません。llm-router status と llm-router savings-report では、検証済みと未検証の節約額を、それぞれ独自の n とともに分けて表示します。方法論、前提、制限については、docs/MEASUREMENT.md を参照してください。


信頼性とセキュリティ

llm-router はすべてお使いのマシン上で動作します。ホスト型プロキシはなく、llm-router のサービスにデータが送信されることもなく、アカウントも不要です。根拠確認(src/llm_router/grounding.py)では、コンテキストとインデックス化されたリポジトリに存在しないファイルや関数を引用するドラフトを破棄し、Claude にフォールスルーします。

LLM_ROUTER_DIRECT_EXECUTION はデフォルトで有効です。ローカルモデルは、制限され、許可リストに登録されたパスで write_file、edit_file、run_command を実行できますが、対象を狙った削除、git push --force、データの持ち出しを防ぐものではありません。プロジェクトルート外に書き込むシェルのリダイレクトやコピーは、サンドボックスではなく静的なトリップワイヤーによって拒否されます。OS サンドボックスは 16.1 です。トリップワイヤーが判定できないコマンド(インタープリターのワンライナー、sudo、$(...))は needs_approval を返しますが、承認機能はまだどこにも接続されていないため、どちらのコマンド実行経路でも拒否されたものとして扱われ、実行されません。LLM_ROUTER_DIRECT_EXECUTION=false で無効にできます。詳しい分析については、SECURITY.md を参照してください。

セルフ監査は audit/ および docs/repo_goals/AUDIT-2026-09-25.md で公開されています(達成 13 件、一部達成 6 件、未達成 1 件)。否定的な結果も含まれています。

Ground Truth の蓄積(オプトイン)では、相互にリンクされていないテレメトリーではなく、再生可能なルーティング判断のコーパスを構築します。プロンプトのテキストをディスクに書き込む唯一の機能であるため、デフォルトでは無効です。詳細については、guide/GROUND_TRUTH.md を参照してください。


ドキュメント

全インデックス:guide/README.md

ドキュメント目的
クイックスタート(2分)ルーティングを最速で動作させる方法
はじめにセットアップの全手順
ホスト対応マトリックスホストごとの機能比較
プロバイダープロバイダーのセットアップとモデルの推奨
ルーティングポリシーrouting.yaml のスキーマと独自ポリシーの作成
ツールリファレンスすべての MCP ツールと使用例
アーキテクチャ内部設計とモジュール構成
トラブルシューティングよくある問題と解決方法
ルーターのテストルーティングの健全性を確認する分離テストスイート
測定「節約額」の意味と算出方法
RouterArenaベンチマークの手法、結果、否定的な調査結果
グラウンドトゥルース再生可能なルーティングコーパス、オプトイン
ベンチマークモデルのコスト/レイテンシ/品質の表。CI によって再生成されます
変更履歴リリースノート(アーカイブ)

llm-router は RouterArena ベンチマークで評価されています。全分割、8,400 件のクエリを対象に、このリポジトリのハーネスでローカル評価しています。 独立した検証はまだ行われていません。現在の Arena スコア:72.35。評価手法と否定的な結果(調整の判断を誤らせた、4.25 ポイント差のプロキシ分割を含む)の詳細: docs/ROUTERARENA.md。


エンタープライズ、コントリビューション、ライセンス

llm-router は個人開発者や小規模チーム向けに構築されています。ローカルでコストを削減し、運用のオーバーヘッドはゼロで、ホスト型サービスもありません。チーム全体へのポリシー適用、監査エクスポート、SSO、組織ごとの予算設定については、別個の姉妹製品である Chuzom をご覧ください。

コントリビューションを歓迎します。CONTRIBUTING.md をご覧ください。

git clone https://github.com/ypollak2/llm-router.git
cd llm-router
uv sync --extra dev
uv run pytest tests/ -q         # Run tests (10,000+)
uv run ruff check src/ tests/   # Lint

MIT ライセンス。Issues · Discussions · PyPI · 変更履歴

コメント

MCP は初めてですか?

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

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