Skip to main content
Glama
diegofornalha

MCP Shell Server

MCP シェル サーバー

コードコフ 鍛冶屋の紋章

モデル コンテキスト プロトコル (MCP) を実装するシェル コマンドを実行するための安全なサーバー。このサーバーは、stdin 経由の入力をサポートし、承認されたシェル コマンドのリモート実行を可能にします。

特徴

  • 安全なコマンド実行: 許可されたコマンドのみ実行可能

  • 標準入力サポート: stdin経由でコマンドに入力を渡します

  • 包括的な出力: stdout、stderr、終了コード、実行時間を返します

  • シェル演算子によるセキュリティ: シェル演算子 (;、&&、||、|) の後のコマンドを検証します。

  • タイムアウト制御: コマンドの最大実行時間を設定します

Related MCP server: Windows CLI 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-server

ALLOW_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
}

安全

サーバーはいくつかのセキュリティ対策を実装しています。

  1. コマンドホワイトリスト: 明示的に許可されたコマンドのみ実行できます

  2. シェル演算子の検証: シェル演算子 (;、&&、||、|) の後のコマンドもホワイトリストに対して検証されます。

  3. シェルインジェクションなし: コマンドはシェル解釈なしで直接実行されます

発達

開発環境のセットアップ

  1. リポジトリをクローンする

git clone https://github.com/yourusername/mcp-shell-server.git
cd mcp-shell-server
  1. テスト要件を含む依存関係をインストールする

pip install -e ".[test]"

テストの実行

pytest

APIリファレンス

リクエスト引数

分野

タイプ

必須

説明

指示

弦[]

はい

コマンドとその引数を配列要素として

標準入力

いいえ

コマンドに渡される入力

ディレクトリ

いいえ

コマンドを実行するための作業ディレクトリ

タイムアウト

全体

いいえ

最大実行時間(秒)

応答フィールド

分野

タイプ

説明

標準出力

コマンドの標準出力

標準エラー出力

コマンドエラー出力

状態

全体

終了ステータスコード

実行時間

フロート

実行にかかった時間(秒)

エラー

エラー メッセージ (失敗した場合のみ表示)

要件

  • Python 3.11以上

  • mcp>=1.1.0

ライセンス

MITライセンス - 詳細はLICENSEファイルを参照

Install Server
A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

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