mcpField
M
Mcp Multi Model

Mcp Multi Model

本地服务
github.com/K1vin1906AI 与智能体64 天前更新

关于 Mcp Multi Model

Mcp Multi Model 是面向编码 Agent 和 MCP 主机的多模型 MCP 服务,可统一调用多家模型,并按任务类别路由请求。它还提供并行回答比较、网页搜索以及图像和视频生成工具。

主要功能

  1. 01按任务类别智能路由模型
  2. 02并行查询并比较模型回答
  3. 03集成网页搜索与来源引用
  4. 04文本生成图像和视频
  5. 05支持 12 多家模型提供方

适用场景

  1. 01将编码任务委派给配置的模型
  2. 02并排比较两个模型对实现方案的回答
  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否最大 token 数
system_promptstring否系统提示词
conversation_idstring否对话 ID,传入相同 ID 可保持多轮上下文

详细介绍

mcp-multi-model

赋予你的 AI 编码 Agent 超能力——图像生成、视频生成、网络搜索和智能多模型路由。兼容 Claude Code、Codex CLI、Gemini CLI、Grok Build、Cursor 及任意 MCP 主机。

一个 MCP 服务。满足你所需的所有模型。无需在标签页间切换。

demo

npx mcp-multi-model

如果你觉得这个项目有用,请给它一个 ⭐——这能帮助更多人发现这个项目!


它能做什么?

🎨 直接在终端中生成图像和视频

“生成一个带有发光靛蓝色光球的 macOS 应用图标”

Claude 会调用 Nano Banana 2 / Nano Banana Pro / GPT Image 2,保存 PNG 并打开它。无需浏览器、Figma,也无需切换上下文。

也支持视频——Veo 3.1 可以根据文本提示词生成短片。

🧠 智能路由——为每项任务选择合适的模型

需要推理 / Agent 式编码 → 自动路由到 OpenAI GPT-6 / GPT-5.6 / o-series(自动处理 max_completion_tokens,并在不支持时跳过 temperature)。 让 Claude 研究某个主题 → 自动路由到 Gemini(使用 Google Search grounding)。 让它以低成本编写代码 → 自动路由到 DeepSeek(速度快、成本低、代码能力出色)。 需要中文实时信息 → 自动路由到 Kimi(网络搜索)。

你无需选择模型,路由会自动为你完成。

⚖️ 并排比较模型

“询问 DeepSeek 和 Gemini 如何实现 B-tree”

两个答案,一个终端。看看哪个模型能给出更好的方案。

🌐 内置网络搜索

Gemini 使用 Google Search grounding。OpenAI GPT-5.6 / GPT-6 通过 Responses API web_search 工具搜索(openai-search / openai-pro-search,附带来源 URL)。Kimi 搜索中文网络。无需单独使用浏览器操作 MCP。

🔧 一行安装
{
  "mcpServers": {
    "multi-model": {
      "command": "npx",
      "args": ["-y", "mcp-multi-model"],
      "env": {
        "DEEPSEEK_API_KEY": "sk-...",
        "GEMINI_API_KEY": "AI..."
      }
    }
  }
}

就这么简单。无需克隆 Git 仓库,也无需构建。


支持的模型

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 grounding。内置图像生成(Nano Banana 2 / 2 Lite / Pro)和视频生成(Veo 3.1)。
DeepSeekopenai编程、数学、逻辑——成本极低
Kimi(Moonshot)openaiKimi K2.6 中文网络搜索(工具调用循环)+ Kimi K3 旗舰推理模型
Grok(xAI)openai实时 X/Twitter 上下文、推理
Perplexityopenai内置网络搜索和引用功能的 Sonar 模型
Anthropic(通过 OpenRouter)openai通过 OpenRouter 路由 Claude 模型
Mistral / Groq / Qwen / GLM / Togetheropenai欧盟 AI、超快推理、原生中文模型、开源聚合平台
Ollama / LM Studio / llama.cpp / vLLMopenai本地运行——无需 API 密钥、无需费用、充分保护隐私

添加新模型只需在 config.yaml 中添加一个配置块——请参阅配置。

默认设置的依据——实测数据

config.yaml 中的 routing.categories 表由 eval/ 里的小型基准测试提供依据:5 种任务类型 × 4 个提示词 × 6 个模型,通过服务自身的适配器运行(使用与 delegate 相同的超时、重试、标志和定价)。代码由 node --permission 沙箱中的隐藏测试评分;信息提取按字段级 JSON 匹配评分;推理按答案精确匹配评分;研究和创意任务由盲测评分标准打分。首次运行于 2026-10-21:共 120 次调用,总计 $0.78。

模型代码信息提取推理研究创意总分平均每次调用费用中位耗时(秒)超时次数
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 + 网页搜索 (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%,在六个模型中成本最低、速度最快;思考模型(Gemini Flash、DeepSeek Pro、Kimi)在规范繁多的解析器任务上都超过了 60 秒超时。
  • research → gemini — 保留此设置以利用 Google Search 的信息依据功能,此功能未在 v0 中测试。在知识稳定的对比任务中,DeepSeek 和 GPT-5.6 Luna 的得分均为 100%,成本仅为 Gemini 的 1/15,因此,对于不需要实时网络的问题,ask_deepseek 是更便宜的调用方式。
  • creative → gemini — 得到验证。盲测创意评分最高(4.25/5);DeepSeek Pro 仅以其 1/5 的成本取得接近的成绩,但速度慢了 4 倍。
  • realtime → kimi — 未测量(v0 中没有实时网络任务)。Kimi K2.6 是最慢的模型(中位耗时 34 秒,3/20 次超时),因此没有其他任务路由到它。
  • 专业版层级需要显式指定,而非设为默认 — 在此难度下,deepseek-pro 的质量与 Flash 持平,但速度慢了 4 倍;gemini-pro 在研究任务上的得分最低,因为它忽略了长度限制,成本是 Flash 的 4 倍。
  • 六个模型在推理和信息提取任务上均达到满分,因此由成本和延迟决定:DeepSeek Flash。

方法、注意事项(n = 4,延迟仅采样一次,只有一位盲测评分者)及各任务结果:eval/README.md。使用 node eval/run.js run 重新运行。

MCP 工具

工具根据你的配置动态生成。默认设置如下:

工具功能
ask_ai查询任意模型——统一入口,支持控制 temperature / top_p
ask_deepseek直接查询 DeepSeek
ask_gemini直接查询 Gemini
ask_kimi直接查询 Kimi
ask_all并行查询所有模型并比较结果
ask_both并行查询任意两个模型
delegate智能路由——按类别将独立任务分派给最合适的模型
generate_image通过 Gemini Nano Banana 将文本转换为图像(默认:Nano Banana 2 Lite)
generate_video通过 Gemini Veo 将文本转换为视频
translate中英互译
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"]
    }
  }
}

可以通过上述配置中的 env 设置 API 密钥,也可以在项目目录的 .env 文件中设置。

适用于任何 MCP 宿主

此服务使用标准 stdio MCP,因此任何宿主都能运行它。不同宿主之间有两点差异:允许单次工具调用运行的时长,以及是否会读取服务内置的指令。这里的某些调用按设计会比较慢(默认快速强度下,ask_all 需要 10-20 s;深度强度下则需要一分钟或更久;openai-pro-search 最长需要 3 min;generate_video 需要几分钟),因此请查看超时列。已根据 2026 年 10 月的官方文档进行核对;标注为 (次要来源) 的内容来自社区来源。

宿主配置默认工具超时是否读取服务的 instructions
Claude Code~/.mcp.json足够长是(2026-10-23 已测试)
Codex CLI~/.codex/config.toml60 s,需调高否(v0.163,2026-10-23 已测试),请安装 skill
Gemini CLI~/.gemini/settings.json600 s是(2026-10-23 已测试)
Grok Build~/.grok/config.toml,也会读取 .mcp.json6000 s未注明
Cursor~/.cursor/mcp.json未注明未注明
ClineMCP Servers 面板60 s,需调高未注明

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 已测试),因此请安装以下 skill: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 Servers 面板中打开服务卡片,并将 Network Timeout 设置为 5 分钟或更长。

API 密钥在所有宿主中的设置方式相同:在宿主配置中添加 env 块,或将 .env 文件放在服务旁边。

教 Agent 如何使用:multi-model skill

工具是双手;skill 是大脑。skills/multi-model/SKILL.md 是一个 Agent Skills 文件,告诉 Agent 何时委派任务、选择哪个模型、各个层级的费用、如何使用两个基于网络信息的模型核查事实、为什么 ask_all 适用于检测偏见而非作为证据,以及如何在各个宿主中处理耗时较长的调用。服务启动时也会通过 MCP instructions 发送这些规则的简短版本,因此能够读取它的宿主无需任何设置即可获取基本信息。

每个宿主安装一次完整的 skill(一个文件,所有宿主内容相同):

宿主Skill 路径
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 的 skills 和插件
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 自动路由到两类端点:

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

Google 已停用 Imagen 4(imagen-4.0-*)(截至 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/

本地模型

任何兼容 OpenAI 的本地运行器均可使用 — Ollama、LM Studio、llama.cpp、vLLM:

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

可自由混用本地和云端模型 — 使用 ask_all 在一次调用中比较 Ollama、DeepSeek 和 Gemini。

内置功能

  • 自动重试与回退 — 遇到 429/5xx 时采用指数退避;路由模型超时或出错时,delegate / research 会使用对应类别的 fallback_chain 重试一次,并在回复中说明
  • 不会静默截断 — 被截断的回答会以 [⚠️ Output truncated ...] 结尾;仅包含推理内容的回答会以诊断信息形式返回;流式输出停滞时会在模型超时后中止,而不是返回半截回复
  • 推理预算余量 — 为思考模型额外提供 thinking_headroom 个输出 Token,让 max_tokens 表示可见回答
  • 所有聊天工具均支持 effort — fast(默认)或 deep,映射到各提供商自身的推理参数
  • 对话历史 — 使用 conversation_id 保存多轮上下文(30 分钟后过期,最多 10 轮)
  • 成本跟踪 — 统计每次调用的 Token 用量并估算成本
  • 响应缓存 — 使用可配置的 TTL 缓存完全相同的提示词
  • 每日预算上限 — 设置支出上限;超出后将阻止调用
  • 流式传输 — 聊天适配器支持实时 SSE 流式传输(openai-responses 的网页搜索不支持流式传输)

隐私

这是一个本地中继。不会进行遥测或分析,也不会向作者发送任何数据。服务发送或运行的所有内容如下:

  • 提示词会发送给你配置的提供商。 每次调用都会将提示词、可选的系统提示词,以及(如果你传入 conversation_id)该对话之前的轮次,发送给为你请求的模型提供服务的那个提供商。使用默认的 config.yaml 时,这些提供商是 OpenAI、Google(Gemini)、DeepSeek 和 Moonshot(Kimi);ask_all 会同时向所有聊天模型发送相同的提示词。你自行添加的任何端点(Ollama、OpenRouter 等)也会收到相同内容。API 密钥从你的环境或 .env 中读取,并且只会发送给各自的提供商。
  • 启动时检查一次版本。 服务会向 https://registry.npmjs.org/mcp-multi-model/latest 发送单个 GET 请求,以便在有新版本时通知你。除此之外不会发送任何内容。设置 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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。