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
cwdparameter 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
A MCP server for capturing screenshots
Example Usage of model context protocol in Artificial Intelligence
A Model Context Protocol (MCP) server that integrates with Google's Gemini Pro model, can be used in Claude...
MCP server that exercises all the features of the MCP protocol
MCP server implementation for Keycloak user management. Enables AI-powered administration of Keycloak users and realms through the Model...
MCP server for accessing Dutch World War II archives through the Oorlogsbronnen API. Provides structured access to historical...
π Time MCP Server: Giving LLMs Time Awareness Capabilities





