Skip to main content
Glama

Electron Terminal MCP Server

Servidor MCP de Electron Terminal

En un mundo ideal, los proveedores proporcionarían su propia integración MCP para el terminal, pero mientras tanto, este proyecto proporciona un servidor de Protocolo de Contexto de Modelo (MCP) que permite a los clientes interactuar con un terminal del sistema que se ejecuta dentro de una aplicación Electron. Esto permite ejecutar comandos, gestionar sesiones de terminal y obtener resultados mediante programación.

El sistema consta de dos partes principales:

  • Servidor MCP ( index.js ): Un script de Node.js que recibe solicitudes MCP mediante la entrada/salida estándar (stdio). Utiliza @modelcontextprotocol/sdk y actúa como puente hacia el backend de Electron. Inicia automáticamente el backend de Electron si no está en ejecución. Requiere que mcp-package.json especifique "type": "module" .
  • Backend de Electron ( main.js ): El proceso principal de la aplicación Electron. Ejecuta un servidor HTTP Express (puerto 3000 predeterminado) con el que se comunica el servidor MCP ( index.js ) para realizar comprobaciones de estado y llamadas a la API. Este backend gestiona los procesos de terminal mediante node-pty dentro de instancias ocultas BrowserWindow que cargan terminal.html .

2. Capturas de pantalla

Así es como se ve la interacción del terminal dentro de un cliente como Claude Desktop:

Ventana del escritorio de Claude con salida de terminal: Ventana del escritorio de Claude con salida de terminal

Ventana terminal de electrones individuales:Ventana terminal de electrones

3. Instalación

  1. Requisitos previos: asegúrese de tener Node.js y npm instalados.
  2. Clonar: clona el repositorio si aún no lo has hecho.
    git clone <your-repository-url> cd command-terminal-electron # Or your repository directory name
  3. Instalar dependencias: instale módulos de Node tanto para el servidor MCP como para la aplicación Electron.
    npm install
  4. Reconstruir módulos nativos: reconstruya módulos nativos (como node-pty ) para Electron.
    node rebuild.js
    (Consulte rebuild.js para obtener más detalles)

3. Uso

  1. Iniciar el servidor MCP: Ejecute el script index.js con Node.js. Esto escuchará los comandos MCP en stdio e intentará iniciar automáticamente el proceso backend de Electron ( main.js ) si no se está ejecutando y escuchando en el puerto HTTP esperado.
    node index.js
    Nota: El proceso Electron se ejecuta oculto en segundo plano y se reinicia automáticamente cuando es necesario y siempre se reutilizará si es posible.
  2. Interacción mediante MCP: Los clientes se conectan al proceso node index.js mediante stdio y usan el comando use_mcp_tool . El nombre del servidor se define en index.js como "Electron Terminal".Herramientas disponibles:
    • terminal_start : crea una nueva sesión de terminal y ejecuta un comando inicial.
      • Entrada: { "command": "string" }
      • Salida: { "content": [...], "sessionId": "string" } GXP5
    • terminal_execute : ejecuta un comando en una sesión existente.
      • Entrada: { "command": "string", "sessionId": "string" }
      • Salida: { "content": [...] } (El ID de sesión se incluye en el contenido del texto) GXP6
    • terminal_get_output : recupera la salida acumulada de una sesión.
      • Entrada: { "sessionId": "string" }
      • Salida: { "content": [...] } GXP7
    • terminal_stop : finaliza un proceso de sesión de terminal específico.
      • Entrada: { "sessionId": "string" }
      • Salida: { "content": [...] } GXP8
    • terminal_get_sessions : enumera todas las sesiones actualmente activas administradas por el backend de Electron.
      • Aporte: {}
      • Salida: { "content": [...] } (El contenido contiene una cadena JSON de sesiones activas) GXP9

5. Sinergia con el servidor MCP del sistema de archivos

Este servidor MCP de Terminal Electron funciona de forma muy eficaz en conjunto con el Servidor MCP del Sistema de Archivos . Puede usar el servidor del Sistema de Archivos para explorar directorios, leer/escribir archivos y, a continuación, usar este servidor de terminal para ejecutar comandos dentro de esos directorios o relacionados con ellos, lo que proporciona una experiencia integral de desarrollo e interacción remota que se integra a la perfección, por ejemplo, con la función de búsqueda en internet integrada en Claude Desktop.

6. Requisitos

  • Node.js (se recomienda v20 o posterior, yo uso node 22)
  • npm
  • Sistema operativo compatible con Electron (Windows, macOS, Linux)

7. Configuración

Configuración del servidor MCP de Claude Desktop

Ubicación

El archivo claude_desktop_config.json debe ubicarse en el directorio AppData de su usuario:

  • Windows: C:\Users\<username>\AppData\Roaming\Claude\claude_desktop_config.json

Claude Desktop utiliza este archivo para descubrir y configurar servidores MCP externos.

Propósito y Estructura

El archivo de configuración define los servidores MCP que Claude Desktop puede iniciar y a los que puede conectarse. Cada entrada de servidor especifica cómo iniciar el proceso del servidor.

  • mcpServers : un objeto donde cada clave es un nombre de servidor y el valor es su configuración de lanzamiento.
  • Ejemplo de configuración del servidor ( command-terminal ) :
    • command : el ejecutable a ejecutar (por ejemplo, node para servidores Node.js).
    • args : una matriz de argumentos pasados al comando (por ejemplo, la ruta al script del servidor MCP).
Ejemplo
{ "mcpServers": { "command-terminal": { "command": "node", "args": [ "C:\\Path\\to\\index.js" ] } } }
Explicaciones de campo
  • mcpServers : mapeo de objetos de nivel superior de los nombres de servidores a sus configuraciones.
  • command-terminal : Ejemplo de nombre de servidor. Se pueden definir varios servidores en este objeto.
  • command : El ejecutable utilizado para iniciar el servidor MCP.
  • args : argumentos pasados al comando, como la ruta a la secuencia de comandos de su servidor.

8. Licencia

Este proyecto está licenciado bajo la Licencia MIT. Consulte el archivo de LICENCIA para más detalles.

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

local-only server

The server can only run on the client's local machine because it depends on local resources.

Un servidor de protocolo de contexto de modelo que permite a los clientes interactuar con una terminal del sistema que se ejecuta en una aplicación Electron, lo que permite ejecutar comandos, administrar sesiones de terminal y recuperar resultados mediante programación.

  1. Capturas de pantalla
    1. Instalación
      1. Uso
        1. Sinergia con el servidor MCP del sistema de archivos
          1. Requisitos
            1. Configuración
              1. Configuración del servidor MCP de Claude Desktop
            2. Licencia

              Related MCP Servers

              • -
                security
                F
                license
                -
                quality
                This server enables running a Model Context Protocol in a web browser with functionalities including arithmetic operations and session-based key-value storage.
                Last updated -
                2
                TypeScript
              • -
                security
                F
                license
                -
                quality
                A Model Context Protocol server that allows LLMs to execute shell commands and receive their output in a controlled manner.
                Last updated -
                Python
              • A
                security
                A
                license
                A
                quality
                A secure terminal execution server that enables controlled command execution with security features and resource limits via the Model Context Protocol (MCP).
                Last updated -
                1
                12
                1
                JavaScript
                MIT License
                • Apple
              • -
                security
                A
                license
                -
                quality
                A Model Context Protocol server that enables seamless execution of commands, Python code, web content fetching, and reusable task management with secure credentials handling.
                Last updated -
                2
                Python
                MIT License
                • Apple

              View all related MCP servers

              MCP directory API

              We provide all the information about MCP servers via our MCP API.

              curl -X GET 'https://glama.ai/api/mcp/v1/servers/nexon33/console-terminal-mcp-server'

              If you have feedback or need assistance with the MCP directory API, please join our Discord server