Skip to main content
Glama

cli-mcp-server

CLI MCP サーバー


包括的なセキュリティ機能を使用して制御されたコマンドライン操作を実行するための安全なモデル コンテキスト プロトコル (MCP) サーバー実装。

ライセンスPythonバージョンMCPプロトコル


目次

  1. 概要
  2. 特徴
  3. 構成
  4. 利用可能なツール
  5. Claude Desktopでの使用
  6. セキュリティ機能
  7. エラー処理
  8. 発達
  9. ライセンス

概要

このMCPサーバーは、コマンドホワイトリスト、パス検証、実行制御などの堅牢なセキュリティ対策により、安全なコマンドライン実行を実現します。セキュリティを維持しながら、LLMアプリケーションへの制御されたCLIアクセスを提供するのに最適です。

特徴

  • 🔒 厳格な検証による安全なコマンド実行
  • ⚙️ 'all' オプションでコマンドとフラグのホワイトリストを設定可能
  • 🛡️ パストラバーサルの防止と検証
  • 🚫 シェルオペレータインジェクション保護
  • ⏱️ 実行タイムアウトと長さの制限
  • 📝 詳細なエラーレポート
  • 🔄非同期操作のサポート
  • 🎯 作業ディレクトリの制限と検証

構成

環境変数を使用してサーバーを構成します。

変数説明デフォルト
ALLOWED_DIRコマンド実行のベースディレクトリ(必須)なし(必須)
ALLOWED_COMMANDS許可されたコマンドのコンマ区切りリストまたは「すべて」ls,cat,pwd
ALLOWED_FLAGS許可されるフラグのカンマ区切りリストまたは「すべて」-l,-a,--help
MAX_COMMAND_LENGTH最大コマンド文字列長1024
COMMAND_TIMEOUTコマンド実行タイムアウト(秒)30
ALLOW_SHELL_OPERATORSシェル演算子(&&、

注意: ALLOWED_COMMANDSまたはALLOWED_FLAGSを 'all' に設定すると、それぞれ任意のコマンドまたはフラグが許可されます。

インストール

Smithery経由で Claude Desktop 用の CLI MCP サーバーを自動的にインストールするには:

npx @smithery/cli install cli-mcp-server --client claude

利用可能なツール

実行コマンド

許可されたディレクトリ内でホワイトリストに登録された CLI コマンドを実行します。

入力スキーマ:

{ "command": { "type": "string", "description": "Single command to execute (e.g., 'ls -l' or 'cat file.txt')" } }

セキュリティに関する注意事項:

  • シェル演算子 (&&、|、>、>>) はデフォルトではサポートされていませんが、 ALLOW_SHELL_OPERATORS=trueで有効にすることができます。
  • ALLOWED_COMMANDS='all' でない限り、コマンドはホワイトリストに登録する必要があります
  • ALLOWED_FLAGS='all' でない限り、フラグはホワイトリストに登録する必要があります
  • すべてのパスはALLOWED_DIRの範囲内であることが検証されます

セキュリティルールを表示

現在のセキュリティ構成と制限を表示します。これには以下が含まれます。

  • 作業ディレクトリ
  • 許可されたコマンド
  • 許可されたフラグ
  • セキュリティ制限(最大コマンド長とタイムアウト)

Claude Desktopでの使用

~/Library/Application\ Support/Claude/claude_desktop_config.jsonに追加します:

開発/非公開サーバーの構成

{ "mcpServers": { "cli-mcp-server": { "command": "uv", "args": [ "--directory", "<path/to/the/repo>/cli-mcp-server", "run", "cli-mcp-server" ], "env": { "ALLOWED_DIR": "</your/desired/dir>", "ALLOWED_COMMANDS": "ls,cat,pwd,echo", "ALLOWED_FLAGS": "-l,-a,--help,--version", "MAX_COMMAND_LENGTH": "1024", "COMMAND_TIMEOUT": "30", "ALLOW_SHELL_OPERATORS": "false" } } } }

公開サーバーの構成

{ "mcpServers": { "cli-mcp-server": { "command": "uvx", "args": [ "cli-mcp-server" ], "env": { "ALLOWED_DIR": "</your/desired/dir>", "ALLOWED_COMMANDS": "ls,cat,pwd,echo", "ALLOWED_FLAGS": "-l,-a,--help,--version", "MAX_COMMAND_LENGTH": "1024", "COMMAND_TIMEOUT": "30", "ALLOW_SHELL_OPERATORS": "false" } } } }

動作しない、または UI に表示されない場合は、 uv cleanを使用してキャッシュをクリアしてください。

セキュリティ機能

  • ✅ 「すべて」オプションによるコマンドホワイトリストの適用
  • ✅ 「すべて」オプションによるフラグ検証
  • ✅ パストラバーサルの防止と正規化
  • ✅ シェルオペレータのブロック( ALLOW_SHELL_OPERATORS=trueによるオプトインサポート付き)
  • ✅ コマンドの長さ制限
  • ✅ 実行タイムアウト
  • ✅ 作業ディレクトリの制限
  • ✅ シンボリックリンクの解決と検証

エラー処理

サーバーは、次の詳細なエラー メッセージを提供します。

  • セキュリティ違反 (CommandSecurityError)
  • コマンドタイムアウト (CommandTimeoutError)
  • 無効なコマンド形式
  • パスセキュリティ違反
  • 実行失敗 (CommandExecutionError)
  • 一般的なコマンドエラー (CommandError)

発達

前提条件

  • Python 3.10以上
  • MCPプロトコルライブラリ

建築と出版

配布用のパッケージを準備するには:

  1. 依存関係を同期し、ロックファイルを更新します。
    uv sync
  2. パッケージディストリビューションをビルドします。
    uv build

    これにより、 dist/ディレクトリにソースとホイールのディストリビューションが作成されます。

  3. PyPI に公開:
    uv publish --token {{YOUR_PYPI_API_TOKEN}}

デバッグ

MCPサーバーはstdio経由で実行されるため、デバッグが困難になる場合があります。最適なデバッグ環境を実現するには、 MCP Inspectorの使用を強くお勧めします。

次のコマンドを使用して、 npm経由で MCP Inspector を起動できます。

npx @modelcontextprotocol/inspector uv --directory {{your source code local directory}}/cli-mcp-server run cli-mcp-server

起動すると、ブラウザでアクセスしてデバッグを開始できる URL がインスペクタに表示されます。

ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。


詳細情報やサポートが必要な場合は、プロジェクト リポジトリで問題を報告してください。

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

local-only server

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

安全な実行とカスタマイズ可能なセキュリティポリシーを備えたコマンドラインインターフェース

  1. 目次
    1. 概要
    2. 特徴
    3. 構成
    4. インストール
    5. 利用可能なツール
    6. Claude Desktopでの使用
    7. セキュリティ機能
    8. エラー処理
    9. 発達
    10. ライセンス

Related MCP Servers

  • A
    security
    A
    license
    A
    quality
    MCP server allowing any and all command execution over CMD
    Last updated -
    2
    428
    19
    JavaScript
    MIT License
    • Linux
  • A
    security
    A
    license
    A
    quality
    A secure server for executing terminal commands within predefined paths, allowing safe interaction by Large Language Models with operating system environments.
    Last updated -
    1
    104
    7
    JavaScript
    MIT License
    • Apple
    • Linux
  • A
    security
    F
    license
    A
    quality
    A CLI command execution server that enables running shell commands with structured output, providing detailed execution results including stdout, stderr, exit code, and execution duration.
    Last updated -
    2
    455
    4
    TypeScript
    • Apple
  • A
    security
    A
    license
    A
    quality
    A command-line interface server that provides unrestricted system access to Windows environments with SYSTEM-level privileges, allowing complete control over files, processes, and configuration settings.
    Last updated -
    4
    700
    TypeScript
    MIT License

View all related MCP servers

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/MladenSU/cli-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server