Zen MCP

Zen MCP

Zen MCP 是一個開源的模型上下文協議伺服器,通過協調多個大型語言模型(如 Claude、Gemini、O3、Ollama 等)之間的合作,促進人工智慧驅動的開發。使用 Zen MCP,您可以無縫地將不同的 AI 模型整合進您的工作流程,用於代碼分析、問題解決、調試和協作開發,最大化每個模型的優勢,並保持在同一對話線中進行。

Author: BeehiveInnovations


查看協議

什麼是 Zen MCP?

Zen MCP 是一個強大的開發工具,作為模型上下文協議的「AI 協調伺服器」。它允許一個主要的 AI(通常是 Claude)協調、爭辯、並利用不同 LLM 的獨特能力,針對特定的软件工程任務,如 Gemini Pro 和 O3。Zen MCP 為開發者提供了獲得多樣 AI 觀點、自動化模型選擇以及構建深度上下文保留的進階多模型工作流程的方法,讓您的 AI 助手更像是一個多位資深開發團隊。

如何配置 Zen MCP

  1. 前提條件:

    • 安裝 Docker Desktop 和 Git。
    • (對於 Windows 使用者)啟用 WSL2 以使用 Claude Code CLI。
  2. 獲取 API 密鑰:

    • OpenRouter: 註冊以獲取一個密鑰,通過一個 API 訪問多個模型 (OpenRouter)。
    • Google Gemini:Google AI Studio 獲取您的 API 密鑰。
    • OpenAI:OpenAI 平台 獲取 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 模型進行代碼分析,然後根據需要升級到線上模型以進行更深入的推理
  • 在模型之間保持持久且異步的對話線以進行擴展問題解決
  • 在不同的分析工具之間快速切換(例如,從「分析」到「代碼審查」再到「調試」),而不重置上下文

FAQ

Q: 我需要所有的 API 密鑰(Gemini、OpenAI、OpenRouter)才能使用 Zen MCP 嗎?
A: 不需要。您可以僅使用一個提供者開始。但要實現完整的多模型協調,添加更多密鑰可以為您提供包含更多視角和模型優勢的靈活性。

Q: Zen MCP 會將我的檔案或上下文分享給任何外部服務嗎?
A: Zen MCP 僅將數據發送到您配置的 API/模型。為了最大限度提高隱私,您可以使用本地模型(例如通過 Ollama)以確保數據不會離開您的機器。

Q: 對話線是如何運作的?我的歷史會被保存嗎?
A: Zen MCP 使用 Redis 進行持久的「對話線」。在會話中,AI 模型保留上下文,並可以在最多 5 條消息或 1 小時內交換更新。默認情況下不會保留長期存儲。

Q: 我可以將 Zen MCP 用於非編程任務嗎?
A: 雖然 Zen MCP 是針對編碼和開發工作流進行優化的,但它可以配置為使用受支持的模型和工具來處理更廣泛的分析或推理任務。

Q: 如果兩個 API 端點重疊(例如,模型名稱相同)會怎麼樣?
A: 當名稱衝突時,原生 API 的優先級更高(例如,「gemini」通過 Gemini API 與 OpenRouter)。您可以通過在 custom_models.json 中設置唯一模型別名來解決此問題。