Loading repository data…
Loading repository data…
yotsuda / repository
The universal MCP server for Claude Code and other MCP-compatible clients. One installation gives AI access to 10,000+ PowerShell modules and any CLI tool. You and AI collaborate in the same console with full transparency. Supports Windows, Linux, and macOS.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
Security Warning: This module provides complete PowerShell access to your system. Malicious use could result in severe damage. Use responsibly and only in trusted environments.
The universal MCP server—one installation gives AI access to 10,000+ PowerShell modules and any CLI tool.
PowerShell.MCP connects AI assistants to the entire PowerShell ecosystem through a single MCP server. You and AI collaborate in the same PowerShell console—every command is visible, auditable, and saved to history.
Need bash, a language REPL, a SQL console, or a debugger instead? If you can't install PowerShell 7, or you'd rather drive another shell (bash, cmd, zsh), a language REPL (python, node, racket, lua, …), a SQL console (sqlite3, …), or a language debugger (pdb, jdb, perldb), check out ripple — the same shared-console concept generalized to any REPL, with unified ConPTY-based consoles running side by side.
A universal gateway to the PowerShell ecosystem.
PowerShell.MCP takes a different approach from service-specific MCP servers. Rather than providing curated tools for individual services, it gives AI assistants direct access to PowerShell—letting them use the same modules and CLI tools that professionals use every day.
This means:
Examples: PowerShell pipeline processing
"Show me bug issues from the PowerShell repo with their authors"
gh issue list --repo PowerShell/PowerShell --json title,author,labels |
ConvertFrom-Json |
Where-Object { $_.labels.name -contains "Issue-Bug" } |
Select-Object title, @{N='by';E={$_.author.login}}
"List my running Azure VMs with their sizes"
Get-AzVM -Status | Where-Object PowerState -eq "VM running" |
Select-Object Name, @{N='Size';E={$_.HardwareProfile.VmSize}}, Location
"Check if GitHub's API returns rate limit info"
Invoke-RestMethod https://api.github.com/rate_limit |
Select-Object -ExpandProperty rate
"Get the current user's Windows username via Win32 API"
Add-Type -MemberDefinition '[DllImport("advapi32.dll")] public static extern bool GetUserName(System.Text.StringBuilder sb, ref int len);' -Name Win32 -Namespace API
$sb = [System.Text.StringBuilder]::new(256); $len = 256
[API.Win32]::GetUserName($sb, [ref]$len); $sb.ToString()
PowerShell.MCP complements your existing MCP setup by providing a flexible, general-purpose foundation.
🖥️ Multi-Client Architecture
Get-MCPOwner cmdlet shows which client owns the current console🤝 Shared Console Experience
🔄 Persistent Session State
🌐 Universal Access
Get-Help🔗 Pipeline Composability
Get-ChildItem *.log | Sort-Object Length -Descending | Select-Object -First 5⚡ Instant Execution
🔐 Enterprise-Ready Security
🔒 Secrets stay with you, not the AI
Read-Host -AsSecureString, Get-Credential, MFA codes) hide input from the AIgpg, ssh-add, sudo, cloud CLI MFA — keystrokes go to the program, never to AI's output streamSix tools provide maximum flexibility with minimum complexity:
| Tool | Purpose |
|---|---|
start_console | Launch a persistent console for the MCP client |
get_current_location | Get current directory and available drives |
execute_command | Execute any PowerShell command or CLI tool |
wait_for_completion | Wait for long-running commands to complete |
cancel | Interrupt the command currently running in the console |
close_console | Close a console by PID (e.g. one paused at an interactive prompt) |
All platforms require:
| Platform | OS Requirements |
|---|---|
| Windows | Windows 10/11 or Windows Server 2016+ |
| Linux | Ubuntu 22.04+, Debian 11+, RHEL 8+, or distributions with GUI desktop |
| macOS | macOS 12 (Monterey)+, Intel or Apple Silicon |
Press Win + R, type pwsh, press Enter
Install-PSResource PowerShell.MCP
For Claude Code:
Register-PwshToClaudeCode
For Claude Desktop:
Register-PwshToClaudeDesktop
For other MCP clients: Run Get-MCPProxyPath -Escape to get the JSON-escaped executable path, then add it to your client's configuration file manually.
# Ubuntu/Debian
sudo apt-get update
sudo apt-get install -y wget apt-transport-https software-properties-common
source /etc/os-release
wget -q https://packages.microsoft.com/config/ubuntu/$VERSION_ID/packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get update
sudo apt-get install -y powershell
# Run in PowerShell (pwsh)
Install-PSResource PowerShell.MCP
chmod +x "$(Get-MCPProxyPath)"
For Claude Code:
Register-PwshToClaudeCode
For Claude Desktop:
Register-PwshToClaudeDesktop
For other MCP clients: Run Get-MCPProxyPath -Escape to get the JSON-escaped executable path, then add it to your client's configuration file manually.
brew install --cask powershell
# If the cask is unavailable, install from GitHub Release:
# curl -sSL -o /tmp/powershell.tar.gz https://github.com/PowerShell/PowerShell/releases/download/v7.5.4/powershell-7.5.4-osx-arm64.tar.gz
# sudo mkdir -p /usr/local/microsoft/powershell/7
# sudo tar zxf /tmp/powershell.tar.gz -C /usr/local/microsoft/powershell/7
# sudo chmod +x /usr/local/microsoft/powershell/7/pwsh
# sudo ln -sf /usr/local/microsoft/powershell/7/pwsh /usr/local/bin/pwsh
# Run in PowerShell (pwsh)
Install-PSResource PowerShell.MCP
chmod +x "$(Get-MCPProxyPath)"
For Claude Code:
Register-PwshToClaudeCode
For Claude Desktop:
Register-PwshToClaudeDesktop
For other MCP clients: Run Get-MCPProxyPath -Escape to get the JSON-escaped executable path, then add it to your client's configuration file manually.
--no-profile)By default, every console the proxy launches loads your PowerShell $PROFILE (prompt, aliases, PSReadLine, theme) — these are real interactive shells, not just automation targets. Pass --no-profile to start them with -NoProfile instead, for faster startup and a clean, deterministic environment.
Claude Code:
claude mcp add pwsh -s user -- "$(Get-MCPProxyPath)" --no-profile
Claude Desktop / other MCP clients: add an args array with --no-profile to the pwsh entry in your config:
"mcpServers": {
"pwsh": {
"command": "...PowerShell.MCP.Proxy.exe",
"args": ["--no-profile"]
}
}
The headless / CI launcher always uses
-NoProfileregardless of this flag.
Experience PowerShell.MCP's capabilities:
After trying these demos, explore the built-in prompts below or ask AI to explain any command.
PowerShell.MCP includes 7 specialized prompts accessible from your MCP client's prompts menu. Each prompt is designed for specific tasks and guides AI to provide optimal results.