スーパーシェルMCPサーバー
複数のプラットフォーム(Windows、macOS、Linux)でシェルコマンドを実行するためのMCP(Model Context Protocol)サーバー。このサーバーは、ホワイトリストと承認メカニズムを組み込んだ安全なシェルコマンド実行方法を提供します。
特徴
Windows、macOS、Linux で MCP を介してシェル コマンドを実行する
自動プラットフォーム検出とシェル選択
複数のシェルのサポート:
Windows : cmd.exe、PowerShell
macOS : zsh、bash、sh
Linux : bash、sh、zsh
セキュリティ レベルによるコマンドのホワイトリスト:
安全: 承認なしで実行できるコマンド
承認が必要: 実行前に明示的な承認が必要なコマンド
禁止: 明示的にブロックされているコマンド
プラットフォーム固有のコマンドホワイトリスト
潜在的に危険なコマンドに対する非ブロッキング承認ワークフロー
ファイルベースのログを備えた包括的なログシステム
包括的なコマンド管理ツール
診断用プラットフォーム情報ツール
インストール
Smithery経由でインストール
Smithery経由で Claude Desktop 用の Super Shell MCP Server を自動的にインストールするには:
手動でインストールする
使用法
サーバーの起動
または直接:
Roo CodeとClaude Desktopでの設定
Roo CodeとClaude Desktopはどちらも、MCPサーバーに同様の設定形式を使用しています。Super Shell MCPサーバーの設定方法は次のとおりです。
オプション 1: NPX を使用する (推奨)
Super Shell MCPを使用する最も簡単な方法はNPXを使用することです。NPXを使用すると、npmからパッケージが自動的にインストールされ、実行されるため、手動での設定は不要です。パッケージはNPMのhttps://www.npmjs.com/package/super-shell-mcpから入手できます。
NPXを使用したRooコード構成
NPXを使用したClaudeデスクトップ構成
オプション2: ローカルインストールを使用する
ローカル インストールを使用する場合は、Roo Code MCP 設定構成ファイル ( ~/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json
にあります) に次の内容を追加します。
オプションで、シェル パラメータを追加してカスタム シェルを指定することもできます。
Windows 11の例
クロードデスクトップ構成
Claude Desktop 構成ファイル ( ~/Library/Application Support/Claude/claude_desktop_config.json
にあります) に次のコードを追加します。
Windows ユーザーの場合、構成ファイルは通常%APPDATA%\Claude\claude_desktop_config.json
にあります。
プラットフォーム固有の構成
ウィンドウズ
デフォルトのシェル: cmd.exe (または PowerShell (使用可能な場合))
構成パス:
Roo コード:
%APPDATA%\Code\User\globalStorage\rooveterinaryinc.roo-cline\settings\cline_mcp_settings.json
クロード デスクトップ:
%APPDATA%\Claude\claude_desktop_config.json
シェルパスの例:
cmd.exe:
C:\\Windows\\System32\\cmd.exe
PowerShell:
C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe
PowerShell コア:
C:\\Program Files\\PowerShell\\7\\pwsh.exe
macOS
デフォルトのシェル: /bin/zsh
構成パス:
Roo コード:
~/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json
Claude デスクトップ:
~/Library/Application Support/Claude/claude_desktop_config.json
シェルパスの例:
zsh:
/bin/zsh
バッシュ:
/bin/bash
sh:
/bin/sh
リナックス
デフォルトのシェル: /bin/bash (または $SHELL 環境変数)
構成パス:
Roo コード:
~/.config/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json
クロード デスクトップ:
~/.config/Claude/claude_desktop_config.json
シェルパスの例:
バッシュ:
/bin/bash
sh:
/bin/sh
zsh:
/usr/bin/zsh
オプションでカスタム シェルを指定することもできます。
/path/to/super-shell-mcp
を、リポジトリのクローンを作成した実際のパスに置き換えます。
注記:
Roo Codeの場合:セキュリティ上の理由から、
alwaysAllow
空の配列[]
に設定することを推奨します。これにより、コマンド実行前に承認を求めるプロンプトが表示されます。特定のコマンドをプロンプトなしで許可したい場合は、そのコマンドの名前を配列に追加します。例:"alwaysAllow": ["execute_command", "get_whitelist"]
。Claude Desktopの場合:セキュリティ上の理由から、
alwaysAllow
をfalse
に設定することをお勧めします。Claude Desktopでは、配列ではなくブール値を使用します。falsefalse
すべてのコマンドに承認が必要であり、true
はすべてのコマンドがプロンプトなしで許可されることを意味します。重要:
alwaysAllow
パラメータは、Super Shell MCPサーバー自体ではなく、MCPクライアント(Roo CodeまたはClaude Desktop)によって処理されます。クライアントはサーバーにリクエストを送信する前に承認プロセスを処理するため、サーバーはどちらの形式でも正常に動作します。
利用可能なツール
サーバーは次の MCP ツールを公開します。
get_platform_info
現在のプラットフォームとシェルに関する情報を取得します。
execute_command
現在のプラットフォームでシェル コマンドを実行します。
get_whitelist
ホワイトリストに登録されたコマンドのリストを取得します。
add_to_whitelist
コマンドをホワイトリストに追加します。
update_security_level
ホワイトリストに登録されたコマンドのセキュリティ レベルを更新します。
remove_from_whitelist
ホワイトリストからコマンドを削除します。
get_pending_commands
承認待ちのコマンドのリストを取得します。
approve_command
保留中のコマンドを承認します。
deny_command
保留中のコマンドを拒否します。
デフォルトのホワイトリストコマンド
サーバーには、検出されたプラットフォームに基づいて自動的に選択されるプラットフォーム固有のコマンド ホワイトリストが含まれています。
一般的なセーフコマンド(全プラットフォーム)
echo
- 標準出力にテキストを出力する
Unixライクな安全なコマンド(macOS/Linux)
ls
- ディレクトリの内容を一覧表示するpwd
- 作業ディレクトリを印刷するecho
- 標準出力にテキストを出力するcat
- ファイルを連結して印刷するgrep
- ファイル内のパターンを検索するfind
- ディレクトリ階層内のファイルを検索するcd
- ディレクトリを変更するhead
- ファイルの最初の部分を出力するtail
- ファイルの最後の部分を出力するwc
- 改行、単語、バイト数を出力する
Windows固有のセーフコマンド
dir
- ディレクトリの内容を一覧表示するtype
- テキストファイルの内容を表示するfindstr
- ファイル内の文字列を検索するwhere
- プログラムを探すwhoami
- 現在のユーザーを表示するhostname
- コンピュータ名を表示するver
- オペレーティングシステムのバージョンを表示する
承認が必要なコマンド
承認が必要なWindowsコマンド
copy
- ファイルをコピーするmove
- ファイルを移動するmkdir
- ディレクトリを作成するrmdir
- ディレクトリを削除するrename
- ファイルの名前を変更するattrib
- ファイル属性を変更する
承認が必要なUnixコマンド
mv
- ファイルを移動(名前変更)するcp
- ファイルとディレクトリをコピーするmkdir
- ディレクトリを作成するtouch
- ファイルのタイムスタンプを変更するか、空のファイルを作成するchmod
- ファイルモードビットを変更するchown
- ファイルの所有者とグループを変更する
禁止コマンド
Windows の禁止コマンド
del
- ファイルを削除するerase
- ファイルを削除するformat
- ディスクをフォーマットするrunas
- 別のユーザーとしてプログラムを実行する
Unix 禁止コマンド
rm
- ファイルまたはディレクトリを削除するsudo
- 別のユーザーとしてコマンドを実行する
セキュリティに関する考慮事項
すべてのコマンドは、MCPサーバーを実行しているユーザーの権限で実行されます。
承認を必要とするコマンドは、明示的に承認されるまでキューに保持されます。
禁止されたコマンドは決して実行されない
サーバーはシェルインジェクションを防ぐために
exec
の代わりにNode.jsのexecFile
を使用します。引数は、指定された場合に許可されたパターンに対して検証されます。
ホワイトリストの拡張
ホワイトリストを拡張するには、 add_to_whitelist
ツールを使用します。例:
NPM パッケージ情報
Super Shell MCP は、 https://www.npmjs.com/package/super-shell-mcpで npm パッケージとして入手できます。
NPXを使用するメリット
NPX 方式 (構成セクションのオプション 1 を参照) を使用すると、いくつかの利点があります。
手動セットアップ不要: リポジトリのクローン作成、依存関係のインストール、プロジェクトのビルドは不要
自動更新: 常に最新の公開バージョンを使用します
クロスプラットフォームの互換性: Windows、macOS、Linuxで同じように動作します
簡素化された構成: 絶対パスのない短い構成
メンテナンスの軽減: 管理や更新が必要なローカルファイルはありません
GitHubからの使用
GitHub から最新の開発バージョンを直接使用したい場合は、次の手順に従ってください。
独自のバージョンを公開する
独自に変更したバージョンを npm に公開する場合:
詳細を記載したpackage.jsonを更新します
「bin」フィールドが適切に設定されていることを確認します。
"bin": { "super-shell-mcp": "./build/index.js" }npm に公開:
npm publish
NPXベストプラクティス
NPX を使用した MCP クライアントとの最適な統合のために、このプロジェクトは次のベスト プラクティスに従います。
実行可能エントリ ポイント: メイン ファイルには、シェバン ライン (
#!/usr/bin/env node
) が含まれており、ビルド中に実行可能になります。パッケージ構成:
"type": "module"
- ESモジュールが使用されていることを確認する"bin"
フィールド - コマンド名をエントリポイントにマッピングします"files"
フィールド - 公開時に含めるファイルを指定します"prepare"
スクリプト - インストール時にコンパイルが行われるようにします
TypeScript 構成:
"module": "NodeNext"
- 適切な ES モジュールのサポート"moduleResolution": "NodeNext"
- ESモジュールと一貫性があります
自動インストールと実行:
MCPクライアント構成では、
npx -y
を使用してパッケージを自動的にインストールして実行します。プロセスはバックグラウンドで実行されるため、ターミナルウィンドウは固定されません。
出版プロセス:
# Update version in package.json npm version patch # or minor/major as appropriate # Build and publish npm publish
これらの方法により、別のターミナル ウィンドウを必要とせずに MCP クライアントによって MCP サーバーが自動的に起動されるようになり、ユーザー エクスペリエンスと運用効率が向上します。
トラブルシューティング
クロスプラットフォームの問題
Windows固有の問題
PowerShell スクリプト実行ポリシー
問題: PowerShell が「このシステムではスクリプトの実行が無効になっています」というエラーでスクリプトの実行をブロックする場合があります
解決策: PowerShellを管理者として実行し、
Set-ExecutionPolicy RemoteSigned
実行するか、シェルを構成するときに-ExecutionPolicy Bypass
パラメータを使用します。
パスセパレータ
問題: Windows ではパスにバックスラッシュ (
\
) が使用されるため、JSON ではエスケープする必要があります。解決策: JSON 構成ファイルで二重のバックスラッシュ (
\\
) を使用します (例:C:\\Windows\\System32\\cmd.exe
コマンドが見つかりません
問題: Windows には、
ls
、grep
などの Unix コマ��ドがありません。解決策: Windows の同等の機能を使用する (
ls
の代わりにdir
、grep
の代わりにfindstr
)
macOS/Linux特有の問題
シェル権限
問題: コマンド実行時に権限が拒否されました
解決策:
chmod +x /path/to/shell
でシェルに適切な権限があることを確認します。
環境変数
問題: MCP サーバーで環境変数が利用できない
解決策: シェルのプロファイル ファイル (
.zshrc
、.bashrc
など) で環境変数を設定します。
一般的なトラブルシューティング
シェル検出の問題
問題: サーバーが正しいシェルを検出できない
解決策: 構成でシェルパスを明示的に指定する
コマンド実行タイムアウト
問題: コマンドの実行に時間がかかり、タイムアウトする
解決策: コマンドサービスコンストラクターのタイムアウト値を増やす
ログシステム
サーバーには、デバッグと監視を容易にするためにログをファイルに書き込む包括的なログ システムが含まれています。
ログファイルの場所
デフォルト: サーバーのディレクトリ内の
logs/super-shell-mcp.log
ログディレクトリは自動的に作成され、Gitによって追跡されます(.gitkeepファイルを使用)
ログファイル自体は.gitignoreによってGitから除外されます。
サーバー操作、コマンド実行、承認ワークフローに関する詳細情報が含まれています
ログレベル
INFO : 一般的な運用情報
DEBUG : 詳細なデバッグ情報
エラー: エラー状態と例外
ログの表示
ログを確認するには、標準のファイル表示コマンドを使用します。
# View the entire log cat logs/super-shell-mcp.log # Follow log updates in real-time tail -f logs/super-shell-mcp.log
ログ内容
サーバーの起動と構成
コマンド実行要求と結果
承認ワークフロー イベント (保留、承認、拒否)
エラー状態とトラブルシューティング情報
ホワイトリスト管理
問題: ホワイトリストにカスタムコマンドを追加する必要がある
解決策:
add_to_whitelist
ツールを使用して、環境に固有のコマンドを追加します。
ライセンス
このMCPサーバーはMITライセンスに基づいてライセンスされています。つまり、MITライセンスの条件に従って、ソフトウェアを自由に使用、改変、配布することができます。詳細については、プロジェクトリポジトリのLICENSEファイルをご覧ください。
local-only server
The server can only run on the client's local machine because it depends on local resources.
Tools
セキュリティ強化のためのホワイトリストと承認メカニズムが組み込まれており、Windows、macOS、Linux 全体でシェル コマンドを安全に実行できる MCP サーバーです。
Related MCP Servers
- AsecurityAlicenseAqualityA secure shell command execution server implementing the Model Context Protocol (MCP). This server allows remote execution of whitelisted shell commands with support for stdin input.Last updated -1134MIT License
- AsecurityAlicenseAqualityA secure MCP server for Windows Subsystem for Linux environments, facilitating safe command execution with extensive validation and protection against vulnerabilities like shell injection and dangerous commands.Last updated -21216MIT License
- AsecurityAlicenseAqualityAn MCP server that enables secure terminal command execution, directory navigation, and file system operations through a standardized interface for LLMs.Last updated -1084MIT License
- AsecurityFlicenseAqualityA secure server that implements the Model Context Protocol (MCP) to enable controlled execution of authorized shell commands with stdin support.Last updated -1