mcpField
D
Dynamic Shell Server

Dynamic Shell Server

ローカル
github.com/codelion開発ツール4287 週間前に更新

Dynamic Shell Server について

Dynamic Shell Server は、動的な承認システムのもとでシェルコマンドを実行する MCP サーバーです。ユーザーの承認と監査ログを残しながら、AI アシスタントにコマンドを実行させたい開発者に向いています。承認済みのコマンドは永続的に保存され、取り消しもできます。

主な機能

  1. 01初回実行時のユーザー承認
  2. 02承認済みコマンドの永続保存
  3. 03コマンド実行の監査ログ
  4. 045分間のタイムアウト保護
  5. 05コマンド承認の取り消し

活用シーン

  1. 01プロジェクトディレクトリで AI アシスタントに npm install を実行させる
  2. 02サーバー経由で実行されたコマンドの履歴を確認する
  3. 03不要になったコマンドの承認を取り消す

MCP 対応

このプロジェクトは MCP サーバーであり、execute_command と revoke_command_approval のツール、および承認済みコマンドを一覧する commands://approved リソースを MCP クライアントに提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Dynamic Shell Command MCP サーバー

ユーザー承認と監査ログによってセキュリティを維持しながら、シェルコマンドを安全に実行できる Model Context Protocol(MCP)サーバーです。このサーバーでは、任意のコマンドを実行できます。

特長

  • 🔐 動的なコマンド承認システム
  • 📝 承認済みコマンドの永続的な保存
  • 📊 包括的な監査ログ
  • ⏱️ コマンドのタイムアウト保護
  • 🔄 コマンドの承認取り消し機能

インストール

  1. このリポジトリをクローンします:
git clone <repository-url>
cd dynamic-shell-server
  1. 仮想環境を作成して有効化します:
python -m venv venv
source venv/bin/activate  # On Windows use: venv\Scripts\activate
  1. 依存関係をインストールします:
pip install -r requirements.txt

使用方法

スタンドアロンモード

サーバーを直接実行します:

python dynamic_shell_server.py
Claude Desktop との連携
  1. Claude Desktop の設定ファイルを開きます:

    • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows:%APPDATA%\Claude\claude_desktop_config.json
  2. サーバーの設定を追加します:

{
    "mcpServers": {
        "shell": {
            "command": "/absolute/path/to/.venv/bin/python",
            "args": ["/absolute/path/to/dynamic_shell_server.py"]
        }
    }
}
  1. Claude Desktop を再起動します
コマンド承認プロセス

コマンドを初めて実行すると、次のように確認を求められます:

Command Approval Required

Command: <command>
Arguments: <args>

This command has not been previously approved. Do you want to:
1. Allow this command once
2. Allow this command and remember for future use
3. Deny execution

Please choose an option (1-3):
利用可能なツール
  1. execute_command:シェルコマンドを実行します

    • パラメーター:
      • command:実行するコマンド
      • args:コマンド引数のオプションリスト
  2. revoke_command_approval:以前に承認したコマンドの承認を取り消します

    • パラメーター:
      • command:承認を取り消すコマンド
利用可能なリソース
  1. commands://approved:承認済みコマンドとその承認日を一覧表示します

データの保存

サーバーはデータを ~/.config/mcp-shell-server/ に保存します:

  • approved_commands.json:承認済みコマンドとその承認日の一覧
  • audit.log:すべてのコマンドの詳細な実行履歴

セキュリティ機能

  • コマンドを初めて実行する際にユーザーの承認が必要
  • 承認済みコマンドの永続的な保存
  • 包括的な監査ログ
  • コマンドのタイムアウトは5分
  • シェルを実行しない(インジェクション攻撃を防止)
  • コマンドの承認取り消し機能

使用例

Claude Desktop 経由:

Human: Run 'npm install' in my project directory
Assistant: I'll help you run that command. Since this is the first time running 'npm install', you'll need to approve it.
[Command approval prompt appears]

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。