Terminal MCP Server

by weidwonder
Verified

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Enables cloning the terminal-mcp-server repository to install and build the server

  • Enables command execution on Linux hosts, both locally and remotely via SSH

  • Supports using tmux for running long-running commands in persistent sessions on local or remote hosts

Servidor MCP de terminal

Lengua china

El Servidor Terminal MCP es un servidor de Protocolo de Contexto de Modelo (MCP) que permite ejecutar comandos en hosts locales o remotos. Proporciona una interfaz sencilla pero potente para que los modelos de IA y otras aplicaciones ejecuten comandos del sistema, ya sea en el equipo local o en hosts remotos mediante SSH.

Características

  • Ejecución de comandos locales : ejecuta comandos directamente en la máquina local
  • Ejecución remota de comandos : ejecute comandos en hosts remotos a través de SSH
  • Persistencia de sesión : Compatibilidad con sesiones persistentes que reutilizan el mismo entorno de terminal durante un tiempo específico (predeterminado 20 minutos)
  • Variables de entorno : establezca variables de entorno personalizadas para los comandos
  • Múltiples métodos de conexión : Conéctese a través de stdio o SSE (eventos enviados por el servidor)

Instalación

Instalación mediante herrería

Para instalar terminal-mcp-server para Claude Desktop automáticamente a través de Smithery :

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

Instalación manual

# 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

Uso

Iniciando el servidor

# Start the server using stdio (default mode) npm start # Or run the built file directly node build/index.js

Iniciar el servidor en modo SSE

El modo SSE (eventos enviados por el servidor) le permite conectarse al servidor de forma remota a través de 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

Puede personalizar el servidor SSE con las siguientes opciones de línea de comandos:

OpciónDescripciónPor defecto
--port o -pEl puerto para escuchar8080
--endpoint o -eLa ruta del punto final/sse
--host o -hEl host al que vincularsehost local

Ejemplo con opciones personalizadas:

# 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

Esto iniciará el servidor y escuchará conexiones SSE en http://0.0.0.0:3000/mcp .

Pruebas con MCP Inspector

# Start the MCP Inspector tool npm run inspector

La herramienta execute_command

La herramienta execute_command es la funcionalidad principal proporcionada por Terminal MCP Server, utilizada para ejecutar comandos en hosts locales o remotos.

Parámetros

ParámetroTipoRequeridoDescripción
dominiocadenaEl comando a ejecutar
anfitrióncadenaNoEl host remoto al que conectarse. Si no se proporciona, el comando se ejecutará localmente.
nombre de usuariocadenaObligatorio cuando se especifica el hostEl nombre de usuario para la conexión SSH
sesióncadenaNoNombre de sesión, predeterminado: "predeterminado". El mismo nombre de sesión reutilizará el mismo entorno de terminal durante 20 minutos.
entornoobjetoNoVariables de entorno, el valor predeterminado es un objeto vacío

Ejemplos

Ejecutar un comando localmente

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

Ejecución de un comando en un host remoto

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

Configuración con asistentes de IA

Configuración con código Roo

  1. Abra VSCode e instale la extensión Roo Code
  2. Abra el archivo de configuración de Roo Code: ~/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json
  3. Agregue la siguiente configuración:

Para el modo estándar (conexión local)

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

Para el modo SSE (conexión remota)

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

Reemplace localhost:8080/sse con su dirección de servidor, puerto y punto final reales si los ha personalizado.

Configuración con Cline

  1. Abra el archivo de configuración de Cline: ~/.cline/config.json
  2. Agregue la siguiente configuración:

Para el modo estándar (conexión local)

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

Para el modo SSE (conexión remota)

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

Configuración con Claude Desktop

  1. Abra el archivo de configuración de Claude Desktop: ~/Library/Application Support/Claude/claude_desktop_config.json
  2. Agregue la siguiente configuración:

Para el modo estándar (conexión local)

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

Para el modo SSE (conexión remota)

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

Mejores prácticas

Ejecución de comandos

  • Antes de ejecutar comandos, es mejor determinar el tipo de sistema (Mac, Linux, etc.)
  • Utilice rutas completas para evitar problemas relacionados con las rutas
  • Para las secuencias de comandos que necesitan mantener el entorno, utilice && para conectar varios comandos
  • Para comandos de larga ejecución, considere usar nohup o screen / tmux

Conexión SSH

  • Asegúrese de que la autenticación basada en clave SSH esté configurada
  • Si falla la conexión, verifique si existe el archivo de clave (ruta predeterminada: ~/.ssh/id_rsa )
  • Asegúrese de que el servicio SSH se esté ejecutando en el host remoto

Gestión de sesiones

  • Utilice el parámetro de sesión para mantener el entorno entre comandos relacionados
  • Para operaciones que requieren entornos específicos, utilice el mismo nombre de sesión
  • Tenga en cuenta que las sesiones se cerrarán automáticamente después de 20 minutos de inactividad.

Manejo de errores

  • Los resultados de la ejecución del comando incluyen tanto stdout como stderr
  • Verifique stderr para determinar si el comando se ejecutó correctamente
  • Para operaciones complejas, agregue pasos de verificación para garantizar el éxito

Notas importantes

  • Para la ejecución remota de comandos, se debe configurar previamente la autenticación basada en clave SSH
  • Para la ejecución de comandos locales, los comandos se ejecutarán en el contexto del usuario que inició el servidor.
  • El tiempo de espera de la sesión es de 20 minutos, después de los cuales la conexión se cerrará automáticamente.
-
security - not tested
F
license - not found
-
quality - not tested

Un servidor MCP que permite que los modelos de IA ejecuten comandos del sistema en máquinas locales o hosts remotos a través de SSH, admitiendo sesiones persistentes y variables de entorno.

  1. Features
    1. Installation
      1. Installing via Smithery
      2. Manual Installation
    2. Usage
      1. Starting the Server
      2. Starting the Server in SSE Mode
      3. Testing with MCP Inspector
    3. The execute_command Tool
      1. Parameters
      2. Examples
    4. Configuring with AI Assistants
      1. Configuring with Roo Code
      2. Configuring with Cline
      3. Configuring with Claude Desktop
    5. Best Practices
      1. Command Execution
      2. SSH Connection
      3. Session Management
      4. Error Handling
    6. Important Notes
      ID: wfkm7d2k2u