mcpField
S
Super Windows CLI MCP Server

Super Windows CLI MCP Server

ローカル
mcpmarket.com開発ツール082 週間前に更新

Super Windows CLI MCP Server について

Super Windows CLI MCP Serverは、MCP経由でWindowsのシェルやファイルシステムを操作したい利用者向けのサーバーです。PowerShell、CMD、Git Bashを設定できますが、SYSTEM権限で動作する設計のため重大なセキュリティリスクがあります。

主な機能

  1. 01PowerShell、CMD、Git Bashへのアクセス
  2. 02コマンド実行の設定
  3. 03ファイルシステムアクセスの設定
  4. 04SSHコマンド実行オプション
  5. 05NSSMによるサービス導入と復旧

活用シーン

  1. 01Windowsマシンでのシェルコマンド実行
  2. 02設定したパス内のファイルアクセス
  3. 03設定済みSSHホストでのコマンド実行

MCP 対応

MCPクライアントにWindowsのシェル、ファイルシステム、オプションのSSHコマンド実行機能を公開します。コマンドや許可パスを設定でき、READMEはSYSTEM権限で動作する可能性について警告しています。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Super Windows CLI MCP サーバー

コマンドラインインターフェイス(MCP)を介して、Windows 環境への無制限のシステムアクセスを提供する、Windows CLI MCP サーバーの強化版フォークです。

ベース: SimonB97 による win-cli-mcp-server。


⚠️ 重大なセキュリティ警告 ⚠️

このサーバーは、Windows 上でSYSTEM レベルの権限で実行されるよう設計されています。これにより、すべてのファイル、プロセス、構成設定を含む、オペレーティングシステム全体への完全かつ無制限のアクセスが可能になります。

  • SYSTEM レベルのアクセス権を付与することの影響を十分に理解していない場合は、このサーバーをインストールまたは実行しないでください。
  • ネットワークアクセスを完全に管理できる、高度に信頼できる環境でのみこのサーバーを使用してください。
  • ネットワークセキュリティは最優先です: アプリケーションレベルの制限は設計上最小限であるため、ファイアウォール、ネットワークのセグメンテーション、厳格なアクセス制御リスト(ACL)を最大限に活用し、このサーバーを実行するマシンを保護してください。
  • 構成を慎重に確認してください: config.json の allowedPaths、blockedCommands、その他のセキュリティ設定に特に注意してください。設定を誤ると、システムが簡単に外部へ露出するおそれがあります。

このソフトウェアは責任を持って、自己責任で使用してください。メンテナーは、誤用や使用に起因するセキュリティ侵害について一切の責任を負いません。


機能

  • Windows シェル環境(PowerShell、CMD、Git Bash。構成可能)への完全なアクセス。
  • コマンドの無制限実行(config.json で構成可能)。
  • ファイルシステムへの完全なアクセス(config.json で構成可能)。
  • NSSM を使用した SYSTEM レベルのサービスインストールによる、永続化と自動復旧。
  • NSSM による自動サービス復旧機能。
  • ネットワークバインドの制御(想定されていますが、主にネットワーク/ファイアウォールレベルで管理されます)。
  • プライバシー強化のため、PowerShell のテレメトリを無効化。
  • パフォーマンス向上のため、シェルプロセスを再利用。
  • 長時間実行される処理のためのタイムアウト延長(構成可能)。

前提条件

開始する前に、以下がインストールされていることを確認してください。

  1. Node.js: バージョン 18.0.0 以降。nodejs.org からダウンロードしてください。(npm が含まれています)。
  2. NSSM(Non-Sucking Service Manager): 信頼性の高いサービスインストールに必要です。最新バージョンを nssm.cc からダウンロードしてください。

インストール(NSSM を使用する方法 - 推奨)

この方法では、SYSTEM 権限で実行され、自動的に起動する永続的な Windows サービスとしてサーバーをインストールします。

  1. クローンまたはダウンロード:

    • このリポジトリをクローンします:git clone <repository-url>
    • または、ソースコードの .zip をダウンロードし、適切な場所(例:C:\Servers\SuperWinCLIServer)に展開します。ユーザープロファイルフォルダーは避けてください。
  2. NSSM を配置:

    • nssm.cc から NSSM をダウンロードします。
    • zip ファイルを展開します。
    • 適切なアーキテクチャのフォルダー(win32 または win64)にある nssm.exe ファイルを、このプロジェクトのルートディレクトリ(install-service.ps1 と同じフォルダー)にコピーします。
  3. 依存関係のインストールとビルド:

    • プロジェクトのルートディレクトリでターミナル(PowerShell または CMD)を開きます。
    • 次を実行します:npm install
    • このコマンドは必要な Node.js パッケージをインストールし、TypeScript コードを dist フォルダーにコンパイルするために npm run build も自動的に実行します。
  4. config.json を設定:

    • コピー: config.sample.json のコピーを作成し、プロジェクトのルートディレクトリで config.json という名前にします。
    • 編集: config.json を開き、設定を慎重に確認して変更します:
      • security.allowedPaths:重要! サンプルのパスを、サーバーがアクセスする必要のある実際のディレクトリに変更します。セキュリティのため、できる限り具体的に指定してください。不明な場合は、まずプロジェクトディレクトリ自体を指定してください(例:"C:\\Servers\\SuperWinCLIServer" - バックスラッシュを二重にする \\ ことを忘れないでください)。サービスは SYSTEM として実行されるため、パスはそのアカウントで有効である必要があります。
      • security.blockedCommands / blockedArguments:デフォルトのリストを確認します。セキュリティポリシーに基づいて、コマンドや引数を追加または削除してください。
      • shells:シェル(PowerShell、CMD、Git Bash)を有効または無効にし、command のパス(特に Git Bash)を確認します。
      • ssh:SSH 実行機能を使用する場合は設定します(デフォルトでは無効です)。
    • config.json ファイルを保存します。
  5. インストールスクリプトを実行:

    • 管理者として PowerShell を開きます。
    • プロジェクトのルートディレクトリに移動します(cd C:\Servers\SuperWinCLIServer)。
    • インストールスクリプトを実行します:.\install-service.ps1
    • このスクリプトは NSSM を使用して、node.exe dist/index.js を LocalSystem として実行する MCPServer サービスをインストールおよび設定し、自動的に起動するようにします。
  6. サービスの状態を確認:

    • 同じ管理者用 PowerShell ウィンドウで、次を実行します:Get-Service MCPServer
    • 状態が Running であることを確認します。Stopped の場合は、NSSM のログまたは Windows イベントビューアー(アプリケーションログとシステムログ)でエラーを確認してください。

設定(config.json)の詳細

  • security:
    • maxCommandLength:コマンド文字列に許可される最大文字数です。
    • blockedCommands:ブロックするコマンド名(拡張子なし)の配列です(大文字と小文字は区別されません)。
    • blockedArguments:ブロックする完全一致の引数の配列です(大文字と小文字は区別されません)。
    • allowedPaths:重要な設定です。 絶対パスの配列です。restrictWorkingDirectory が true の場合、作業ディレクトリがこれらのパスのいずれかで始まる場合にのみ、コマンドを実行できます。パスは正規化後、大文字と小文字を区別せずに比較されます(例:"C:\\Tools\\Scripts")。バックスラッシュは二重にしてください。
    • restrictWorkingDirectory:真偽値です。true の場合、作業ディレクトリに対して allowedPaths のチェックを適用します。true のままにしておくことを強く推奨します。
    • logCommands:真偽値です。true の場合、実行したコマンドとその出力(切り詰めたもの)をメモリ内に保存します(maxHistorySize まで)。
    • maxHistorySize:メモリ内の履歴に保持するコマンドの最大数です。
    • commandTimeout:実行中のコマンドが自動的に終了されるまでの秒数です。
    • enableInjectionProtection:真偽値です。true の場合、コマンド内のシェル演算子(&、|、; など、シェルごとに定義)をブロックしようとします。
  • shells:利用可能なローカルシェル(powershell、cmd、gitbash)を設定します。
    • enabled:真偽値です。このシェルの使用を許可します。
    • command:シェル実行ファイルへのパスです。
    • args:ユーザーのコマンドの前にシェルへ渡すデフォルト引数の配列です。
    • blockedOperators:このシェルのコマンド内でブロックする文字列または文字の配列です(enableInjectionProtection が true の場合に使用されます)。
  • ssh:SSH 経由でのリモートコマンド実行を設定します。
    • enabled:真偽値です。ssh_execute および ssh_disconnect ツールを有効にします。
    • connections:名前付き接続設定(host、port、username、password/privateKeyPath)を含むオブジェクトです。
  • 設定のマージ: config.json を読み込む際、security または shells セクションが含まれている場合、そのセクション全体で該当するデフォルト設定が置き換えられます。security または shells 内の個々のフィールドはマージされません。ssh セクションは、より細かい単位でマージされます。これらのセクションをカスタマイズする場合、必要なフィールドをすべて config.json に含めてください。

サービス管理(NSSM)

install-service.ps1 でインストールした後、プロジェクトディレクトリで管理者権限の PowerShell/CMDから、標準の Windows ツールまたは NSSM コマンドを使用してサービスを管理できます。

  • 開始: Start-Service MCPServer または .\nssm.exe start MCPServer
  • 停止: Stop-Service MCPServer または .\nssm.exe stop MCPServer
  • 再起動: Restart-Service MCPServer または .\nssm.exe restart MCPServer
  • 状態: Get-Service MCPServer または .\nssm.exe status MCPServer
  • 設定の編集(詳細): .\nssm.exe edit MCPServer(NSSM の GUI エディターを開きます)
  • 設定の表示: .\nssm.exe dump MCPServer

アンインストール(NSSM)

  1. 管理者として PowerShell を開きます。
  2. プロジェクトのルートディレクトリに移動します。
  3. アンインストールスクリプトを実行します:.\uninstall-service.ps1
  4. これにより NSSM を使用して MCPServer サービスが停止され、削除されます。

代替実行方法(手動/デバッグ)

テストやデバッグのために、サービスとしてインストールせずにサーバーを直接実行できます。

  1. npm install を実行済みであることを確認します。
  2. config.json が存在し、設定済みであることを確認します。
  3. プロジェクトのルートで通常のターミナル(PowerShell/CMD)を開きます。
  4. 次を実行します:npm run start
  5. サーバーはフォアグラウンドで実行されます。停止するには Ctrl + C を押します。

ライセンス

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

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。