Zen MCP

Zen MCP

Zen MCPはオープンソースのモデルコンテキストプロトコルサーバーです。複数の大規模言語モデル(例:Claude、Gemini、O3、Ollamaなど)との協力を促進します。Zen MCPを使用すれば、コード分析、問題解決、デバッグ、共同開発のために異なるAIモデルをシームレスに統合できます。それぞれのモデルの強みを最大限に活かし、単一の会話スレッド内で行うことができます。

Author: BeehiveInnovations


プロトコルを表示

Zen MCPとは?

Zen MCPは強力な開発ツールで、モデルコンテキストプロトコルを使用した「AIオーケストレーションサーバー」として機能します。通常、Claudeが主なAIとしてさまざまな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キーを追加する:

    • 必要なAPIキーまたはカスタムモデルエンドポイントを含めるように.envファイルを編集します。
  5. ClaudeにZen MCPを追加する:

    • Claude Code CLIの場合:
      claude mcp add zen -s user -- docker exec -i zen-mcp-server python server.py
      
    • Claude Desktopの場合:
      • MCPサーバーの設定でclaude_desktop_config.jsonを更新します(設定から指示をコピーします)。
  6. 必要に応じてClaude環境を再起動します。

Zen MCPの使い方

  1. Claudeと自然に対話し、"zen"をコンテキストプロバイダーとして指定します。

    • 例:"この関数のコードレビューをzenを使って行ってください。"
  2. Zen MCPは自動的にタスクを最適なモデル/ツールにルーティングします。

    • 特定のモデル(例:Gemini Pro、O3、Flash、Ollama)を使用するようにZenに指示することも、オートセレクトさせることもできます。
  3. 協力的なマルチモデルの会話を活用します。

    • タスクを分割できます:一つのモデルが分析し、別のモデルがレビューし、三つ目のモデルが修正を提案します。すべて同じ会話スレッド内で行われます。
    • 前のコンテキストや発見はステップやモデルの間で引き継がれます。
  4. 特定のZen MCPツールをコマンド内で使用します:

    • コードレビュー、深い分析、デバッグ、プレコミットチェックなどを要求します。
  5. 必要に応じてモデル/ツールの選択を上書きします:

    • "論理デバッグにはo3を使用"や"すばやく確認するためにflashを使用"のように指示を追加します。
  6. 高度な使用法を探ります:

    • ツールを組み合わせたり、Web検索の補強を使用したり、ツールを超えて非同期でコラボレーションします。

主要な機能

  • マルチモデルオーケストレーション: Claude、Gemini、O3、ローカルモデルの強みを統一されたワークフローで調整します。
  • 自動モデル選択: Claudeは各サブタスクに最適なモデルを賢く選択します。指定することも可能です。
  • シームレスなコンテキスト保持: シングルスレッドの会話がツール間やモデルの切り替え全体でコンテキストを保持します。
  • 事前構築された開発ツール: 共同チャット、コードレビュー、プレコミット検証、デバッグなどを含みます。
  • AI同士の会話スレッド: モデル同士が議論や挑戦をし、情報を要求し合うことで、多角的な解決策を提供します。
  • ローカルモデルのサポート: OllamaやvLLMを介して、プライバシーとコスト効率を考慮した自己ホストモデルを簡単にプラグインできます。
  • 大きなコンテキストウィンドウの処理: 大規模なコードベースの分析を、トークン制限の大きなモデル(例:Gemini 1M、O3 200K)にオフロードします。
  • スマートなファイルとリポジトリ管理: 自動的にファイルやリポジトリを発見し、ディレクトリを展開し、トークン制限を賢く管理します。
  • インクリメンタルな知識共有: 交換ごとに変更や新しい情報のみが送信され、効果的な25K+トークンワークフローを可能にします。
  • Web検索の補強: 一部のツールは、要求に応じてWeb検索結果を提案し、組み込むことができます。
  • プラグアンドプレイ統合: ワンコマンドDockerセットアップと、Claude環境(CLIまたはDesktop)への迅速なリンクの提供。

使用例

  • GeminiとClaudeの異なる強みを活かして、迅速かつ深いコードレビューを受ける
  • 複雑なアーキテクチャや技術的決定についてブレインストーミングを行う—モデル間で最良のソリューションを議論する
  • 難解な論理エラーをデバッグする—O3が論理を分析し、Geminiがアーキテクチャに集中する
  • マージ前にgitコミットを検証する—マルチモデルの意見を持つプレコミットチェック
  • Claudeのネイティブトークンウィンドウを超える大規模コードベースに対して探索的なコード分析を行う
  • プライバシーファーストのローカルLlamaモデルを使用してコード分析を行い、必要に応じてより深い推論のためにオンラインモデルにエスカレーションする
  • モデル間で持続的な非同期会話スレッドを維持し、プロブレムソルビングを拡張する
  • 異なる分析ツール(例:"analyze"から"codereview"、"debug"に)迅速に切り替え、コンテキストをリセットせずに使用する

FAQ

Q: Zen MCPを使用するのにすべてのAPIキー(Gemini、OpenAI、OpenRouter)が必要ですか?
A: いいえ。一つのプロバイダーから始めることができます。ただし、完全なマルチモデルオーケストレーションのために、より多くのキーを付加することで柔軟性が得られ、より多くの視点やモデルの強みを含めることができます。

Q: Zen MCPは私のファイルやコンテキストを外部サービスと共有しますか?
A: Zen MCPは、設定したAPI/モデルにのみデータを送信します。最大限のプライバシーを確保するために、データがあなたのマシンから離れないようにローカルモデル(例:Ollama経由)を使用できます。

Q: 会話スレッドはどのように機能しますか?履歴は保存されますか?
A: Zen MCPは永続的な「会話スレッド」のためにRedisを使用します。セッション内では、AIモデルがコンテキストを保持し、最大5メッセージまたは1時間を通じて更新を交換できます。デフォルトでは、長期保存は行われません。

Q: Zen MCPはコーディング以外のタスクに使用できますか?
A: コードや開発ワークフローに最適化されていますが、サポートされているモデルやツールを使用して、より広い分析や推論タスクのために構成することもできます。

Q: 2つのAPIエンドポイントが重複する場合(例:同じモデル名)どうなりますか?
A: 名前の衝突が発生した場合、ネイティブAPIが優先されます(例:「gemini」はGemini APIを介してvs OpenRouter)。これを解決するには、custom_models.jsonでユニークなモデルエイリアスを設定します。