MCP シェル サーバー
モデル コンテキスト プロトコル (MCP) を実装するシェル コマンドを実行するための安全なサーバー。このサーバーは、stdin 経由の入力をサポートし、承認されたシェル コマンドのリモート実行を可能にします。
特徴
安全なコマンド実行: 許可されたコマンドのみ実行可能
標準入力サポート: stdin経由でコマンドに入力を渡します
包括的な出力: stdout、stderr、終了コード、実行時間を返します
シェル演算子によるセキュリティ: シェル演算子 (;、&&、||、|) の後のコマンドを検証します。
タイムアウト制御: コマンドの最大実行時間を設定します
Related MCP server: Shell MCP Server
Claude.app で MCP クライアントを構成する
公開版
code ~/Library/Application\ Support/Claude/claude_desktop_config.json{
"mcpServers": {
"shell": {
"command": "uvx",
"args": [
"mcp-shell-server"
],
"env": {
"ALLOW_COMMANDS": "ls,cat,pwd,grep,wc,touch,find"
}
},
}
}ローカルバージョン
設定
code ~/Library/Application\ Support/Claude/claude_desktop_config.json{
"mcpServers": {
"shell": {
"command": "uv",
"args": [
"--directory",
".",
"run",
"mcp-shell-server"
],
"env": {
"ALLOW_COMMANDS": "ls,cat,pwd,grep,wc,touch,find"
}
},
}
}インストール
pip install mcp-shell-server使用
サーバーの起動
ALLOW_COMMANDS="ls,cat,echo" uvx mcp-shell-server
# Ou usando o alias
ALLOWED_COMMANDS="ls,cat,echo" uvx mcp-shell-serverALLOW_COMMANDS環境変数 (またはそのエイリアスALLOWED_COMMANDS ) は、実行できるコマンドを指定します。コマンドはコンマで区切ることができ、その周囲にスペースを入れることもできます。
ALLOW_COMMANDS または ALLOWED_COMMANDS の有効な形式:
ALLOW_COMMANDS="ls,cat,echo" # Formato básico
ALLOWED_COMMANDS="ls ,echo, cat" # Com espaços (usando alias)
ALLOW_COMMANDS="ls, cat , echo" # Múltiplos espaçosリクエスト形式
# Execução básica de comando
{
"command": ["ls", "-l", "/tmp"]
}
# Comando com entrada stdin
{
"command": ["cat"],
"stdin": "Hello, World!"
}
# Comando com timeout
{
"command": ["long-running-process"],
"timeout": 30 # Tempo máximo de execução em segundos
}
# Comando com diretório de trabalho e timeout
{
"command": ["grep", "-r", "pattern"],
"directory": "/path/to/search",
"timeout": 60
}応答フォーマット
成功した応答:
{
"stdout": "saída do comando",
"stderr": "",
"status": 0,
"execution_time": 0.123
}エラー応答:
{
"error": "Comando não permitido: rm",
"status": 1,
"stdout": "",
"stderr": "Comando não permitido: rm",
"execution_time": 0
}安全
サーバーはいくつかのセキュリティ対策を実装しています。
コマンドホワイトリスト: 明示的に許可されたコマンドのみ実行できます
シェル演算子の検証: シェル演算子 (;、&&、||、|) の後のコマンドもホワイトリストに対して検証されます。
シェルインジェクションなし: コマンドはシェル解釈なしで直接実行されます
発達
開発環境のセットアップ
リポジトリをクローンする
git clone https://github.com/yourusername/mcp-shell-server.git
cd mcp-shell-serverテスト要件を含む依存関係をインストールする
pip install -e ".[test]"テストの実行
pytestAPIリファレンス
リクエスト引数
分野 | タイプ | 必須 | 説明 |
指示 | 弦[] | はい | コマンドとその引数を配列要素として |
標準入力 | 弦 | いいえ | コマンドに渡される入力 |
ディレクトリ | 弦 | いいえ | コマンドを実行するための作業ディレクトリ |
タイムアウト | 全体 | いいえ | 最大実行時間(秒) |
応答フィールド
分野 | タイプ | 説明 |
標準出力 | 弦 | コマンドの標準出力 |
標準エラー出力 | 弦 | コマンドエラー出力 |
状態 | 全体 | 終了ステータスコード |
実行時間 | フロート | 実行にかかった時間(秒) |
エラー | 弦 | エラー メッセージ (失敗した場合のみ表示) |
要件
Python 3.11以上
mcp>=1.1.0
ライセンス
MITライセンス - 詳細はLICENSEファイルを参照
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
Appeared in Searches
Latest Blog Posts
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/diegofornalha/mcp-shell-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
