Zen MCP

Zen MCP

Zen MCP 是一个开源的模型上下文协议服务器,它通过协调多个大型语言模型(例如 Claude、Gemini、O3、Ollama 等)之间的合作,推动 AI 驱动的开发。使用 Zen MCP,您可以无缝地将不同的 AI 模型集成到您的工作流程中,进行代码分析、问题解决、调试和协同开发,最大化每个模型的优势—all在一个对话线程中。

Author: BeehiveInnovations


查看协议

什么是 Zen MCP?

Zen MCP 是一个强大的开发工具,通过模型上下文协议充当“AI 协同服务器”。它允许主 AI(通常是 Claude)协调、辩论并利用不同 LLM 的独特能力,例如 Gemini Pro 和 O3,来处理特定的软件工程任务。Zen MCP 为开发人员提供了一种获取多样化 AI 视角的方法,自动选择模型,并建立高级的多模型工作流程,深度保留上下文,让您的 AI 助手更像一个由多名资深人员组成的开发团队。

如何配置 Zen MCP

  1. 前提条件:

    • 安装 Docker Desktop 和 Git。
    • (适用于 Windows 用户)为 Claude Code CLI 启用 WSL2。
  2. 获取 API 密钥:

    • OpenRouter: 注册以获取一个密钥,通过一个 API 访问多个模型(OpenRouter)。
    • Google Gemini:Google AI Studio 获取您的 API 密钥。
    • OpenAI:OpenAI Platform 获取 API 密钥。
    • 本地模型: 为 Ollama、vLLM、LM Studio 等设置自定义端点。
  3. 克隆并设置 Zen MCP:

    git clone https://github.com/BeehiveInnovations/zen-mcp-server.git
    cd zen-mcp-server
    ./setup-docker.sh
    

    此脚本构建 Docker 镜像,创建 .env 配置,并使用 Redis 启动 Zen MCP 服务器。

  4. 添加 API 密钥:

    • 编辑您的 .env 文件,以包含所需的 API 密钥或自定义模型端点。
  5. 将 Zen MCP 添加到 Claude:

    • 对于 Claude Code CLI:
      claude mcp add zen -s user -- docker exec -i zen-mcp-server python server.py
      
    • 对于 Claude Desktop:
      • 更新 claude_desktop_config.json 以包含 MCP 服务器配置(从设置中复制说明)。
  6. 根据需要重启 你的 Claude 环境。

如何使用 Zen MCP

  1. 自然地与 Claude 互动,指定 "zen" 作为您的上下文提供者。

    • 示例:"使用 zen 对这个函数进行代码审查。"
  2. Zen MCP 自动将任务路由到最合适的模型/工具。

    • 您可以指示 Zen 使用特定模型(例如 Gemini Pro、O3、Flash 或 Ollama),或者让其自动选择。
  3. 利用协作多模型对话。

    • 任务可以拆分:一个模型分析,另一个审查,第三个提出修复,所有这些都在同一个对话线程中。
    • 之前的上下文和发现会在步骤和模型之间保留。
  4. 在命令中使用特定的 Zen MCP 工具:

    • 请求代码审查、深度分析、调试、预提交检查等。
  5. 如有需要,可以覆盖模型/工具选择:

    • 添加说明,如 "使用 o3 进行逻辑调试" 或 "使用 flash 进行快速检查"。
  6. 探索高级用法:

    • 结合工具、使用网络搜索增强,或使用跨工具延续进行异步协作。

主要特点

  • 多模型协调: 在统一工作流程中协调 Claude、Gemini、O3 和本地模型的优势。
  • 自动模型选择: Claude 智能选择每个子任务的最佳模型,您也可以指定。
  • 无缝上下文保留: 单线程对话保持跨工具和模型切换的一致上下文。
  • 预构建开发工具: 包括协作聊天、代码审查、预提交验证、调试等。
  • AI 到 AI 的对话线程: 模型可以辩论、挑战并互相请求信息,提供多角度的解决方案。
  • 支持本地模型: 通过 Ollama 或 vLLM 等轻松接入自托管模型,确保隐私和成本效率。
  • 处理大上下文窗口: 将大代码库的分析交给具有大令牌限制的模型(例如,Gemini 1M、O3 200K)。
  • 智能文件和仓库管理: 自动发现文件/仓库,扩展目录,并智能管理令牌限制。
  • 增量知识共享: 每次交换仅发送更改/新信息,使 25K+ 令牌工作流程有效。
  • 网络搜索增强: 某些工具可以根据需要建议并整合网络搜索结果。
  • 即插即用集成: 一条命令 Docker 设置和快速连接到 Claude 环境(CLI 或桌面)。

用例

  • 利用 Gemini 和 Claude 的不同优势,进行快速和深度的代码审查
  • 大脑风暴复杂的架构或技术决策——在模型之间辩论以找到最佳解决方案
  • 调试难以捉摸的逻辑错误——让 O3 分析逻辑,让 Gemini 关注架构
  • 在合并之前验证 git 提交——使用多模型观点进行预提交检查
  • 对超出 Claude 本地令牌窗口的大型代码库进行探索性代码分析
  • 使用本地(隐私优先)Llama 模型进行代码分析,然后在需要时升级到在线模型进行更深入的推理
  • 在模型之间保持持久的、异步的对话线程,以进行扩展问题解决
  • 在不同分析工具之间快速切换(例如,从“分析”到“代码审查”再到“调试”)而无需重置上下文

常见问题

问:使用 Zen MCP 需要所有 API 密钥(Gemini、OpenAI、OpenRouter)吗?
答:不。您可以仅使用一个提供者开始。但是,为了实现全面的多模型协调,添加更多密钥可以为您提供更多视角和模型优势的灵活性。

问:Zen MCP 会与任何外部服务共享我的文件或上下文吗?
答:Zen MCP 仅向您配置的 API/模型发送数据。为了最大化隐私,您可以使用本地模型(例如,通过 Ollama)确保数据永远不离开您的机器。

问:对话线程如何工作?我的历史记录会保存吗?
答:Zen MCP 使用 Redis 进行持久的“对话线程”。在一个会话中,AI 模型保留上下文,并可以交换多达 5 条消息或 1 小时的更新。默认情况下,没有长期存储。

问:我可以使用 Zen MCP 进行非编码任务吗?
答:虽然针对代码和开发工作流程进行了优化,Zen MCP 可以配置为使用支持的模型和工具进行更广泛的分析或推理任务。

问:如果两个 API 端点重叠(例如,模型名称相同)会发生什么?
答:当出现名称冲突时,原生 API 优先(例如,通过 Gemini API 的 “gemini” 与 OpenRouter)。您可以通过在 custom_models.json 中设置唯一的模型别名来解决此问题。