什么是 Zen MCP?
Zen MCP 是一个强大的开发工具,通过模型上下文协议充当“AI 协同服务器”。它允许主 AI(通常是 Claude)协调、辩论并利用不同 LLM 的独特能力,例如 Gemini Pro 和 O3,来处理特定的软件工程任务。Zen MCP 为开发人员提供了一种获取多样化 AI 视角的方法,自动选择模型,并建立高级的多模型工作流程,深度保留上下文,让您的 AI 助手更像一个由多名资深人员组成的开发团队。
如何配置 Zen MCP
-
前提条件:
- 安装 Docker Desktop 和 Git。
- (适用于 Windows 用户)为 Claude Code CLI 启用 WSL2。
-
获取 API 密钥:
- OpenRouter: 注册以获取一个密钥,通过一个 API 访问多个模型(OpenRouter)。
- Google Gemini: 从 Google AI Studio 获取您的 API 密钥。
- OpenAI: 从 OpenAI Platform 获取 API 密钥。
- 本地模型: 为 Ollama、vLLM、LM Studio 等设置自定义端点。
-
克隆并设置 Zen MCP:
git clone https://github.com/BeehiveInnovations/zen-mcp-server.git cd zen-mcp-server ./setup-docker.sh
此脚本构建 Docker 镜像,创建
.env
配置,并使用 Redis 启动 Zen MCP 服务器。 -
添加 API 密钥:
- 编辑您的
.env
文件,以包含所需的 API 密钥或自定义模型端点。
- 编辑您的
-
将 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 服务器配置(从设置中复制说明)。
- 更新
- 对于 Claude Code CLI:
-
根据需要重启 你的 Claude 环境。
如何使用 Zen MCP
-
自然地与 Claude 互动,指定 "zen" 作为您的上下文提供者。
- 示例:"使用 zen 对这个函数进行代码审查。"
-
Zen MCP 自动将任务路由到最合适的模型/工具。
- 您可以指示 Zen 使用特定模型(例如 Gemini Pro、O3、Flash 或 Ollama),或者让其自动选择。
-
利用协作多模型对话。
- 任务可以拆分:一个模型分析,另一个审查,第三个提出修复,所有这些都在同一个对话线程中。
- 之前的上下文和发现会在步骤和模型之间保留。
-
在命令中使用特定的 Zen MCP 工具:
- 请求代码审查、深度分析、调试、预提交检查等。
-
如有需要,可以覆盖模型/工具选择:
- 添加说明,如 "使用 o3 进行逻辑调试" 或 "使用 flash 进行快速检查"。
-
探索高级用法:
- 结合工具、使用网络搜索增强,或使用跨工具延续进行异步协作。
主要特点
- 多模型协调: 在统一工作流程中协调 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
中设置唯一的模型别名来解决此问题。