Integrations
Provides Linux-specific shell integration with support for bash, sh, and zsh shells, along with platform-appropriate command whitelists.
Supports macOS-specific shell environments (zsh, bash, sh) with tailored command whitelists and security considerations for the platform.
Enables execution of shell commands across multiple platforms (Windows, macOS, Linux) with platform-specific command whitelists and security levels.
スーパーシェル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
- Roo コード:
- シェルパスの例:
- cmd.exe:
C:\\Windows\\System32\\cmd.exe
- PowerShell:
C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe
- PowerShell コア:
C:\\Program Files\\PowerShell\\7\\pwsh.exe
- cmd.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
- Roo コード:
- シェルパスの例:
- zsh:
/bin/zsh
- バッシュ:
/bin/bash
- sh:
/bin/sh
- zsh:
リナックス
- デフォルトのシェル: /bin/bash (または $SHELL 環境変数)
- 構成パス:
- Roo コード:
~/.config/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json
- クロード デスクトップ:
~/.config/Claude/claude_desktop_config.json
- Roo コード:
- シェルパスの例:
- バッシュ:
/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」フィールドが適切に設定されていることを確認します。Copy
- npm に公開:Copy
NPXベストプラクティス
NPX を使用した MCP クライアントとの最適な統合のために、このプロジェクトは次のベスト プラクティスに従います。
- 実行可能エントリ ポイント: メイン ファイルには、シェバン ライン (
#!/usr/bin/env node
) が含まれており、ビルド中に実行可能になります。 - パッケージ構成:
"type": "module"
- ESモジュールが使用されていることを確認する"bin"
フィールド - コマンド名をエントリポイントにマッピングします"files"
フィールド - 公開時に含めるファイルを指定します"prepare"
スクリプト - インストール時にコンパイルが行われるようにします
- TypeScript 構成:
"module": "NodeNext"
- 適切な ES モジュールのサポート"moduleResolution": "NodeNext"
- ESモジュールと一貫性があります
- 自動インストールと実行:
- MCPクライアント構成では、
npx -y
を使用してパッケージを自動的にインストールして実行します。 - プロセスはバックグラウンドで実行されるため、ターミナルウィンドウは固定されません。
- MCPクライアント構成では、
- 出版プロセス:Copy
これらの方法により、別のターミナル ウィンドウを必要とせずに MCP クライアントによって MCP サーバーが自動的に起動されるようになり、ユーザー エクスペリエンスと運用効率が向上します。
トラブルシューティング
クロスプラットフォームの問題
Windows固有の問題
- PowerShell スクリプト実行ポリシー
- 問題: PowerShell が「このシステムではスクリプトの実行が無効になっています」というエラーでスクリプトの実行をブロックする場合があります
- 解決策: PowerShellを管理者として実行し、
Set-ExecutionPolicy RemoteSigned
実行するか、シェルを構成するときに-ExecutionPolicy Bypass
パラメータを使用します。
- パスセパレータ
- 問題: Windows ではパスにバックスラッシュ (
\
) が使用されるため、JSON ではエスケープする必要があります。 - 解決策: JSON 構成ファイルで二重のバックスラッシュ (
\\
) を使用します (例:C:\\Windows\\System32\\cmd.exe
- 問題: Windows ではパスにバックスラッシュ (
- コマンドが見つかりません
- 問題: Windows には、
ls
、grep
などの Unix コマンドがありません。 - 解決策: Windows の同等の機能を使用する (
ls
の代わりにdir
、grep
の代わりにfindstr
)
- 問題: Windows には、
macOS/Linux特有の問題
- シェル権限
- 問題: コマンド実行時に権限が拒否されました
- 解決策:
chmod +x /path/to/shell
でシェルに適切な権限があることを確認します。
- 環境変数
- 問題: MCP サーバーで環境変数が利用できない
- 解決策: シェルのプロファイル ファイル (
.zshrc
、.bashrc
など) で環境変数を設定します。
一般的なトラブルシューティング
- シェル検出の問題
- 問題: サーバーが正しいシェルを検出できない
- 解決策: 構成でシェルパスを明示的に指定する
- コマンド実行タイムアウト
- 問題: コマンドの実行に時間がかかり、タイムアウトする
- 解決策: コマンドサービスコンストラクターのタイムアウト値を増やす
ログシステム
サーバーには、デバッグと監視を容易にするためにログをファイルに書き込む包括的なログ システムが含まれています。
- ログファイルの場所
- デフォルト: サーバーのディレクトリ内の
logs/super-shell-mcp.log
- ログディレクトリは自動的に作成され、Gitによって追跡されます(.gitkeepファイルを使用)
- ログファイル自体は.gitignoreによってGitから除外されます。
- サーバー操作、コマンド実行、承認ワークフローに関する詳細情報が含まれています
- デフォルト: サーバーのディレクトリ内の
- ログレベル
- INFO : 一般的な運用情報
- DEBUG : 詳細なデバッグ情報
- エラー: エラー状態と例外
- ログの表示
- ログを確認するには、標準のファイル表示コマンドを使用します。Copy
- ログを確認するには、標準のファイル表示コマンドを使用します。
- ログ内容
- サーバーの起動と構成
- コマンド実行要求と結果
- 承認ワークフロー イベント (保留、承認、拒否)
- エラー状態とトラブルシューティング情報
- ホワイトリスト管理
- 問題: ホワイトリストにカスタムコマンドを追加する必要がある
- 解決策:
add_to_whitelist
ツールを使用して、環境に固有のコマンドを追加します。
ライセンス
このMCPサーバーはMITライセンスに基づいてライセンスされています。つまり、MITライセンスの条件に従って、ソフトウェアを自由に使用、改変、配布することができます。詳細については、プロジェクトリポジトリのLICENSEファイルをご覧ください。
This server cannot be installed
セキュリティ強化のためのホワイトリストと承認メカニズムが組み込まれており、Windows、macOS、Linux 全体でシェル コマンドを安全に実行できる MCP サーバーです。