Secure Command Executor MCP Server について
システムコマンドを設定して実行するチーム向けの MCP サーバーです。安全確認と操作ログを備え、コマンドは設定ファイルまたは管理操作で変更できます。
主な機能
- 01設定済みシステムコマンドの実行
- 02危険なコマンドの確認要求
- 03コマンドの追加・更新・有効化・削除
- 04日次ログローテーションと操作記録
- 05コマンドとログの絞り込み検索
活用シーン
- 01MCP クライアント経由で許可済みコマンドを実行
- 02危険な操作に確認を必須化
- 03コマンド履歴と失敗記録の確認
- 04利用可能なコマンド群の更新
MCP 対応
MCP クライアントにコマンド実行、コマンド管理、検索操作を提供します。危険なコマンドには確認を求める設定が可能です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
セキュアコマンド実行 MCP サーバー
日次ログローテーション機能を備えた堅牢なコマンド実行 MCP サービスです。安全性チェックとログ記録により、システムコマンドを安全に管理、実行できるよう設計されています。また、この README.md は DeepSeek V3 によって作成されています。
機能
- コマンド実行:オプションの引数を指定してシステムコマンドを実行します。
- 安全性チェック:危険なコマンドに対して警告を表示し、確認を求めます。
- コマンド管理:コマンドの追加、更新、削除、有効化、無効化を行います。
- ログ記録:詳細な操作履歴を記録し、ログを日次でローテーションします。
- クエリツール:フィルターを使って、利用可能なコマンドやログを検索します。
インストール
-
リポジトリをクローンします。
git clone https://github.com/HappyAny/secure-command-executor-mcp-server.git cd secure-command-executor-mcp-server -
依存関係をインストールします。
npm install minimist npm install @modelcontextprotocol/sdk npm install zod -
サービスを設定します。
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 を開き、変更内容について相談してください。
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。