windows-powershell-mcp
v1.0.0
Published
MCP server for cross-platform command conversion to PowerShell with efficient text search capabilities
Downloads
16
Maintainers
Readme
Windows PowerShell MCP Server
A Model Context Protocol (MCP) server that provides cross-platform command conversion to PowerShell and efficient text search capabilities.
Features
🔄 Command Conversion
- Convert Linux/macOS commands to PowerShell equivalents
- Support for common shell commands (ls, pwd, cd, grep, find, etc.)
- Preserve command arguments and flags
🔍 Text Search
- Efficient pattern matching in text content
- Support for regular expressions
- Case-sensitive and case-insensitive search options
- Detailed match reporting with line numbers
📋 Command Reference
- List all available command mappings
- Filter by platform (Linux, macOS, or all)
- Structured output for easy integration
Installation
# Clone the repository
git clone <repository-url>
cd windows-powershell-mcp
# Install dependencies
npm install
# Build the project
npm run buildUsage
Running the Server
# Development mode (with auto-reload)
npm run dev
# Production mode
npm run build
npm startMCP Client Configuration
Add the following to your MCP client configuration:
{
"mcpServers": {
"powershell-converter": {
"command": "node",
"args": ["/path/to/windows-powershell-mcp/dist/index.js"],
"env": {}
}
}
}Available Tools
convert_command
Convert commands from Linux/macOS to PowerShell equivalent.
Parameters:
sourcePlatform(string): Source platform (linuxormac)command(string): Command to convert
Example:
{
"sourcePlatform": "linux",
"command": "ls -la | grep .txt"
}Response:
**Source Command:** ls -la | grep .txt
**PowerShell Equivalent:** Get-ChildItem -la | Select-String .txtsearch_text
Efficient text search with pattern matching.
Parameters:
content(string): Text content to search throughpattern(string): Search pattern (supports regex)caseSensitive(boolean, optional): Case-sensitive search (default: false)useRegex(boolean, optional): Treat pattern as regex (default: false)
Example:
{
"content": "Hello world\nThis is a test\nAnother line with test",
"pattern": "test",
"caseSensitive": false
}Response:
Search Results for 'test':
Line 2: This is a test (1 match)
Line 3: Another line with test (1 match)list_commands
List available command conversions between platforms.
Parameters:
platform(string): Platform to list commands for (linux,mac, orall)
Example:
{
"platform": "linux"
}Response:
Available command conversions for linux:
- ls → Get-ChildItem
- pwd → Get-Location
- cd → Set-Location
- cat → Get-Content
- grep → Select-String
- find → Get-ChildItem -Recurse | Where-Object
- ps → Get-Process
- kill → Stop-Process
- chmod → Set-ItemProperty -Path
- chown → Set-ItemProperty -PathSupported Command Mappings
Linux to PowerShell
| Linux Command | PowerShell Equivalent |
|---------------|----------------------|
| ls | Get-ChildItem |
| pwd | Get-Location |
| cd | Set-Location |
| cat | Get-Content |
| grep | Select-String |
| find | Get-ChildItem -Recurse \| Where-Object |
| ps | Get-Process |
| kill | Stop-Process |
| chmod | Set-ItemProperty -Path |
| chown | Set-ItemProperty -Path |
macOS to PowerShell
macOS commands use the same mappings as Linux since they share similar Unix-based command structures.
Development
Project Structure
windows-powershell-mcp/
├── src/
│ └── index.ts # Main server implementation
├── dist/ # Compiled JavaScript (generated)
├── package.json # Project dependencies and scripts
├── tsconfig.json # TypeScript configuration
└── README.md # This fileBuilding from Source
# Install dependencies
npm install
# Build the project
npm run build
# Run in development mode
npm run devTesting
The server can be tested using the MCP Inspector:
npx @modelcontextprotocol/inspector node dist/index.jsContributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
License
MIT License - see LICENSE file for details.
