シェルコマンド MCP サーバー
これは、Dockerコンテナ内でシェルコマンドを実行できるMCP(Model Context Protocol)サーバーです。ホストのDockerデーモンにアクセスさせることなく、コマンドを実行するための安全で隔離されたワークスペースを提供します。
特徴
シンプルなMCPインターフェースを介してシェルスクリプトを実行する
同期実行
4つの異なるモードによる非同期実行
完了: コマンドが完了したら通知する
行: 出力の各行を通知する
chunk: 出力の各チャンクごとに通知する
文字: 出力の各文字を通知する
含まれる Kubernetes ツール: kubectl、helm、kustomize、hemfile
非ルートユーザーによる分離された Docker コンテナ環境
ホストとコンテナ間のユーザー ID/グループ ID のマッピングが実装されました。これにより、コンテナをホストと同じユーザーとして実行できるようになり、コンテナによって作成されたファイルに、ホストによって作成されたファイルと同じ所有権と権限が与えられるようになります。
永続性のために、ホスト ディレクトリをコンテナの /home/mcp ディレクトリにマウントします。これが AI が動作するホーム ディレクトリになります。
ホスト ディレクトリが空の場合、初期ファイルはコンテナー内のバックアップからコピーされます。
Related MCP server: Docker MCP Server
デザイン哲学
このMCPサーバーは、AIに人間と同様の作業空間を提供します。認証はMCPの機能ではなく、コンテナの分離と外部認証の制限によって制限されます。
シェルスクリプト実行などのより一般的なツールも提供しており、ツールの使用に関する専門知識がなくても使用できます。
コード監査を容易にするために、サーバーの実装は可能な限りシンプルに保たれています。
はじめる
前提条件
ドッカー
Claude for Desktop での使用
Claude for Desktop 構成ファイルに次の構成を追加します。
MacOSの場合:
"shell-command": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"--mount",
"type=bind,src=/Users/user-name/MCPHome,dst=/home/mcp",
"ghcr.io/kaznak/shell-command-mcp:latest"
]
}/Users/user-name/ClaudeWorksコンテナで使用できるようにするディレクトリに置き換えます。
ウィンドウズ:
"shell-command": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"--mount",
"type=bind,src=\\\\wsl.localhost\\Ubuntu\\home\\user-name\\MCPHome,dst=/home/mcp",
"ghcr.io/kaznak/shell-command-mcp:latest"
]
}いくつかのプロンプトを入力する
マウントされたディレクトリ内のファイルを操作します。
利用可能なMCPツール
セキュリティに関する考慮事項
MCPサーバーはコンテナ内で非ルートユーザーとして実行される
コンテナはホストDockerデーモンにアクセスできません
ユーザーワークスペースは永続性のためにホストからマウントされます
ライセンス
マサチューセッツ工科大学
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.