補助金に関連する当ページの情報について
当ページの記載事項に基づいてすべてを判断せず、必ず公募要領を確認してください。当社ページの見解に従った結果、不採択となった場合も、当社は責任を負いかねます。このページの情報や見解は、予告なしに変更することがあります。

ブログ 士業DX

zen-mcp-serverを使ってClaude codeとGeminiとChatGPTを連携させる

https://imamura-net.com

おはようございます!マネジメントオフィスいまむらの今村敦剛です。

最近、AIコーディングにハマっているのですが、話題のClaude codeで、Gemini ProやChatGPT O3などの他社のモデルが協力してコーディングする仕組みを作りました。備忘録代わりにここに記しておきます。(当方の環境はWindowsです)

スポンサーリンク

複数のモデルを連携させると何がよいのか

これはひとえに「コーディングの質が上がる」に尽きます。例えばClaudeがコードを分析し、改善計画を立てます。そしてGemini ProやO3がその計画に対して改善提案をして、より実効性の高い計画に仕上げる、というものですね。

Claude codeを2週間くらい使った感想としては、非常に優秀なのですが、やはりモデルによって得手不得手があるのか、Gemini ProやO3のほうがより解決策に近いプランを提示してくることがあります。ということは、これらを連携できればコーディングの質が上がるのでは?ということは、凡庸な人間にもすぐに想像ができることです。三人寄れば文殊の知恵、ならぬ、3モデル寄れば文殊の知恵、ってなところでしょうか。

必要なアプリケーションを揃える

この連携で必要なのは、以下の2つですね。これらをPCにインストールします。

  1. Git(ギット)
    - これは言わずとしれた、ファイル管理のアプリケーションですね。こちらのサイトから、自分のパソコン(WindowsかMacか)に合ったものをダウンロードしてインストールします。
  2. Docker Desktop(ドッカー・デスクトップ)
    - これが重要です。連携のためにはMCPサーバーを立てる必要があるのですが、サンドボックス化された安全な環境が必要です。それを構築してくれるのがこれです(多分。ぼくもよくわかってない)。こちらの公式サイトからダウンロードしてインストールできます。もしかしたらインストール中に「WSL2」を有効にしてくださいって言われるかもしれません。これはWindowsの中で別のOS(Linux)を動かすための仕組みで、Dockerが働くために必要なんだそうです。でも画面の指示に従って進めれば大丈夫です、。

APIキーを用意する

ClaudeからGeminiやChatGPTを呼び出すにはAPIキーという合言葉のようなものが必要です。これを手に入れておきます。

今回はGeminiとChatGPTの両方を呼ぶように設定をするので、両方のAPIキーを用意しますが、どちらか一つだけでも結構です。

MCPサーバーをダウンロードしインストールする

Claude codeが他のモデルと連携する(指示を出す)にはMCPサーバーが必要です。わかりやすくいうと司令塔のようなものですかね。WindowsではPowershellを開いて「bash」と入力し、WSL上で以下のコマンドを打ち込みます。(ということは、WSLのインストールが前提として必要だということです。この記事では説明を割愛していますので、なんとかお調べください)

 command
git clone https://github.com/BeehiveInnovations/zen-mcp-server.git

これを打ち込むと、インターネットからzen-mcp-serverがダウンロードされます。

ディレクトリも自動生成されているはずですので、zen-mcp-serverのディレクトリに移動します。

 command
cd zen-mcp-server

そして、以下のコマンドでmcp serverをセットアップします。

 command
./setup-docker.sh

MCPサーバーにAPIキーを教える

インストールしたばかりのMCPサーバーにAPIキーを設定します。zen-mcp-serverのフォルダの中に、.envという名前のファイルが新しくできているはずです。これはmcp serverの設定ファイルのようなものですので、このファイルを開いて、APIキーを書き込みます。

こう打つと、envファイルは開けます

 command
nano .env

ファイルを開くとエディタも開きますが、こんな風に書いてある部分があります。

GEMINI_API_KEY=your-gemini-api-key-here

OPENAI_API_KEY=your-openai-api-key-here

your-gemini-api-key-hereの部分を、さっきコピーしておいたAPIキーに書き換えてます。書き換えたら、Ctrl + X を押して、Y を押して、Enter を押して保存。

Linux (Ubuntu) 環境での設定方法

まず、Dockerがちゃんと動いているか確認します。ターミナルを開いて、以下のコマンドを打ちます。

 command
docker ps

これを打つと、今動いているDockerのリストが表示されます。その中に「zen-mcp-server」という名前が見えたらOK。もし何も表示されなかったら、前の手順に戻って./setup-docker.shをもう一度実行してみてください。

次はいよいよ接続だ。ターミナルで、以下のコマンドを入力します。(claude codeを動かしたいディレクトリで実行する)

 command
claude mcp add zen -s user -- docker exec -i zen-mcp-server python server.py

このコマンドは、Claude codeに、zenという名前の新しいMCPサーバーができたと教えてあげる意味があります。反対にいうと、これがないと動きません。

念のため、Claude codeがzenを認識したかを確認してみます。

 command
claude mcp list

これを打つと、Claude codeが知っているMCPサーバーのリストが表示される。そこに「zen」って名前があったらOK。ぼくのところの環境だと、zen: docker exec -i zen-mcp-server python server.pyと表示されました。

claude側でもMCPサーバーが認識できているかを確認します。claudeを起動します。

 command
claude

claudeが起動したら、claudeのコマンドでMCPサーバーの状態を確認します。

 command
/mcp

うまく行けば、以下の通り表示されるはずです。

Manage MCP servers

1. zen ✔ connected · Enter to view details

もしうまくいかない場合

これでももしうまくいかない場合や、うまく行っていたのになぜかclaudeがMCPサーバーを認識しなくなったような場合は、ターミナルで、zen-mcp-serverのフォルダにいることを確認して、以下のコマンドを打ちます。これはdockerをいったん解体するようなコマンドです。(.envファイルなどは維持されます)

 command
docker compose down

その後、もう一度以下のコマンドを打ちます。

 command
./setup-docker.sh

これでまた上記のLinux (Ubuntu) 環境での設定方法を試してみてください。

claudeでzenを使うようプロンプトで指示する

これでmcp serverの設定は終わり。ターミナルで claude と打ち込んで、Claude codeを起動します。そして

zenを使って、〇〇についてGeminiと相談して!

みたいに、最初に「zenを使って」とお願いすれば、Geminiと連携します。

例えば、実際にzenを呼び出して連携した際のログを以下のとおりにお見せします。zenがgemini 2.5 proを呼び出していますね。

しかしこれで完璧なコードが常に出てくるというわけではありません。やっぱりプロンプトをいろいろ工夫しないと、他モデルと連携したといっても、何の工夫もなくコーディングの品質が上がるわけではないですね。

スポンサーリンク

スポンサーリンク

最近の人気記事

1

おはようございます!マネジメントオフィスいまむらの今村敦剛です。 国際標準化機構(ISO)は、現行のISO9001:2015(品質マネジメントシステム規格I)を改訂する準備を進めているようです。現在の ...

2

おはようございます!マネジメントオフィスいまむらの今村敦剛です。 2024年2月、ISO(国際標準化機構)は、マネジメントシステム規格に「気候変動への配慮」を盛り込む形で規格の一部を改定しました。今回 ...

3

おはようございます!マネジメントオフィスいまむらの今村敦剛です。 5Sの考え方がISO9001や14001の運用に役立つことがあります。その逆もあって、ISOの仕組みが5S活動に役立つこともあるんです ...

-ブログ, 士業DX

S