Remote Command MCP Server
A Model Context Protocol (MCP) server that enables remote command execution across different operating systems. This server provides a unified interface to execute shell commands, automatically handling platform-specific differences between Windows and Unix-like systems.
Features
- Cross-platform command execution
- Automatic command normalization between Windows and Unix
- Built-in error handling and output streaming
- Working directory specification support
- Platform-specific shell selection
Installation
- Clone the repository:
git clone https://github.com/deepsuthar496/Remote-Command-MCP
cd remote-command-server
- Install dependencies:
npm install
- Build the server:
npm run build
- Configure the MCP server in your settings file:
For Claude Desktop (claude_desktop_config.json
):
{
"mcpServers": {
"remote-command": {
"command": "node",
"args": ["path/to/remote-command-server/build/index.js"],
"disabled": false,
"autoApprove": []
}
}
}
For VSCode Cline Extension (cline_mcp_settings.json
):
{
"mcpServers": {
"remote-command": {
"command": "node",
"args": ["path/to/remote-command-server/build/index.js"],
"disabled": false,
"autoApprove": []
}
}
}
Usage
The server provides a single tool called execute_remote_command
that can execute ANY valid shell command on the host machine. This includes:
- System commands
- Package manager commands (apt, yum, chocolatey, etc.)
- Development tools (git, npm, python, etc.)
- File operations
- Network commands
- Service management
- And any other CLI commands available on the system
Tool: execute_remote_command
Parameters:
command
(required): Any valid shell command that can be executed on the host OScwd
(optional): Working directory for command execution
Examples
- System Information:
<use_mcp_tool>
<server_name>remote-command</server_name>
<tool_name>execute_remote_command</tool_name>
<arguments>
{
"command": "systeminfo" // Windows
// or "uname -a" // Linux
}
</arguments>
</use_mcp_tool>
- Package Management:
<use_mcp_tool>
<server_name>remote-command</server_name>
<tool_name>execute_remote_command</tool_name>
<arguments>
{
"command": "npm list -g --depth=0" // List global NPM packages
}
</arguments>
</use_mcp_tool>
- Network Operations:
<use_mcp_tool>
<server_name>remote-command</server_name>
<tool_name>execute_remote_command</tool_name>
<arguments>
{
"command": "netstat -an" // Show all network connections
}
</arguments>
</use_mcp_tool>
- Git Operations:
<use_mcp_tool>
<server_name>remote-command</server_name>
<tool_name>execute_remote_command</tool_name>
<arguments>
{
"command": "git status",
"cwd": "/path/to/repo"
}
</arguments>
</use_mcp_tool>
- File Operations:
<use_mcp_tool>
<server_name>remote-command</server_name>
<tool_name>execute_remote_command</tool_name>
<arguments>
{
"command": "ls -la", // List files with details
"cwd": "/path/to/directory"
}
</arguments>
</use_mcp_tool>
- Process Management:
<use_mcp_tool>
<server_name>remote-command</server_name>
<tool_name>execute_remote_command</tool_name>
<arguments>
{
"command": "ps aux" // List all running processes (Unix)
// or "tasklist" // Windows equivalent
}
</arguments>
</use_mcp_tool>
- Service Control:
<use_mcp_tool>
<server_name>remote-command</server_name>
<tool_name>execute_remote_command</tool_name>
<arguments>
{
"command": "systemctl status nginx" // Check service status (Linux)
// or "sc query nginx" // Windows equivalent
}
</arguments>
</use_mcp_tool>
Security Considerations
Since this server can execute any system command, please consider the following security practices:
- Access Control: Limit access to the MCP server to trusted users only
- Command Validation: Validate commands before execution in your application logic
- Working Directory: Use the
cwd
parameter to restrict command execution to specific directories - Environment: Be cautious with commands that modify system settings or sensitive files
- Permissions: Run the MCP server with appropriate user permissions
Cross-Platform Command Handling
The server automatically handles platform-specific differences:
Command Translation:
ls
⟷dir
(automatically converted based on platform)- Proper pipe operator formatting for each platform
Shell Selection:
- Windows: Uses
cmd.exe
- Unix/Linux: Uses
/bin/sh
- Windows: Uses
Error Handling
The server provides detailed error messages and includes both stdout and stderr in the response. If a command fails, you’ll receive an error message with details about what went wrong.
Example error response:
{
"content": [
{
"type": "text",
"text": "Command execution error: Command failed with exit code 1"
}
],
"isError": true
}
Development
Project Structure
remote-command-server/
├── src/
│ └── index.ts # Main server implementation
├── package.json
├── tsconfig.json
└── README.md
Building
npm run build
This will compile the TypeScript code and create the executable in the build
directory.
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Remote Command MCP Server
Project Details
- deepsuthar496/Remote-Command-MCP
- MIT License
- Last Updated: 3/25/2025
Recomended MCP Servers
MCP server helping models to understand your Vite/Nuxt app better.
A Pyodide server implementation for the Model Context Protocol (MCP).
MCP Server example with TypeScript
A server that integrates Linear's project management system with the Model Context Protocol (MCP) to allow LLMs to...
一个用来实现简单页面倒计时的轻量级工具
interactive programming of melodies, producing MIDI
MCP tool for building Xcode iOS workspace/project and feeding back error to LLMs.
MCP Server enabling LLM Agents to interact with Gel databases
Binance MCP tools
An MCP server to allow you to debug webpages using LLMs