✨ From vibe coding to vibe deployment. UBOS MCP turns ideas into infra with one message.

Learn more

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

  1. Clone the repository:
git clone https://github.com/deepsuthar496/Remote-Command-MCP
cd remote-command-server
  1. Install dependencies:
npm install
  1. Build the server:
npm run build
  1. 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 OS
  • cwd (optional): Working directory for command execution

Examples

  1. 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>
  1. 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>
  1. 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>
  1. 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>
  1. 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>
  1. 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>
  1. 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:

  1. Access Control: Limit access to the MCP server to trusted users only
  2. Command Validation: Validate commands before execution in your application logic
  3. Working Directory: Use the cwd parameter to restrict command execution to specific directories
  4. Environment: Be cautious with commands that modify system settings or sensitive files
  5. Permissions: Run the MCP server with appropriate user permissions

Cross-Platform Command Handling

The server automatically handles platform-specific differences:

  1. Command Translation:

    • lsdir (automatically converted based on platform)
    • Proper pipe operator formatting for each platform
  2. Shell Selection:

    • Windows: Uses cmd.exe
    • Unix/Linux: Uses /bin/sh

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

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Featured Templates

View More
Customer service
Service ERP
125 648
Customer service
Multi-language AI Translator
135 550
AI Characters
Your Speaking Avatar
163 587
Verified Icon
AI Agents
AI Chatbot Starter Kit
1292 5662 5.0

Start your free trial

Build your solution today. No credit card required.

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.