2025/08/21 追記
この記事の内容は参考になりません
Cipherの機能を使ってMCPをまとめることにしたのでもうDockerのMCP Gateway は使わなくなった
Cipherの設定も結構ややこしかったので今度記事にする
VSCode cursor ClaudeCode GminiCLI RooCode 全部個別にMCPの設定ってめんどくさくないか?
パープレで聞くと Docker MCP GateWay なるものがあるよと教えてくれた
Docker MCP Gatewayがすんばらしい👌 #AmazonQDeveloper - Qiita
なかなか便利そうと思ったが よく使ってるserena はDockerに対応してないから手間がかかった
Docker MCP GateWayを介して使用できるツールの収集まで確かめただけ
ざっくり
- SerenaはSSEモードで先に立ち上げる (例: http://localhost:9121/sse)
 - MCP GateWayは「既定のdocker-mcpカタログ」にSerenaの“SSEエンドポイント”定義を追加
 - registryで“serena”をEnabledにし、gateway runで公開
 - 以後は、Serenaが起動していればGatewayは毎回自動で取り込む
 
ポイント
- SerenaのSSE起動コマンド(uv/uvx)と、MCP Gatewayのカタログ管理(catalog/registry)を分ける
 - カタログに追加するSerena定義は、transportはsse、エンドポイントはsseEndpointを使う
 - Gatewayはcatalog(定義の集合)とregistry(有効化リスト)を分離管理していて両方が揃って初めて有効化できる
 
Step 1. SerenaをSSEで常駐起動
- uvxで最新版を直接実行(推奨)
- コマンド:
 
 
uvx --from git+https://github.com/oraios/serena serena start-mcp-server --transport sse --port 9121
接続先:
注意点
- 毎回サーバー実行が面倒ならタスクスケジューラでログオン時に自動実行にしておくと便利らしいよ
 
Step 2. Serenaの定義YAMLを作成
どこでもいいんだがわかりやすいんでユーザーのDocker MCP設定ディレクトリ直下に Serena専用のカタログ設定ファイルを用意
- 例: C:\Users\.docker\mcp\serena.yaml
 - 中身(最小例)
 
registry: serena: description: Serena running as SSE server title: Serena (external SSE) type: server transport: sse sseEndpoint: http://localhost:9121/sse
- 解説
- typeはserver
 - transportはsseを指定
 - SerenaのエンドポイントはsseEndpointキーで渡す
 - http://localhost:9121/sseに接続する
 
 
sseEndpointなのを パープレのGPT-5が urlって言い張るハルシネーション
なかなか解決しなくて自分でリポジトリのISSUE地道に検索したわ
Step 3. 既定カタログ(docker-mcp)に追加
ユーザーカスタムのカタログにも対応してるみたいだけど新しく作らない
ユーザー定義とデフォルト同時に参照してくれないみたいだった
- コマンド例:
- docker mcp catalog add docker-mcp serena "C:\Users\.docker\mcp\serena.yaml"
 
 - 目的
- 既定の“docker-mcp”カタログに、serena.yamlの定義を追加します
 - catalog ls / showで登録内容を確認できる
 
 
docker mcp catalog update でカタログ更新すると追加した文の設定消えるからアップデートしたらdocker mcp catalog add というやり方は美しくないわ
Step 4. serenaを有効化(registry)
カタログに追加されたんで使用できるサーバーとしてレジストリに追加
- コマンド:
- docker mcp server enable serena
 - 確認: docker mcp server list
 
 
Step 5. MCPゲートウェイを起動
serena: (26 tools) となってれば成功
- 例:
- docker mcp gateway run
 - Streamingで公開するなら:
- docker mcp gateway run --port 8090 --transport streaming
 
 
 
終わり
これで mcp gateway 実行するか http://localhost:8090/mcp にクライアントから接続するようにMCPの設定をすれば使えるはず
はず