PowerShell MCP Server
PowerShell MCP Server
A comprehensive Model Context Protocol (MCP) server that enables Claude and other LLM applications to execute PowerShell commands, scripts, and perform system operations on Windows systems.
š Key Features
š§ PowerShell Execution: Execute commands, run scripts, and create new PowerShell files
š„ļø System Monitoring: Get system info, monitor processes, check services and disk space
š File Operations: List directories, get file info, and search files with pattern matching
āļø Simple Setup: One-command installation with automatic Claude Desktop configuration
š”ļø Secure: Safe execution with proper error handling and session management
š ļø Available Tools
PowerShell Tools
execute-powershell- Execute PowerShell commands with optional working directoryexecute-powershell-script- Run PowerShell script files with parameterscreate-powershell-script- Create new PowerShell scripts
System Tools
get-system-info- Comprehensive Windows system informationget-process-list- Running processes with CPU/memory usage (sortable/filterable)get-service-status- Windows services status with filteringcheck-disk-space- Disk space usage for all or specific drives
File Tools
list-directory- Enhanced directory listing with filteringget-file-info- Detailed file and directory metadatasearch-files- Recursive file search with pattern matching
š Prerequisites
Windows 10/11 or Windows Server 2016+
Node.js 18.0.0 or higher
PowerShell 5.1+ or PowerShell Core 7+
Claude Desktop application
š Quick Setup
Option 1: Safe Automated Setup (Recommended)
# Clone and setup with configuration management
git clone https://github.com/gunjanjp/powershell-mcp.git
cd powershell-mcp
complete-setup.batOption 2: Configuration Recovery (If you had existing settings)
# If previous setup overwrote your existing configuration
node recovery.js status # Check current state
node recovery.js scan # Find backup configurations
node recovery.js restore 1 # Restore from backup
# OR
node recovery.js merge 1 # Merge backup with current configOption 3: Manual Setup
# Clone the repository
git clone https://github.com/gunjanjp/powershell-mcp.git
cd powershell-mcp
# Install dependencies
npm install
# Safely add to existing configuration
node recovery.js add-powershell
# Restart Claude Desktopš Usage Examples
Ask Claude:
"Execute PowerShell: Get-Date"
"Check my system information"
"Show me the top 10 processes by CPU usage"
"What's my disk space usage?"
"List files in my Downloads folder"
"Search for all .txt files in C:\Users"
"Create a PowerShell script to backup my Documents folder"
š§ Commands
Server Commands
# Start the server
npm start
# Test components
npm test
# Run diagnostics
node diagnose.bat
# Start server directly
node src/server.jsConfiguration Management
# Check configuration status
node recovery.js status
# Find backup configurations
node recovery.js scan
# Safely add PowerShell server
node recovery.js add-powershell
# Restore from backup
node recovery.js restore <number>
# Merge configurations
node recovery.js merge <number>
# Show backup contents
node recovery.js show <number>Quick Setup Commands
# Complete setup with safety checks
complete-setup.bat
# Test server only
run-test.batš Project Structure
powershell-mcp/
āāā src/
ā āāā server.js # Main MCP server (with stderr logging fix)
ā āāā tools/ # Tool implementations
ā ā āāā powershell-tools.js
ā ā āāā system-tools.js
ā ā āāā file-tools.js
ā āāā utils/ # Utility modules
ā āāā system-utils.js
āāā examples/ # Example PowerShell scripts
āāā scripts/ # Setup utilities
āāā test/ # Test files
āāā claude_desktop_config.json # Claude Desktop configuration
āāā setup.bat # Automated setup script
āāā diagnose.bat # Diagnostic tool
āāā test-server.js # Component testing
āāā README.mdāļø Claude Desktop Configuration
The server uses this configuration (automatically applied by setup):
{
"mcpServers": {
"powershell": {
"command": "node",
"args": ["D:/claude/claude-powershell-mcp/src/server.js"],
"env": {}
}
}
}Config location: %APPDATA%\Claude\claude_desktop_config.json
š”ļø Security Features
Safe Execution: Uses
-ExecutionPolicy Bypassand-NoProfilefor securityInput Validation: All inputs validated with Zod schemas
Session Management: PowerShell sessions properly disposed after use
Error Handling: Comprehensive error handling prevents system issues
Logging: All operations logged to stderr (not interfering with JSON-RPC)
š Troubleshooting
Server won't start
# Check Node.js version (need 18+)
node --version
# Check dependencies
npm install
# Test components
node test-server.jsClaude Desktop integration issues
# Run setup again
setup.bat
# Check configuration
type "%APPDATA%\Claude\claude_desktop_config.json"
# Restart Claude Desktop completelyPowerShell execution issues
# Test PowerShell
powershell -Command "Get-Date"
# Check execution policy
Get-ExecutionPolicy
# Run diagnostics
node diagnose.batš Recent Updates (v1.1.2)
Configuration Management Improvements
ā Safe Configuration Management - No more overwriting existing configs
ā Automatic Backups - Creates backups before any configuration changes
ā Configuration Recovery - Tools to find and restore previous configurations
ā Merge Capability - Intelligent merging of multiple MCP server configs
ā Interactive Recovery - Step-by-step configuration recovery process
Previous Fixes (v1.1.1)
ā Fixed Claude Desktop JSON parsing error - Changed console.log to console.error (stderr)
ā Cleaned up project structure - Removed redundant server files
ā Simplified setup - One script setup process
ā Proper error handling - Enhanced logging and error management
š¤ Contributing
Fork the repository
Create feature branch:
git checkout -b feature-nameMake changes and test:
npm testCommit:
git commit -am 'Add feature'Push:
git push origin feature-nameSubmit pull request
š License
MIT License - see LICENSE file for details.
š Links
Made with ā¤ļø for the Claude and PowerShell communities
ā ļø Important: This tool provides direct access to PowerShell commands. Use responsibly and be aware of security implications.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/gunjanjp/powershell-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server