MCP Hub
Back to servers

mcp-server-for-powershell

Unofficial Powershell MCP server

Updated
Jan 26, 2026

MCP server for PowerShell

PyPI PyPI Downloads License

Disclaimer

Unofficial Implementation: This project is an independent open-source software project. It is not affiliated with, endorsed by, sponsored by, or associated with Microsoft Corporation or the PowerShell team.

Trademarks: "PowerShell" and the PowerShell logo are trademarks or registered trademarks of Microsoft Corporation in the United States and/or other countries. All other trademarks cited herein are the property of their respective owners. Use of these names is for descriptive purposes only (nominative fair use) to indicate compatibility.

Installation

  • Run directly with uv (recommended): uvx mcp-server-for-powershell
  • pip: pip install mcp-server-for-powershell
  • uv: uv pip install mcp-server-for-powershell

Configuration

The server can be configured using the following command-line arguments:

ArgumentDescriptionDefault
--allowed-commandsList of allowed PowerShell commands. If empty, all are allowed (subject to restrictions).[]
--restricted-commandsList of restricted PowerShell commands.Safe defaults
--restricted-directoriesList of restricted directories.System directories
--language-modePowerShell Language Mode: 0 (NoLanguage), 1 (ConstrainedLanguage), 2 (RestrictedLanguage), 3 (FullLanguage).1
--cwdInitial working directory.Current Directory

Language Modes

  • 0 (NoLanguage): No script execution allowed.
  • 1 (ConstrainedLanguage): Restricts access to sensitive language elements (default).
  • 2 (RestrictedLanguage): Only allows basic commands.
  • 3 (FullLanguage): Unrestricted access.

Security Profiles

We recommend different configurations based on your security needs:

Default (Balanced)

By default, the server runs in ConstrainedLanguage mode with a curated blocklist of dangerous commands and restricted system directories. This provides "good enough" defaults for general use, preventing common dangerous operations while allowing most read-only and safe actions.

uvx mcp-server-for-powershell

Safe Mode (Strict)

For environments requiring stricter controls, use NoLanguage mode (--language-mode 0). Only built-in commands and cmdlets can be executed.

uvx mcp-server-for-powershell --language-mode 0

Nuclear Mode (Allow-List Only)

For the highest security "nuclear" option, explicitly whitelist ONLY the commands you need (e.g., allow get-items only). This blocks everything else by default.

uvx mcp-server-for-powershell --allowed-commands Get-Item Get-ChildItem Get-Content

License

mcp-server-for-powershell is provided as-is under the MIT license.

Reviews

No reviews yet

Sign in to write a review