Docker MCP Catalog and Toolkit ではじめる、コンテナを使った 簡単・安全な MCP サーバーの管理

はじめに
こんにちは、Docker でソリューションエンジニアをしています、根本 征です。
本ブログでは Docker で新たにリリースされた、MCP サーバーを簡単・安全に管理ができる「Docker MCP Catalog and Toolkit」を紹介します。
目次
- MCP サーバーをコンテナで動かす利点と Docker MCP Catalog
- コンテナ化された MCP サーバーの管理・接続を簡単にする Docker MCP Toolkit
- Docker MCP Toolkit をはじめる
- おわりに
※ 利用方法のみ知りたい方は、「Docker MCP Toolkit をはじめる」からお読み下さい
MCP サーバーをコンテナで動かす利点と Docker MCP Catalog
MCP(Model Context Protocol)は、Anthropic 社が提唱したプロトコルで、AIエージェントが外部ツールとやり取りするための「共通インターフェース」を提供します。
ChatGPT や Claude といったLLM(大規模言語モデル)の普及とともに、こうした外部ツール連携の需要が急速に高まっており、MCPもそれに伴って注目を集めています。
現在、多くの MCP サーバーはオープンソースとして提供されており、Node.js や Python などで構築され、一般的には開発者のローカル環境で動作させるのが主流です。MCPサーバーは、ローカルで起動した上で、必要に応じてデータベースや外部APIと通信し、クライアントからのリクエストに応答する構成になっています。
MCP サーバーの構成
たとえば、GitHub の MCP サーバーを Claude Desktop で使う場合、Node.js がインストールされた環境で、以下のような JSON 形式の設定ファイルを用意する必要があります:
{
"servers": {
"github": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-github"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<your_token>"
}
}
}
}
この設定では、GitHub の MCP サーバーを`npx` 経由で起動し、認証に必要なトークンを環境変数として渡す必要があります。Python 製の MCP サーバーでも同様に、起動コマンドや依存パッケージの指定、環境変数の管理などが求められます。
このように MCP サーバーをローカルで扱うには、各種ランタイムやツールごとに個別の設定・環境構築が必要となり、特に複数の MCP サーバーを併用する場合には管理が煩雑になります。
MCP サーバーをローカルで実行することによる課題
こうした課題に対して、Docker を使って MCP サーバーをコンテナとして実行することで、環境依存を減らし、再現性の高い運用が可能になります。
また、MCP サーバーをホスト上で直接実行するのではなく、Docker コンテナというサンドボックス環境で分離して実行できるため、安全性やセキュリティの面でも安心です。
たとえば、GitHub の MCP サーバーを Docker で動かす場合、以下のように設定できます。
{
"mcpServers": {
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"mcp/github"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<your_token>"
}
}
}
}
この例では、mcp/github という Docker イメージを使い、環境変数を渡してサーバーを起動しています。Node.js や依存パッケージのインストールは不要で、MCP サーバーのセットアップが簡素化されます。
Docker Hub ではこのような MCP サーバー用のイメージを Docker MCP Catalog として提供しています。これは、よく使われる MCP サーバー(Notion、GitHub、GitLab、Slack、Jira、Confluence、Stripe など)をあらかじめビルド済みのイメージとしてまとめたものです。
Docker MCP Catalog(Docker Hub)
Docker Hub 上から簡単に利用できるこれらのイメージは、Docker によってビルド・署名・公開されており、信頼性とセキュリティの観点からも安心して利用できます。また、定期的なアップデートやセキュリティパッチも Docker によって管理されており、運用負荷を最小限に MCP サーバーを活用できます。
コンテナ化された MCP サーバーの管理・接続を簡単にする Docker MCP Toolkit
ここまで、MCP サーバーを Docker コンテナとして実行することで、開発者がローカル環境に依存せず安全に MCP を活用できることを紹介してきました。
しかし、実際に複数の MCP クライアントやサーバーを組み合わせて使おうとすると、いくつかの課題が残ります。
- 同じ MCP サーバーを利用する場合でも、各 MCP クライアントごとに個別に設定が必要
- 認証情報を、各設定ファイルに直接書き込む必要がある
複数のMCPクライアント・サーバーを利用することで起きる課題
この課題を解決するのが、Docker MCP Toolkit です。
Docker MCP Toolkit では、GUI 上から MCP サーバーの選択・認証情報の保存、さらには MCP クライアント(Claude、Cursor など)との接続までを一元的に管理できるツールです。
特に注目すべきポイントは次の2つです:
- シークレットの安全な取り扱い
API トークンなどの認証情報は設定ファイルに書くのではなく、Docker Desktop 上で安全に保存・管理されます。 - 設定の一元化
一度設定した MCP サーバーとシークレットは、複数の MCP クライアントで共通して利用でき、個別に再設定する必要がありません。
Docker MCP Toolkit の構成
Docker MCP Toolkit をはじめる
では実際に Docker MCP Toolkit を使って、MCP サーバーを起動、MCP クライアントと接続してみましょう。
※ 今後の Docker Desktop のアップデートにより、インストール・利用方法が異なる可能性があります。
はじめに、Docker Desktop の Extension で「MCP Toolkit」をインストールします。
インストールした後に Extension を開くと、MCP Servers のタブから、MCP Catalog に含まれる MCP サーバーが表示されます。
「MCP Servers」から MCP サーバーを選択
利用したい MCP サーバーを有効にします、今回は GitHub MCP サーバーを有効にします。
有効にしようとすると、GitHub MCP サーバーを利用するには Personal Access Token を入力するよう求められます。
入力した情報は Docker Desktop 内でセキュアに保存され、設定ファイルに直接書き込む必要はありません。
次に利用したい MCP クライアントを選択します、はじめに Claude Desktop と接続してみましょう。
先ほどの MCP Toolkit から 「MCP Clients」タブを選択し、Claude Desktop の「Connect」を選択します。
「MCP Clients」から接続する MCP Clients を選択
これで、Claude Desktop で利用できる準備が整いました、Claude Desktop を開きます(必要に応じて再起動してください)。
Claude Desktop の設定画面を確認すると、「MCP_DOCKER」の設定が自動で構成されており、Claude Desktop と MCP サーバーの間の通信を中継するためのコンテナを起動しています。
Claude Desktop での Docker MCP Toolkit の設定
実際に、Claude Desktop 上で GitHub MCP サーバーの利用が確認できます。
Claude Desktop から Docker MCP Toolkit を通じて GitHub MCP サーバーを利用
次に Cursor と接続してみましょう。先ほどと同じく 「MCP Clients」 タブから Cursor の「Connect」を選択します。
Cursor 側で個別に GitHub MCP サーバーを起動する必要はなく、MCP Toolkit 経由で利用ができます。
Cursor から Docker MCP Toolkit を通じて GitHub MCP サーバーを利用
このように MCP Toolkit を使えば、複数の MCP クライアントとの接続を個別に設定することなく、Docker Desktop 上で一元的に管理できます。
シークレットも安全に保存され、設定ファイルに書く必要はありません。
GUI 上で直感的に操作できるため、これまで複雑だった MCP サーバーの運用と接続が非常にシンプルになります。
おわりに
今回は Docker で新たにリリースした「Docker MCP Catalog and Toolkit」について紹介しました。
Docker MCP Catalog を使えば、信頼性の高い MCP サーバーを扱うことができ、Docker MCP Toolkit によって簡単に接続・管理を一元化できます。
今後は、より多くの MCP サーバーを Docker MCP Catalog で公開していく他、Docker Hub 上で自作の MCPサーバー を公開・共有できる機能や、より企業内で安全に利用できる機能を提供する予定です。
ぜひ Docker Desktop をアップデートし、Docker MCP Catalog and Toolkit をお試しください。
関連リンク
https://www.docker.com/blog/announcing-docker-mcp-catalog-and-toolkit-beta
この記事の著者:根本 征 (Tadashi Nemoto)
Strategic Solutions Engineer
複数の日系企業でテスト自動化エンジニア・DevOpsエンジニアとして活動した後、プリセールスエンジニアとして DevOps、CI/CD、自動テストを中心にお客様の技術支援や技術発信を行ってきました。2024年日本拠点1人目のプリセールスエンジニアとして Docker に入社。

DevOps Hubのアカウントをフォローして
更新情報を受け取る
-
Like on Facebook
-
Like on Feedly