はじめに
更新履歴
- 2026.2: v1.6.0 で Claude Code に対応。Claude Code セクションの追加、制限事項・推奨クライアントの更新。
LLM が PowerShell のコンソールにコマンドを入力して、いろんな処理を自動でやってくれたら便利ですよね。これを実現する PowerShell モジュールを開発したのでご紹介します。
このサーバーで、次のようなプロンプトを試してみてください。
- PowerShell.MCP を試してください
- このようなツールを得て、今どんな気分ですか?
クイックスタート
対応プラットフォーム: Windows / Linux / macOS
Windows
- PowerShell 7 をインストール
- PowerShell 7 を起動して、次を実行
Install-Module PowerShell.MCP
Get-MCPProxyPath -Escape
# 出力例: C:\\Users\\YourName\\Documents\\PowerShell\\Modules\\PowerShell.MCP\\1.6.0\\bin\\win-x64\\PowerShell.MCP.Proxy.exe
- Claude Desktop をインストール
-
Get-MCPProxyPath -Escapeの出力を使って、%APPDATA%\Claude\claude_desktop_config.json を編集して保存。詳しくは「Claude for Desktop の設定手順」を参照。
【2026.2 追記】Claude Code でも利用できます。セットアップは、Install-Module PowerShell.MCP を実行したあと、次の 1 コマンドだけで完了します。
claude mcp add PowerShell -s user -- "$(Get-MCPProxyPath)"
詳しくは「MCP クライアント(Claude Code)の設定手順」をご覧ください。
Linux / macOS
README を参照してください。
- Claude Desktop を起動・サインアップ
以上で完了です。プロンプト を試してください!
開発の動機
私は UiPath Orchestrator をコマンドレットで操作する PowerShell モジュール UiPathOrch を開発しています。私はこれを、自然言語でも操作できるようにしたいと考えました。
そこで MCP サーバーを実装してみたところ、とても強力なものになりました。そこで、UiPathOrch の一機能とせず、別の PowerShell モジュール PowerShell.MCP としてリリースしました。
このモジュールをインポートした PowerShell コンソールには、LLM が任意のコマンドを入力して実行できるようになります。この実行結果は PowerShell コンソールに表示され、かつ LLM にも送られます。
ほかのモジュールをインストールしたら、LLM はその中に含まれるコマンドレットの使い方を Get-Help で学習できます。また LLM は、git のように広く使われている CLI コマンドの使い方もよく知っています。そのため、LLM はこれらのさまざまなコマンドをパイプやスクリプトで組み合わせて、高度な処理を簡単に行えるようになります。
LLM が構築したコマンドテキストは、PowerShell コンソールに入力・提示するだけとして、実行はしないこともできます(実行の要否は、LLM が自動で判断します)。そこで、ユーザーはこのモジュールを通して、さまざまなコマンドレットや CLI ツールの使い方を LLM に教えてもらうこともできます。LLM が提示もしくは実行したコマンドの履歴は、ユーザーは PowerShell コンソールで ↑ キーを押して呼び出し、パラメータを編集してから Enter を押して実行することもできます。
この記事では、この強力な MCP サーバーのインストール手順をご紹介します。これを使って UiPath Orchestrator を自然言語で操作する方法は、後日別の記事でご紹介したいと思います。
PowerShell Gallery には 10,000 以上のモジュールが公開されており、Azure/AWS 管理、REST API 連携、セキュリティ管理、Active Directory 管理など、企業レベルの作業を簡単に自動化できます。
PowerShell.MCP は、任意の PowerShell モジュールを自然言語で操作できるようにする MCP サーバーです。プロンプトの例 をここに示しました。
基本的な用語
LLM(大規模言語モデル)とは
- 膨大なテキストデータから言語パターンを学習し、人間のような自然な文章やコードを生成するモデル。
MCP(Model Context Protocol)とは
- LLM が、外部のツールやサービスに作業を依頼するための通信プロトコル。
- ホテル予約や株式取引など、実際の業務を完全に自動化することが期待されています。
PowerShell とは
- .NET 上で動作する、クロスプラットフォームシェル兼スクリプト言語。
- コマンドレット:.NET クラスとして実装された特殊なコマンド(例:
Get-Process、Where-Object)。 - パイプ(
|):コマンドレットや関数、スクリプト、外部コマンド間で .NET オブジェクトを受け渡す仕組み。 - パイプライン:パイプでつなげた一連のコマンド(例:
Get-Process | Where-Object { … } | Sort-Object)。複雑な処理を簡潔に記述できます。
MCP サーバー(PowerShell)の設定手順
1. PowerShell 7 をインストール(初回のみ)
まず、PowerShell 7 をインストールしてください。
- Windows 10 は、MSI パッケージをダウンロード して実行します。
- Windows 11 は、WinGet で PowerShell 7 をインストール します。(MSI でもインストールできます。)
Windows には、既定で PowerShell 5 がインストールされていますが、本モジュールの利用には PowerShell 7 が必要です。
2. PowerShell 7 を起動
- PowerShell 7 のコマンド名は pwsh.exe です。
- PowerShell 5 のコマンド名は powershell.exe です。
3. PowerShell.MCP のインストール(初回のみ)
あなたの PC に PowerShell.MCP モジュールをダウンロードします。
Install-Module PowerShell.MCP
インストールして良いか確認を求めてくるので、Y を入力してください。
PowerShell.MCP を最新バージョンに更新するには、次のようにします。
Update-Module PowerShell.MCP
このあと、MCP クライアントの設定ファイルも忘れずに修正してください。
4. PowerShell.MCP のインポート
インストールしたモジュールは、PowerShell コンソールにインポートすると使えるようになります。
Import-Module PowerShell.MCP
PowerShell.MCP モジュールをインポートすると、すぐに MCP サーバーが起動します。
MCP クライアント(Claude for Desktop) の設定手順
MCP クライアントとして、Claude for Desktop を使う場合の手順です。
1. Claude for Desktop のインストール(初回のみ)
Claude を初めてお使いになる場合には、サインアップ が必要です。無料で利用できます。Claude for Desktop をダウンロードして、インストールしてください。
2. Claude for Desktop の設定ファイルを編集(初回のみ)
Claude for Desktop を起動したら、左上のメニューから [ファイル] -> [設定...] を選択します。左側の [開発者] を選択し、[構成を編集] をクリックしてください。設定ファイルを含むフォルダーが開くので、claude_desktop_config.json を探してテキストエディタで開いてください。
まず、PowerShell コンソールで次のコマンドを実行し、パスを確認します。
Get-MCPProxyPath -Escape
# 出力例: C:\\Users\\YourName\\Documents\\PowerShell\\Modules\\PowerShell.MCP\\1.6.0\\bin\\win-x64\\PowerShell.MCP.Proxy.exe
この出力をコピーして、claude_desktop_config.json に次のように記載します。
{
"mcpServers": {
"PowerShell": { "command": "<Get-MCPProxyPath -Escape の出力をここに貼り付け>" }
}
}
PowerShell の自動補完入力機能は、とても強力です。Tab もしくは Ctrl+Space を押すと、コマンドレットの名前、パラメータ名、パラメータ値などを自動で入力できます。
PowerShell コンソールに何かを入力すると、それに続く予測入力テキストが薄い字で表示されることがあります。これは、カーソルの右キーで確定できます。
セットアップ完了!
以上で、セットアップは完了です。Claude for Desktop を終了し、再起動してください。
Claude for Desktop を終了するには、左上のメニューから [ファイル] -> [終了] を選択します。ウィンドウ右上の X ボタンでは終了しないので注意してください。
MCP クライアント(Claude Code)の設定手順
【2026.2 追記】このセクションを追記しました。
MCP クライアントとして、Claude Code を使う場合の手順です。Claude Code はターミナルベースの AI コーディングアシスタントで、ソフトウェア開発に特化した機能を備えています。
PowerShell.MCP v1.6.0 から、Claude Code でも安全に利用できるようになりました。複数の Claude Code を同時に使うとき、それぞれは専用の PowerShell コンソールを開くので、互いのコマンドが干渉することなく安全に作業できます。
1. Claude Code のインストール(初回のみ)
npm install -g @anthropic-ai/claude-code
2. PowerShell.MCP を MCP サーバーとして登録(初回のみ)
PowerShell 7 で次のコマンドを実行するだけで完了です。JSON ファイルの編集は不要です。
claude mcp add PowerShell -s user -- "$(Get-MCPProxyPath)"
3. Claude Code を起動
任意のディレクトリで claude コマンドを実行すると、Claude Code が起動し、PowerShell.MCP が自動的に利用可能になります。
Claude Code では、各セッションが専用の PowerShell コンソールを取得します。複数のセッションを同時に起動して並列作業することも可能です。
Claude Code では、CLAUDE.md ファイルを使って LLM への指示をカスタマイズできます。たとえば「すべての作業は PowerShell コマンドレットを使って行うこと」のような指示を設定できます。
プロンプトの例
Claude for Desktop(もしくは VS Code)にいろいろなプロンプトを入力して、PowerShell コンソールを操作できることを確認しましょう。
- PowerShell で、現在の日時を教えてください
- 現在実行中のプロセスを表示してください
- 100Mb 以上のメモリを消費しているプロセスを、CPU 使用率で降順に表示してください
- インポート済みのモジュールを確認し、それらのモジュールに含まれているコマンドレットの使い方を Get-Help で確認してください
- イベントログで直近1週間に発生したエラーを確認して、htmlファイルでレポートを作成し、ブラウザで開いてください
- この PC にインストールされているプログラムの一覧を CSV (BOMつきUTF8) で作成し、Excel で開いてください
- この PC のセキュリティの状態を確認してレポートしてください
- c:\tmp フォルダにあるファイルのハッシュを計算して、中身が同一のファイルがないか確認してください
- c:\Project フォルダの配下にあるプログラムのソースファイルの行数を数えて表に整理してください
- PowerShell で、アスキーアートを書いてください
- PowerShell.MCP の使い心地を教えてください。使ってみて、どのように感じましたか?
PowerShell.MCP のページでは、組み込みのプロンプトも紹介しています。ぜひご覧ください。
PowerShell.MCP は、任意のコマンドを実行できます。そのため、次のようなシステムを壊す可能性がある危険なプロンプトは与えないでください。
- C:\ ドライブのすべてのファイルを削除してください
- レジストリを変更してください
PowerShell.MCP は、別の PC のクライアントからは接続できないようになっています。しかし念のため、使い終わったら必ず PowerShell コンソールを終了しておきましょう。
PowerShell.MCP の制限事項
- PowerShell.MCP が起動して実行中のパイプラインは、Ctrl+C を押しても実行をキャンセルできません。時間がかかる処理を実行させるときは注意してください。
- ユーザーが PowerShell コンソールで実行したコマンドの実行結果は、LLM に送信されません。
- PowerShell.MCP を使うと、LLM がすごい勢いで自動で動いていきます。フリープランをお使いの場合には、すぐに利用制限に達することがあるのでご注意ください。
Microsoft は PowerShell と LLM を統合するツールとして AI Shell を公開していますが、LLM が自動でコマンドを即時実行することはできず、ユーザーが Enter キーを押して実行 する必要があります。これは、PowerShell の 入力ループ がホスト側で同期的に動作しており、外部から Enter キーを送信できないためと考えられます。また、コマンドの出力を LLM に返すには、専用の コマンドレット にパイプしなければなりません。
一方で、PowerShell.MCP は実装を工夫することで上記の制約を解除し、LLM からの指示を自動で即時実行でき、その出力も自動で PS コンソールと LLM の両方に返すことができます。
まとめ
PowerShell.MCP モジュールにより、LLM と PowerShell の強力な連携が実現します。これまで手動で行っていた複雑なソフトウェア開発やシステム管理、クラウドサービスの操作などが、自然言語の指示で自動化できるようになります。
特に、PowerShell の豊富なモジュールに含まれるさまざまなコマンドレットをパイプで連結することで、複雑な操作を簡単に行えるのは大きなメリットです。ぜひご活用ください。

