Navigation
Terminal MCP Server: Remote Command & Automation Mastery - MCP Implementation

Terminal MCP Server: Remote Command & Automation Mastery

Turn your LLM into a terminal wizard—SSH/remote control your PCs/servers effortlessly. Automate, command, and conquer workflows with unmatched precision. Your tech, smarter." )

Developer Tools
4.8(112 reviews)
168 saves
78 comments

Ranked in the top 7% of all AI tools in its category

About Terminal MCP Server

What is Terminal MCP Server: Remote Command & Automation Mastery?

Terminal MCP Server is a tool that lets AI models and applications run system commands on local machines or remote servers via SSH. It acts as a bridge between smart assistants and your infrastructure, enabling seamless execution of tasks while maintaining secure and persistent terminal environments. Think of it as your Swiss Army knife for automating everything from simple scripts to complex multi-step operations.

How to Use Terminal MCP Server: Remote Command & Automation Mastery?

Getting started is straightforward:

  1. Install via Smithery: One-click setup with npx -y @smithery/cli install @weidwonder/terminal-mcp-server --client claude
  2. Manual setup: Clone the repo, run npm install, and build the project
  3. Launch the server: Use npm start for stdio mode or npm run start:sse for remote HTTP access
  4. Test with MCP Inspector: Confirm connectivity using built-in testing tools

For example, executing ls -la remotely requires specifying host, username, and session parameters in JSON format - the server handles the rest!

Terminal MCP Server Features

Key Features of Terminal MCP Server: Remote Command & Automation Mastery?

Here's what makes this tool stand out:

  • SSH superpowers: Run df -h on a distant server as easily as your local machine
  • Persistent sessions: Keep a 20-minute "workspace" open for multi-command workflows like git pull && npm test
  • Environment control: Set NODE_ENV to production in one session while debugging in development elsewhere
  • Flexible connections: Choose between direct stdio pipes or scalable SSE streams for distributed teams

Use Cases of Terminal MCP Server: Remote Command & Automation Mastery?

Real-world scenarios include:

DevOps automation: Trigger deployments across 10 servers with a single JSON payload

AI-driven scripting: Let your assistant auto-generate and execute scp commands to sync files between data centers

Emergency troubleshooting: Maintain session continuity while diagnosing a crashed service through journalctl -u myservice

CI/CD integrations

Terminal MCP Server FAQ

FAQ from Terminal MCP Server: Remote Command & Automation Mastery?

Why am I getting SSH connection errors? Check your keys (~/.ssh/id_rsa) and ensure the remote server has port 22 open

Can I extend session timeouts? Not yet, but the default 20-minute window covers most workflows

How secure is this? Leverages system SSH security and restricts commands to authorized users via server configuration

Does it work with Docker? Absolutely - just mount your SSH keys and configure the host properly

Content

Terminal MCP Server

smithery badge

中文文档

Terminal MCP Server is a Model Context Protocol (MCP) server that allows executing commands on local or remote hosts. It provides a simple yet powerful interface for AI models and other applications to execute system commands, either on the local machine or on remote hosts via SSH.

Features

  • Local Command Execution : Execute commands directly on the local machine
  • Remote Command Execution : Execute commands on remote hosts via SSH
  • Session Persistence : Support for persistent sessions that reuse the same terminal environment for a specified time (default 20 minutes)
  • Environment Variables : Set custom environment variables for commands
  • Multiple Connection Methods : Connect via stdio or SSE (Server-Sent Events)

Installation

Installing via Smithery

To install terminal-mcp-server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @weidwonder/terminal-mcp-server --client claude

Manual Installation

# Clone the repository
git clone https://github.com/weidwonder/terminal-mcp-server.git
cd terminal-mcp-server

# Install dependencies
npm install

# Build the project
npm run build

Usage

Starting the Server

# Start the server using stdio (default mode)
npm start

# Or run the built file directly
node build/index.js

Starting the Server in SSE Mode

The SSE (Server-Sent Events) mode allows you to connect to the server remotely via HTTP.

# Start the server in SSE mode
npm run start:sse

# Or run the built file directly with SSE flag
node build/index.js --sse

You can customize the SSE server with the following command-line options:

Option Description Default
--port or -p The port to listen on 8080
--endpoint or -e The endpoint path /sse
--host or -h The host to bind to localhost

Example with custom options:

# Start SSE server on port 3000, endpoint /mcp, and bind to all interfaces
node build/index.js --sse --port 3000 --endpoint /mcp --host 0.0.0.0

This will start the server and listen for SSE connections at http://0.0.0.0:3000/mcp.

Testing with MCP Inspector

# Start the MCP Inspector tool
npm run inspector

The execute_command Tool

The execute_command tool is the core functionality provided by Terminal MCP Server, used to execute commands on local or remote hosts.

Parameters

Parameter Type Required Description
command string Yes The command to execute
host string No The remote host to connect to. If not provided, the command will be executed locally
username string Required when host is specified The username for SSH connection
session string No Session name, defaults to "default". The same session name will reuse the same terminal environment for 20 minutes
env object No Environment variables, defaults to an empty object

Examples

Executing a Command Locally

{
  "command": "ls -la",
  "session": "my-local-session",
  "env": {
    "NODE_ENV": "development"
  }
}

Executing a Command on a Remote Host

{
  "host": "example.com",
  "username": "user",
  "command": "ls -la",
  "session": "my-remote-session",
  "env": {
    "NODE_ENV": "production"
  }
}

Configuring with AI Assistants

Configuring with Roo Code

  1. Open VSCode and install the Roo Code extension
  2. Open the Roo Code settings file: ~/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json
  3. Add the following configuration:

For stdio mode (local connection)

{
  "mcpServers": {
    "terminal-mcp": {
      "command": "node",
      "args": ["/path/to/terminal-mcp-server/build/index.js"],
      "env": {}
    }
  }
}

For SSE mode (remote connection)

{
  "mcpServers": {
    "terminal-mcp-sse": {
      "url": "http://localhost:8080/sse",
      "headers": {}
    }
  }
}

Replace localhost:8080/sse with your actual server address, port, and endpoint if you've customized them.

Configuring with Cline

  1. Open the Cline settings file: ~/.cline/config.json
  2. Add the following configuration:

For stdio mode (local connection)

{
  "mcpServers": {
    "terminal-mcp": {
      "command": "node",
      "args": ["/path/to/terminal-mcp-server/build/index.js"],
      "env": {}
    }
  }
}

For SSE mode (remote connection)

{
  "mcpServers": {
    "terminal-mcp-sse": {
      "url": "http://localhost:8080/sse",
      "headers": {}
    }
  }
}

Configuring with Claude Desktop

  1. Open the Claude Desktop settings file: ~/Library/Application Support/Claude/claude_desktop_config.json
  2. Add the following configuration:

For stdio mode (local connection)

{
  "mcpServers": {
    "terminal-mcp": {
      "command": "node",
      "args": ["/path/to/terminal-mcp-server/build/index.js"],
      "env": {}
    }
  }
}

For SSE mode (remote connection)

{
  "mcpServers": {
    "terminal-mcp-sse": {
      "url": "http://localhost:8080/sse",
      "headers": {}
    }
  }
}

Best Practices

Command Execution

  • Before running commands, it's best to determine the system type (Mac, Linux, etc.)
  • Use full paths to avoid path-related issues
  • For command sequences that need to maintain environment, use && to connect multiple commands
  • For long-running commands, consider using nohup or screen/tmux

SSH Connection

  • Ensure SSH key-based authentication is set up
  • If connection fails, check if the key file exists (default path: ~/.ssh/id_rsa)
  • Make sure the SSH service is running on the remote host

Session Management

  • Use the session parameter to maintain environment between related commands
  • For operations requiring specific environments, use the same session name
  • Note that sessions will automatically close after 20 minutes of inactivity

Error Handling

  • Command execution results include both stdout and stderr
  • Check stderr to determine if the command executed successfully
  • For complex operations, add verification steps to ensure success

Important Notes

  • For remote command execution, SSH key-based authentication must be set up in advance
  • For local command execution, commands will run in the context of the user who started the server
  • Session timeout is 20 minutes, after which the connection will be automatically closed

Related MCP Servers & Clients