mcpField
M
Mcp Multi Model

Mcp Multi Model

ローカル
github.com/K1vin1906AI・エージェント64 日前に更新

Mcp Multi Model について

Mcp Multi Model は、複数のモデルプロバイダーをまとめ、タスク別にリクエストを振り分ける、コーディングエージェントや MCP ホスト向けの MCP サーバーです。回答の並列比較、ウェブ検索、画像・動画生成のツールも提供します。

主な機能

  1. 01タスク別のモデル振り分け
  2. 02複数モデルへの並列問い合わせと比較
  3. 03出典付きウェブ検索
  4. 04テキストからの画像・動画生成
  5. 0512 以上のモデルプロバイダーに対応

活用シーン

  1. 01コーディング作業を設定済みモデルに委任
  2. 02実装案への 2 モデルの回答を比較
  3. 03検索で最新のウェブ情報を調査
  4. 04プロンプトから画像や短い動画を生成

MCP 対応

動的に構成されるツールを stdio MCP 経由で公開し、任意の MCP ホストから利用できます。モデルへの問い合わせ、委任、ウェブ調査、画像・動画生成に対応します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"multi-model": {
"command": "npx",
"args": [
"-y",
"mcp-multi-model"
],
"env": {
"DEEPSEEK_API_KEY": "<DEEPSEEK_API_KEY>",
"GEMINI_API_KEY": "<GEMINI_API_KEY>",
"KIMI_API_KEY": "<KIMI_API_KEY>"
}
}
}
}
起動コマンドnpx -y mcp-multi-model
設定が必要な環境変数
DEEPSEEK_API_KEYシークレット
GEMINI_API_KEYシークレット
KIMI_API_KEYシークレット

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

パッケージ
npmmcp-multi-model

ツール

20

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

パラメーター型必須説明
promptstringはいプロンプト
max_tokensnumberいいえ最大トークン数
system_promptstringいいえシステムプロンプト
conversation_idstringいいえ会話 ID。同じ ID を渡すと複数ターンのコンテキストを維持できます

詳細

mcp-multi-model

AI コーディングエージェントに強力な機能を追加します。画像生成、動画生成、ウェブ検索、スマートなマルチモデルルーティングに対応。Claude Code、Codex CLI、Gemini CLI、Grok Build、Cursor、その他あらゆる MCP ホストで動作します。

1 つの MCP サーバーで、必要なモデルをすべて利用できます。タブの切り替えは不要です。

demo

npx mcp-multi-model

便利だと思ったら、ぜひ ⭐ を付けてください。ほかの人がこのプロジェクトを見つけやすくなります!


何ができますか?

🎨 ターミナルから画像や動画を生成

「光るインディゴ色のオーブをあしらった macOS アプリのアイコンを生成して」

Claude が Nano Banana 2 / Nano Banana Pro / GPT Image 2 を呼び出し、PNG を保存して開きます。ブラウザーも Figma も、作業の切り替えも不要です。

動画にも対応しています。Veo 3.1 がテキストプロンプトから短いクリップを生成します。

🧠 スマートルーティング — タスクに最適なモデルを選択

推論やエージェント型コーディングが必要な場合は、OpenAI GPT-6 / GPT-5.6 / o-series にルーティングします(max_completion_tokens を自動処理し、非対応の場合は temperature を省略します)。 Claude に調査を頼むと、Gemini にルーティングします(Google Search グラウンディング)。 コードを低コストで書かせる場合は、DeepSeek にルーティングします(高速、低コスト、コード生成に優れています)。 中国語でリアルタイム情報が必要な場合は、Kimi にルーティングします(ウェブ検索)。

モデルを選ぶ必要はありません。ルーティングが自動で行います。

⚖️ モデルを並べて比較

「DeepSeek と Gemini の両方に、B ツリーの実装方法を尋ねて」

2 つの回答を 1 つのターミナルで確認できます。どちらのモデルがより良い解決策を提示するか、比較できます。

🌐 ウェブ検索を標準搭載

Gemini は Google Search グラウンディングを使用します。OpenAI GPT-5.6 / GPT-6 は Responses API の web_search ツール(openai-search / openai-pro-search)で検索し、出典 URL も付与されます。Kimi は中国語ウェブを検索します。ブラウザー操作用の MCP は別途不要です。

🔧 1 行でインストール
{
  "mcpServers": {
    "multi-model": {
      "command": "npx",
      "args": ["-y", "mcp-multi-model"],
      "env": {
        "DEEPSEEK_API_KEY": "sk-...",
        "GEMINI_API_KEY": "AI..."
      }
    }
  }
}

これだけです。git clone もビルド手順も不要です。


対応モデル

config.example.yaml で 12 以上のプロバイダーが事前設定されています。API キーのないモデルは自動的にスキップされます。

プロバイダーアダプター使用する理由
OpenAIopenai, openai-responsesGPT-6 Astra / GPT-5.6 の推論、o-series、GPT Image 2。openai-responses は、出典を明記した Responses API のウェブ検索を追加します。推論パラメーターは自動的に処理されます(max_completion_tokens を使用し、非対応の場合は temperature を省略)。
Geminigemini長いコンテキスト、Google Search グラウンディング。画像(Nano Banana 2 / 2 Lite / Pro)と動画(Veo 3.1)の生成を標準搭載しています。
DeepSeekopenaiコード、数学、論理に対応 — 非常に低コスト
Kimi(Moonshot)openaiKimi K2.6 による中国語ウェブ検索(ツール呼び出しループ)+ Kimi K3 のフラッグシップ推論
Grok(xAI)openaiX/Twitter のリアルタイム情報、推論
Perplexityopenaiウェブ検索と引用を標準搭載した Sonar モデル
Anthropic(OpenRouter 経由)openaiOpenRouter 経由でルーティングされる Claude モデル
Mistral / Groq / Qwen / GLM / TogetheropenaiEU AI、超高速推論、中国語ネイティブ、オープンソースのアグリゲーター
Ollama / LM Studio / llama.cpp / vLLMopenaiローカル — API キー不要、無料、プライバシーを完全に保護

新しいモデルの追加は、config.yaml にブロックを 1 つ追加するだけです。設定をご覧ください。

これらのデフォルト設定の根拠 — 実測結果

config.yaml の routing.categories テーブルは、eval/ にある小規模なベンチマークに基づいています。5 種類のタスク × 4 つのプロンプト × 6 つのモデルを、サーバー独自のアダプター(delegate が使用するものと同じタイムアウト、再試行、フラグ、料金設定)を通して実行しました。コードは node --permission サンドボックス内の隠しテストで採点し、抽出はフィールド単位の JSON 一致度、推論は正確な回答、調査と創作はブラインド評価で採点しています。初回実行は 2026-10-21 で、120 回の呼び出し、合計 $0.78 でした。

modelcodeextractionreasoningresearchcreativeoverallavg $/callmedian stimeouts
DeepSeek V4 Flash (deepseek)100971001006592$0.00032.50/20
Gemini 3.8 Flash (gemini)75100100958591$0.005911.71/20
GPT-5.6 Luna (openai)85971001006589$0.00045.10/20
Kimi K2.6 + web search (kimi)50100100905579$0.006433.93/20
DeepSeek V4 Pro (deepseek-pro)75100100908089$0.00129.91/20
Gemini 3.1 Pro (gemini-pro)100100100707088$0.024717.20/20

品質は%表示です。各セルの n = 4 で、60 秒のタイムアウトは 0 としてカウントしています。デフォルト設定への意味は次のとおりです。

  • code → deepseek — 確認済みです。すべての隠しテストで 100%を達成し、6 モデル中で最も安価かつ高速です。思考モデル(Gemini Flash、DeepSeek Pro、Kimi)は、仕様の多いパーサータスクで 60 秒のタイムアウトを超えました。
  • research → gemini — v0 ではテストしていない Google Search によるグラウンディングを利用するため、この設定を維持しています。知識が安定している比較タスクでは、DeepSeek と GPT-5.6 Luna が Gemini の 1/15 のコストで 100%を達成しました。そのため、リアルタイムのウェブ情報が不要な質問では、ask_deepseek のほうが安価です。
  • creative → gemini — 確認済みです。ブラインド創作スコアが最高(4.25/5)でした。DeepSeek Pro はコストが 1/5 で僅差でしたが、4 倍遅い結果でした。
  • realtime → kimi — 未測定です(v0 にはリアルタイムのウェブタスクがありませんでした)。Kimi K2.6 は最も遅いモデル(中央値 34 秒、タイムアウト 3/20 回)のため、ほかのタスクは割り当てていません。
  • Pro ティアは明示的に選択するもので、デフォルトではありません — この難易度では、deepseek-pro は Flash と同等の品質でしたが 4 倍遅く、gemini-pro は Flash の 4 倍のコストがかかるうえ、長さ制限を無視したため調査で最低スコアでした。
  • 6 モデルすべてで推論と抽出のスコアが上限に達したため、選択の決め手はコストとレイテンシーとなり、DeepSeek Flash が選ばれました。

手法、注意事項(n = 4、レイテンシーのサンプルは各 1 件、ブラインド評価者 1 名)、タスクごとの結果については、eval/README.md を参照してください。node eval/run.js run で再実行できます。

MCP ツール

ツールは設定から動的に生成されます。デフォルト設定では次のとおりです。

ToolWhat it does
ask_ai任意のモデルに問い合わせます — temperature / top_p を調整できる統合エントリーです
ask_deepseekDeepSeek に直接問い合わせます
ask_geminiGemini に直接問い合わせます
ask_kimiKimi に直接問い合わせます
ask_allすべてのモデルに並列で問い合わせ、結果を比較します
ask_both任意の 2 つのモデルに並列で問い合わせます
delegateスマートルーティング — 自己完結型のタスクを、カテゴリに応じて最適なモデルに委任します
generate_imageGemini Nano Banana を使ってテキストから画像を生成します(デフォルト:Nano Banana 2 Lite)
generate_videoGemini Veo を使ってテキストから動画を生成します
translateCN ↔ EN の翻訳
researchウェブ検索による詳細な調査
check_healthすべてのモデルに ping を送り、ステータスとレイテンシーを報告します

すべてのチャットツールでは effort: "fast" | "deep" も指定できます。fast(日常的なエントリーのデフォルト)は、各プロバイダーの低い推論努力に対応します(Gemini の thinking_level、OpenAI の reasoning_effort、Kimi K3 の reasoning_effort)。deep は、難しい分析に対応できるよう同じ設定を引き上げます。フラッグシップのエントリー(gemini-pro、openai-pro、openai-pro-search、kimi_k3)は deep がデフォルトで、ask_all はすべてのモデルを fast で実行します。

インストール

オプション 1:npx(推奨)

MCP ホストの設定に追加してください。Claude Code は ~/.mcp.json を読み込みます。Codex CLI、Gemini CLI、Grok Build、Cursor、Cline 用のスニペットは、あらゆる MCP ホストでの利用にあります。

{
  "mcpServers": {
    "multi-model": {
      "command": "npx",
      "args": ["-y", "mcp-multi-model"],
      "env": {
        "DEEPSEEK_API_KEY": "sk-...",
        "GEMINI_API_KEY": "AI..."
      }
    }
  }
}
オプション 2:クローンしてローカルで実行
git clone https://github.com/K1vin1906/mcp-multi-model.git
cd mcp-multi-model
npm install
npm run setup   # Interactive setup wizard — validates your API keys

次に、MCP 設定に追加してください:

{
  "mcpServers": {
    "multi-model": {
      "command": "node",
      "args": ["/path/to/mcp-multi-model/index.js"]
    }
  }
}

API キーは、上記の設定の env から、またはプロジェクトディレクトリ内の .env ファイルから設定できます。

あらゆる MCP ホストでの利用

このサーバーはプレーンな stdio MCP を使用するため、どのホストでも実行できます。ホストによって異なる点は 2 つあります。1 つのツール呼び出しに許可される時間と、サーバー組み込みの指示を読み込むかどうかです。このサーバーの一部の呼び出しは仕様上時間がかかります(デフォルトの高速エフォートでは ask_all が 10~20 秒、ディープでは 1 分以上、openai-pro-search は最大 3 分、generate_video は数分)。そのため、タイムアウトの列を確認してください。2026 年 10 月に公式ドキュメントと照合済みです。(二次情報) と記された項目は、コミュニティの情報源に基づいています。

ホスト設定デフォルトのツールタイムアウトサーバーの instructions を読み込む
Claude Code~/.mcp.json十分に長いはい(2026-10-23 にテスト済み)
Codex CLI~/.codex/config.toml60 秒。延長してくださいいいえ(v0.163、2026-10-23 にテスト済み)。スキルをインストールしてください
Gemini CLI~/.gemini/settings.json600 秒はい(2026-10-23 にテスト済み)
Grok Build~/.grok/config.toml。.mcp.json も読み込みます6000 秒ドキュメントに記載なし
Cursor~/.cursor/mcp.jsonドキュメントに記載なしドキュメントに記載なし
ClineMCP サーバーパネル60 秒。延長してくださいドキュメントに記載なし

Codex CLI — ~/.codex/config.toml

[mcp_servers.multi-model]
command = "npx"
args = ["-y", "mcp-multi-model"]
startup_timeout_sec = 30   # default 10; npx cold start can exceed it
tool_timeout_sec = 300     # default 60; ask_all / openai-pro-search / video need more

Codex CLI 0.163 はサーバーの instructions をモデルのコンテキストに挿入しないため(2026-10-23 にテスト済み)、以下のスキルをインストールしてください。Codex は ~/.codex/skills/multi-model/SKILL.md を検出し、ツールを呼び出す前に読み込みます。

Gemini CLI — ~/.gemini/settings.json

{
  "mcpServers": {
    "multi-model": { "command": "npx", "args": ["-y", "mcp-multi-model"], "timeout": 600000 }
  }
}

Grok Build

grok mcp add multi-model -- npx -y mcp-multi-model
grok mcp doctor multi-model

Grok Build は ~/.claude.json、.cursor/mcp.json、プロジェクトの .mcp.json も自動的に読み込みます。

Cursor は、~/.cursor/mcp.json で Claude Code と同じ JSON 形式を使用します。ツールのタイムアウトはドキュメントに記載されていないため、呼び出しは短く保ち、そこで ask_all を使わないでください。Cline の場合は、MCP サーバーパネルでサーバーカードを開き、ネットワークタイムアウト を 5 分以上に設定してください。

API キーの設定方法はどのホストでも同じです。ホスト設定の env ブロック、またはサーバーと同じ場所にある .env ファイルを使用します。

エージェントに使い方を教える:multi-model スキル

ツールは手であり、スキルは頭脳です。skills/multi-model/SKILL.md は Agent Skills ファイルです。エージェントがいつ委任するか、どのモデルを選ぶか、各ティアのコスト、ウェブ情報を根拠とする 2 つのモデルでファクトチェックする方法、ask_all が証拠集めではなくバイアス検出を目的とする理由、各ホストで時間のかかる呼び出しを処理する方法を説明します。また、サーバーは起動時にこれらのルールの短縮版を MCP instructions として送信するため、それを読み込むホストなら設定なしですぐに基本を把握できます。

ホストごとにスキル全体を一度インストールしてください(ファイルは 1 つで、内容はどこでも同じです)。

ホストスキルのパス
Claude Code~/.claude/skills/multi-model/SKILL.md、またはリポジトリをプラグインとして読み込みます:claude --plugin-dir /path/to/mcp-multi-model
Codex CLI~/.codex/skills/multi-model/SKILL.md (二次情報)
Gemini CLI~/.gemini/skills/multi-model/SKILL.md (二次情報)
Grok Build~/.grok/skills/multi-model/SKILL.md。Claude Code のスキルとプラグインも直接読み込みます
Cursor~/.cursor/skills/multi-model/SKILL.md。一部対応 (二次情報)
# example: Codex CLI
curl -fsSL https://raw.githubusercontent.com/K1vin1906/mcp-multi-model/main/skills/multi-model/SKILL.md \
  --create-dirs -o ~/.codex/skills/multi-model/SKILL.md

設定

cp config.example.yaml config.yaml
defaults:
  max_tokens: 4000
  temperature: 0.7
  timeout_ms: 60000        # per-model `timeout_ms` overrides this (web / thinking models ship with 120000)
  max_retries: 2
  thinking_headroom: 4000  # added on top of max_tokens for thinking models, so reasoning tokens never eat the answer
  # cache_ttl_ms: 300000   # Cache identical prompts for 5 min
  # daily_budget_usd: 5.0  # Daily spending limit in USD

models:
  deepseek:
    name: DeepSeek
    adapter: openai
    endpoint: https://api.deepseek.com/chat/completions
    api_key_env: DEEPSEEK_API_KEY
    model: deepseek-chat
    description: "Code, math, logic. Low cost."
    fallback_to: gemini
    pricing:
      input: 0.14    # $/M tokens
      output: 0.28

  gemini:
    name: Gemini
    adapter: gemini
    endpoint: https://generativelanguage.googleapis.com/v1beta
    api_key_env: GEMINI_API_KEY
    model: gemini-2.5-flash-preview-04-17
    description: "Long context, broad knowledge, Google Search."
    features:
      - google_search
    timeout_ms: 120000
    effort:                       # per-level overrides of this model's own fields; callers pass effort="fast" | "deep"
      fast: { thinking_level: low }
      deep: { thinking_level: high }
    default_effort: fast          # OpenAI-style models use { reasoning_effort: low | high }; any other field goes in extra_body
    pricing:
      input: 0.10
      output: 0.40

  # Local models — no API key needed:
  # ollama:
  #   name: Ollama
  #   adapter: openai
  #   endpoint: http://localhost:11434/v1/chat/completions
  #   model: llama3.2

画像生成

モデル ID に基づき、2 種類のエンドポイントファミリーに自動でルーティングされます:

Gemini ファミリー(GEMINI_API_KEYを使用)
モデル IDエンドポイント備考
gemini-3.1-flash-lite-image(Nano Banana 2 Lite):generateContentデフォルト、約$0.034/画像、最も低いレイテンシ
gemini-3.1-flash-image(Nano Banana 2):generateContent約$0.067/画像、参照画像の編集に対応
gemini-3-pro-image(Nano Banana Pro):generateContent約$0.134/画像、最大4K

Imagen 4(imagen-4.0-*)はGoogleによって提供終了となり(2026-09時点ですべてのIDが404を返すため)、3.9.0で削除されました。

OpenAI ファミリー(OPENAI_API_KEYを使用)
モデル IDエンドポイント備考
gpt-image-2/v1/images/generationsテキスト描画に最適です。OpenAI組織の認証が必要です。

aspect_ratioは1:1、3:2、4:3、16:9、9:16に対応しています。qualityとsizeはOpenAIの画像エンドポイントに転送されます。

動画生成

Gemini Veo 3.1を使用して短い動画クリップを生成します(GEMINI_API_KEYを使用)。

パラメーター型備考
promptstring生成する動画のテキストによる説明
aspect_ratio16:9 / 9:16 / 1:1
duration4 / 6 / 8(秒)偶数である必要があります。Veoは偶数の長さのみ受け付けます
save_pathstring?デフォルトは/tmp/mcp-media/videos/です

ローカルモデル

Ollama、LM Studio、llama.cpp、vLLMなど、OpenAI互換のローカルランナーを使用できます。

models:
  ollama:
    name: Ollama
    adapter: openai
    endpoint: http://localhost:11434/v1/chat/completions
    model: llama3.2

ローカルモデルとクラウドモデルは自由に組み合わせられます。ask_allを使うと、1回の呼び出しでOllama、DeepSeek、Geminiを比較できます。

組み込み機能

  • 自動リトライとフォールバック — 429/5xxでは指数バックオフを行います。ルーティング先のモデルがタイムアウトまたはエラーになった場合、delegate / researchはカテゴリのfallback_chainを使って1回リトライし、そのことを返信で伝えます
  • 無言の切り詰めなし — 途中で切れた回答は[⚠️ Output truncated ...]で終わり、推論のみの回答は診断結果として返されます。ストリームが停止した場合は、回答の途中を返すのではなく、モデルのタイムアウト後に中断します
  • 推論予算の余裕 — 思考モデルにはthinking_headroom分の追加出力トークンが与えられるため、max_tokensはユーザーに見える回答のトークン数を意味します
  • すべてのチャットツールでeffortを指定可能 — fast(デフォルト)またはdeepを指定すると、各プロバイダー固有の推論設定にマッピングされます
  • 会話履歴 — conversation_idによる複数ターンのコンテキスト(有効期限30分、最大10ターン)
  • コスト追跡 — 呼び出しごとのトークン使用量とコストの推定
  • レスポンスキャッシュ — 設定可能なTTLで同一のプロンプトをキャッシュ
  • 1日の予算上限 — 支出上限を設定できます。上限を超えると呼び出しはブロックされます
  • ストリーミング — チャットアダプター向けのリアルタイムSSEストリーミング(openai-responsesのウェブ検索はストリーミングに非対応です)

プライバシー

これはローカルリレーです。テレメトリや分析機能はなく、作成者にデータが送信されることもありません。サーバーが送信または実行する内容はすべて以下のとおりです。

  • プロンプトは、設定したプロバイダーに送信されます。 呼び出しごとに、プロンプト、任意のシステムプロンプト、および conversation_id を渡した場合はその会話の過去のターンが、要求したモデルを提供するプロバイダーに送信されます。デフォルトの config.yaml では、OpenAI、Google(Gemini)、DeepSeek、Moonshot(Kimi)が対象です。ask_all は同じプロンプトをすべてのチャットモデルに一度に送信します。独自に追加したエンドポイント(Ollama、OpenRouter など)にも同じ内容が送信されます。API キーは環境変数または .env から読み込まれ、それぞれのプロバイダーにのみ送信されます。
  • 起動時にバージョンを1回確認します。 新しいバージョンがあることを通知できるよう、サーバーは https://registry.npmjs.org/mcp-multi-model/latest に GET リクエストを1回送信します。リクエスト自体以外に送信されるものはありません。無効にするには MCP_MULTI_MODEL_NO_UPDATE_CHECK=1 を設定してください。
  • 生成ファイルはローカルで開かれます。 generate_image と generate_video はファイルを /tmp/mcp-media/ の下に書き込み、macOS では open を実行してすぐに表示します。save_path を渡すと保存先を指定でき、自動で開く動作をスキップできます。ほかのローカルコマンドは実行されません。
  • それ以外は何もありません。 クラッシュレポート、利用統計、サードパーティ製 SDK はありません。

ポリシー全文: k1vin1906.github.io/mcp-multi-model/privacy.html

ライセンス

MIT

コメント

MCP は初めてですか?

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

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