mcpField
S
Secure Command Executor MCP Server

Secure Command Executor MCP Server

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

Secure Command Executor MCP Server について

システムコマンドを設定して実行するチーム向けの MCP サーバーです。安全確認と操作ログを備え、コマンドは設定ファイルまたは管理操作で変更できます。

主な機能

  1. 01設定済みシステムコマンドの実行
  2. 02危険なコマンドの確認要求
  3. 03コマンドの追加・更新・有効化・削除
  4. 04日次ログローテーションと操作記録
  5. 05コマンドとログの絞り込み検索

活用シーン

  1. 01MCP クライアント経由で許可済みコマンドを実行
  2. 02危険な操作に確認を必須化
  3. 03コマンド履歴と失敗記録の確認
  4. 04利用可能なコマンド群の更新

MCP 対応

MCP クライアントにコマンド実行、コマンド管理、検索操作を提供します。危険なコマンドには確認を求める設定が可能です。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

セキュアコマンド実行 MCP サーバー

日次ログローテーション機能を備えた堅牢なコマンド実行 MCP サービスです。安全性チェックとログ記録により、システムコマンドを安全に管理、実行できるよう設計されています。また、この README.md は DeepSeek V3 によって作成されています。

機能

  • コマンド実行:オプションの引数を指定してシステムコマンドを実行します。
  • 安全性チェック:危険なコマンドに対して警告を表示し、確認を求めます。
  • コマンド管理:コマンドの追加、更新、削除、有効化、無効化を行います。
  • ログ記録:詳細な操作履歴を記録し、ログを日次でローテーションします。
  • クエリツール:フィルターを使って、利用可能なコマンドやログを検索します。

インストール

  1. リポジトリをクローンします。

    git clone https://github.com/HappyAny/secure-command-executor-mcp-server.git
    cd secure-command-executor-mcp-server
    
  2. 依存関係をインストールします。

    npm install minimist
    npm install @modelcontextprotocol/sdk
    npm install zod
    
  3. サービスを設定します。

    • commands.json を編集して、利用可能なコマンドを定義します。
    • 環境変数を設定します(任意)。

使用方法

サービスの起動
node index.js --file commands.json --logs logs --port 3000
MCP の設定
{
    "mcpServers": {
        "cmd-exec": {
          "command": "node",
          "args": [
            "path_to_file/index.js",
            "--file",
            "path_to_file/commands.json",
            "--logs",
            "path_to_dict/logs"
          ]
        }
    }
}

コマンドファイル

commands.json ファイルで利用可能なコマンドを定義します。例:

[
  {
    "name": "dir",
    "description": "List directory contents",
    "example": "dir /w",
    "dangerous": false,
    "enabled": true,
    "confirmationPrompt": "",
    "consequences": ""
  },
  {
    "name": "format",
    "description": "Format disk drive",
    "example": "format C:",
    "dangerous": true,
    "enabled": false,
    "confirmationPrompt": "This will PERMANENTLY erase all data. Confirm?",
    "consequences": "Permanent data loss"
  }
]
API エンドポイント
コマンドの実行
curl -X POST http://localhost:3000/execute -H "Content-Type: application/json" -d '{"command": "dir", "args": "/w"}'
コマンドの検索
curl -X GET http://localhost:3000/queryCommands?filter=enabled&detailed=true
コマンドの管理
curl -X POST http://localhost:3000/manageCommand -H "Content-Type: application/json" -d '{"action": "add", "name": "ping", "description": "Test network connection", "example": "ping example.com"}'
ログの検索
curl -X GET http://localhost:3000/queryLogs?limit=50&filter=failed

設定

  • 環境変数:

    • NODE_ENV:本番モードでは production に設定します。
    • PORT:デフォルトのポート(3000)を変更します。
  • コマンドライン引数:

    • --file:コマンドファイルのパス(デフォルト:commands.json)。
    • --logs:ログディレクトリのパス(デフォルト:logs)。
    • --port:サービスを実行するポート(デフォルト:3000)。

ログ記録

ログは指定されたディレクトリに保存され、日次でローテーションされます。各ログファイルの名前は YYYY-MM-DD.json です。

コントリビューション

プルリクエストを歓迎します。大きな変更を行う場合は、まず issue を開き、変更内容について相談してください。

ライセンス

MIT

コメント

MCP は初めてですか?

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

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