Shell Command MCP Server

by kaznak
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Runs commands within an isolated Docker container environment without giving access to the host Docker daemon.

  • Provides the Helm package manager for Kubernetes, enabling installation and management of Kubernetes applications.

  • Includes Kubernetes tools (kubectl, k9s) for managing Kubernetes clusters and resources.

シェルコマンド MCP サーバー

これは、Dockerコンテナ内でシェルコマンドを実行できるMCP(Model Context Protocol)サーバーです。ホストのDockerデーモンにアクセスさせることなく、コマンドを実行するための安全で隔離されたワークスペースを提供します。

特徴

  • シンプルなMCPインターフェースを介してシェルスクリプトを実行する
    • 同期実行
    • 4つの異なるモードによる非同期実行
      • 完了: コマンドが完了したら通知する
      • 行: 出力の各行を通知する
      • chunk: 出力の各チャンクごとに通知する
      • 文字: 出力の各文字を通知する
  • 含まれる Kubernetes ツール: kubectl、helm、kustomize、hemfile
  • 非ルートユーザーによる分離された Docker コンテナ環境
    • ホストとコンテナ間のユーザー ID/グループ ID のマッピングが実装されました。これにより、コンテナをホストと同じユーザーとして実行できるようになり、コンテナによって作成されたファイルに、ホストによって作成されたファイルと同じ所有権と権限が与えられるようになります。
    • 永続性のために、ホスト ディレクトリをコンテナの /home/mcp ディレクトリにマウントします。これが AI が動作するホーム ディレクトリになります。
    • ホスト ディレクトリが空の場合、初期ファイルはコンテナー内のバックアップからコピーされます。

デザイン哲学

この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デーモンにアクセスできません
  • ユーザーワークスペースは永続性のためにホストからマウントされます

ライセンス

マサチューセッツ工科大学

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Claude の MCP インターフェースを介して安全な Docker コンテナ内でシェル コマンドを実行できるようにし、ホスト Docker デーモンにアクセスせずに Kubernetes ツールと分離された環境を提供します。

  1. Features
    1. Design Philosophy
      1. Getting Started
        1. Prerequisites
        2. Usage with Claude for Desktop
        3. Feed some prompts
      2. Available MCP Tools
        1. Security Considerations
          1. License
            ID: hnmi19f32s