local-only server
The server can only run on the client’s local machine because it depends on local resources.
Integrations
Docker MCP サーバー
分離された Docker コンテナ内でコードを実行し、その結果を Claude などの言語モデルに返す強力なモデル コンテキスト プロトコル (MCP) サーバー。
特徴
- 分離されたコード実行: メインシステムから分離されたDockerコンテナでコードを実行します
- 多言語サポート: Dockerイメージを使用して任意の言語でコードを実行
- 複雑なスクリプトのサポート: 単純なコマンドと完全な複数行のスクリプトの両方を実行
- パッケージ管理: pip、npm、apt-get、apk を使用して依存関係をインストールします
- コンテナ管理: Dockerコンテナを簡単に作成、一覧表示、クリーンアップ
- 堅牢なエラー処理: 適切なタイムアウト管理とフォールバックメカニズム
- カラフルな出力: 明確で色分けされたコンソールフィードバック
要件
- Python 3.9以上
- Dockerがインストールされ実行中
- fastmcpライブラリ
インストール
- このリポジトリをクローンします:Copy
- 仮想環境を作成します。Copy
- 必要なパッケージをインストールします。Copy
使用法
MCPインスペクターの実行
サーバーの機能をテストして調査するには:
MCP Inspector インターフェイスがブラウザのhttp://localhost:5173で開きます。
利用可能なツール
Docker MCP サーバーは次のツールを提供します。
1. コンテナの一覧
すべての Docker コンテナとその詳細を一覧表示します。
- パラメータ:
show_all
: (オプション) 停止しているコンテナも含め、すべてのコンテナを表示するかどうか (デフォルト: True)
2. コンテナを作成する
オプションの依存関係を持つ Docker コンテナを作成して起動します。
- パラメータ:
image
: 使用する Docker イメージ (例: "python:3.9-slim", "node:16")container_name
: コンテナの一意の名前dependencies
: (オプション) インストールするパッケージのスペース区切りリスト (例: "numpy pandas", "express lodash")
3. 依存関係を追加する
既存の Docker コンテナに追加パッケージをインストールします。
- パラメータ:
container_name
: 対象コンテナの名前dependencies
: インストールするパッケージのスペース区切りリスト
4. コードを実行する
実行中の Docker コンテナ内でコマンドを実行します。
- パラメータ:
container_name
: 対象コンテナの名前command
: コンテナ内で実行するコマンド
5. Pythonスクリプトを実行する
実行中の Docker コンテナ内で複数行の Python スクリプトを実行します。
- パラメータ:
container_name
: 対象コンテナの名前script_content
: Pythonスクリプトの完全な内容script_args
: スクリプトに渡すオプションの引数
6. クリーンアップコンテナ
Docker コンテナを停止して削除します。
- パラメータ:
container_name
: クリーンアップするコンテナの名前
例
基本的なワークフローの例
Python データ分析の例
Node.jsの例
パッケージマネージャーのサポート
Docker MCP サーバーは適切なパッケージ マネージャーを自動的に検出して使用します。
- Pythonコンテナ:
pip
を使用する - Node.jsコンテナ:
npm
を使用 - Debian/Ubuntuコンテナ:
apt-get
使用 - アルパインコンテナ:
apk
を使用
イメージ名からパッケージ マネージャーが明らかでないコンテナーの場合、サーバーは利用可能なパッケージ マネージャーを検出しようとします。
クロードと他のLLMとの統合
このMCPサーバーは、Claudeやモデルコンテキストプロトコルをサポートする他のLLMと統合できます。Claudeに登録するには、 fastmcp install
コマンドを使用してください。
トラブルシューティング
- ポートは既に使用されています: 「アドレスは既に使用されています」というエラーが表示される場合は、他の MCP Inspector インスタンスが実行されていないことを確認してください。
- Docker 接続の問題:
docker --version
を使用して Docker が実行されていることを確認します。 - コンテナのタイムアウト: サーバーには、予期された時間内に応答しないコンテナのためのフォールバック メカニズムが含まれています。
- パッケージのインストール失敗: 指定されたパッケージ マネージャーのパッケージ名が正しいことを確認してください。
- コンテナーが見つかりません: list_containers に結果が表示されない場合は、Docker にまだコンテナーが作成されていない可能性があります。
セキュリティに関する考慮事項
このサーバーはDockerコンテナ内でコードを実行するため、ホストシステムから分離されます。ただし、以下の点にご注意ください。
- 追加のセキュリティ対策を講じずにこのサーバーを公開しないでください
- ホストボリュームをコンテナにマウントするときは注意してください
- DoS攻撃を防ぐためにコンテナのリソース制限を検討する
ライセンス
貢献
貢献を歓迎します!お気軽にプルリクエストを送信してください。
This server cannot be installed
Docker コンテナ内での分離されたコード実行を容易にし、安全な多言語スクリプトの実行と、モデル コンテキスト プロトコルを介した Claude などの言語モデルとの統合を可能にします。
- Features
- Requirements
- Installation
- Usage
- Package Manager Support
- Integrating with Claude and Other LLMs
- Troubleshooting
- Security Considerations
- License
- Contributing