Skip to main content
Glama

Electron Terminal MCP Server

Электронный терминал MCP сервер

В идеальном мире поставщики предоставили бы собственную интеграцию MCP для терминала, но в то же время этот проект предоставляет сервер Model Context Protocol (MCP), который позволяет клиентам взаимодействовать с системным терминалом, работающим в приложении Electron. Он позволяет выполнять команды, управлять сеансами терминала и извлекать вывод программным способом.

Система состоит из двух основных частей:

  • MCP Server ( index.js ): скрипт Node.js, который прослушивает запросы MCP через стандартный ввод/вывод (stdio). Он использует @modelcontextprotocol/sdk и действует как мост к бэкенду Electron. Он автоматически запускает бэкенд Electron, если он еще не запущен. Он требует mcp-package.json для указания "type": "module" .
  • Electron Backend ( main.js ): Основной процесс для приложения Electron. Он запускает HTTP-сервер Express (по умолчанию порт 3000), с которым сервер MCP ( index.js ) взаимодействует для проверки работоспособности и вызовов API. Этот бэкенд управляет фактическими процессами терминала с помощью node-pty в скрытых экземплярах BrowserWindow , загружая terminal.html .

2. Скриншоты

Вот как выглядит взаимодействие с терминалом в таком клиенте, как Claude Desktop:

Окно рабочего стола Клода с выводом терминала: Окно рабочего стола Клода с выводом терминала

Окно индивидуального электронного терминала:Окно электронного терминала

3. Установка

  1. Предварительные условия: убедитесь, что у вас установлены Node.js и npm.
  2. Клонировать: Клонируйте репозиторий, если вы еще этого не сделали.
    git clone <your-repository-url> cd command-terminal-electron # Or your repository directory name
  3. Установка зависимостей: Установите модули Node для сервера MCP и приложения Electron.
    npm install
  4. Пересоберите собственные модули: пересоберите собственные модули (например, node-pty ) для Electron.
    node rebuild.js
    (Подробности см. rebuild.js )

3. Использование

  1. Запустите сервер MCP: запустите скрипт index.js с помощью Node.js. Он будет прослушивать команды MCP на stdio и автоматически попытается запустить бэкэнд-процесс Electron ( main.js ), если он еще не запущен и не прослушивает ожидаемый порт HTTP.
    node index.js
    Примечание: процесс Electron выполняется скрытно в фоновом режиме и автоматически (пере)запускается при необходимости и всегда будет использоваться повторно, если это возможно.
  2. Взаимодействие через MCP: Клиенты подключаются к процессу node index.js через stdio и используют команду use_mcp_tool . Имя сервера определено в index.js как "Electron Terminal".Доступные инструменты:
    • terminal_start : создает новый сеанс терминала и выполняет начальную команду.
      • Ввод: { "command": "string" }
      • Вывод: { "content": [...], "sessionId": "string" } GXP5
    • terminal_execute : выполняет команду в существующем сеансе.
      • Ввод: { "command": "string", "sessionId": "string" }
      • Вывод: { "content": [...] } (Идентификатор сеанса включен в текстовое содержимое) GXP6
    • terminal_get_output : извлекает накопленный вывод для сеанса.
      • Ввод: { "sessionId": "string" }
      • Вывод: { "content": [...] } GXP7
    • terminal_stop : завершает определенный процесс сеанса терминала.
      • Ввод: { "sessionId": "string" }
      • Вывод: { "content": [...] } GXP8
    • terminal_get_sessions : выводит список всех активных в данный момент сеансов, управляемых бэкэндом Electron.
      • Вход: {}
      • Вывод: { "content": [...] } (Контент содержит строку JSON активных сеансов) GXP9

5. Синергия с файловой системой MCP Server

Этот сервер Electron Terminal MCP работает очень эффективно в сочетании с сервером Filesystem MCP . Вы можете использовать сервер Filesystem для просмотра каталогов, чтения/записи файлов, а затем использовать этот терминальный сервер для выполнения команд в этих каталогах или связанных с этими файлами, предоставляя комплексный опыт удаленной разработки и взаимодействия, который работает без проблем вместе, например, с функцией поиска в Интернете, встроенной в claude desktop.

6. Требования

  • Node.js (рекомендуется версия 20 или более поздняя, я использую node 22)
  • нпм
  • Операционная система, совместимая с Electron (Windows, macOS, Linux)

7. Конфигурация

Конфигурация сервера Claude Desktop MCP

Расположение

Файл claude_desktop_config.json должен быть помещен в каталог AppData вашего пользователя:

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

Этот файл используется Claude Desktop для обнаружения и настройки внешних серверов MCP.

Цель и структура

Файл конфигурации определяет серверы MCP, которые Claude Desktop может запускать и подключать. Каждая запись сервера определяет, как запустить процесс сервера.

  • mcpServers : объект, где каждый ключ — это имя сервера, а значение — его конфигурация запуска.
  • Пример конфигурации сервера ( command-terminal ) :
    • command : исполняемый файл для запуска (например, node для серверов Node.js).
    • args : массив аргументов, передаваемых команде (например, путь к скрипту вашего сервера MCP).
Пример
{ "mcpServers": { "command-terminal": { "command": "node", "args": [ "C:\\Path\\to\\index.js" ] } } }
Пояснения к полям
  • mcpServers : объекты верхнего уровня, сопоставляющие имена серверов с их конфигурациями.
  • command-terminal : Пример имени сервера. Вы можете определить несколько серверов в этом объекте.
  • command : исполняемый файл, используемый для запуска сервера MCP.
  • args : Аргументы, передаваемые команде, например, путь к серверному скрипту.

8. Лицензия

Этот проект лицензирован по лицензии MIT. Подробности см. в файле LICENSE.

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.

Сервер Model Context Protocol, который позволяет клиентам взаимодействовать с системным терминалом, работающим в приложении Electron, что позволяет выполнять команды, управлять сеансами терминала и извлекать выходные данные программным путем.

  1. 2. Скриншоты
    1. 3. Установка
      1. 3. Использование
        1. 5. Синергия с файловой системой MCP Server
          1. 6. Требования
            1. 7. Конфигурация
              1. Конфигурация сервера Claude Desktop MCP
            2. 8. Лицензия

              Related MCP Servers

              • A
                security
                A
                license
                A
                quality
                A Model Context Protocol server that provides programmatic access to the Windows terminal, enabling AI models to interact with the Windows command line through standardized tools for writing commands, reading output, and sending control signals.
                Last updated -
                3
                JavaScript
                MIT License
              • -
                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 -
                3
                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
                667
                7
                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