serial-bridge-mcp
Serial Bridge
Serial Bridge — это Hub, который разделяет две последовательные консоли между локальным оператором и MCP-агентами. Он не привязан к конкретной ОС: установите пакеты Python из requirements.txt и запускайте на любом хосте с Python 3.10+. Hub находится в пакете serial_bridge/; запускается командой python -m serial_bridge или через корневой shim-файл app.py.
Установка и запуск
Рекомендуется Python 3.10 или новее.
python -m pip install -r requirements.txt
python -m serial_bridgeПримеры с shell-командами ниже используют PowerShell ($env:NAME = "..."). В bash или zsh задайте те же имена с помощью export NAME=....
Hub открывает ваш браузер на консоли по адресу http://127.0.0.1:8765/, как только начинает прослушивание. Корневой shim-файл app.py эквивалентен. Чтобы запустить без открытия вкладки браузера:
$env:SERIAL_BRIDGE_OPEN_UI = "off"
python -m serial_bridgeИли передайте --no-open-ui. Используйте --open-ui, чтобы принудительно открыть, когда окружение это отключает. Если SERIAL_BRIDGE_OPEN_UI не задан, открытие происходит по умолчанию; только 0, false, no и off (без учёта регистра) отключают его.
При первом запуске Hub автоматически генерирует Access Token в файл serial_bridge.token рядом с файлом конфигурации Port Binding (путь можно переопределить через SERIAL_BRIDGE_TOKEN_FILE). Не коммитьте файл с секретами.
Откройте Setup (http://127.0.0.1:8765/setup) на хосте Hub, чтобы скопировать URL Hub, посмотреть Access Token, ротировать его и вставить фрагмент mcpServers для Cursor. Секреты Setup (открытый текст токена, Rotate и фрагмент с секретом) видны только на loopback (127.0.0.1 / ::1).
В качестве альтернативы установите SERIAL_BRIDGE_TOKEN перед запуском Hub и передайте тот же секрет MCP-клиенту. Переменная окружения переопределяет файл секретов на время жизни процесса; Rotate по-прежнему перезаписывает файл, но предупреждает, пока переменная окружения не снята или Hub не перезапущен без неё.
Аутентификация MCP обязательна даже с loopback. Не помещайте токен в систему контроля версий, статические файлы фронтенда, URL или логи.
Hub прослушивает 0.0.0.0:8765, поэтому он доступен из локальной сети. Используйте соответствующий межсетевой экран хоста и надёжный токен. Удалённые агенты не могут менять режимы или Port Bindings.
Related MCP server: coserial
MCP
Используйте Setup (/setup) на хосте Hub для конфигурации Cursor копированием и вставкой. Ручная настройка:
Настройте потоковое HTTP MCP-подключение агента:
URL: http://<hub-host>:8765/mcp
Authorization: Bearer <SERIAL_BRIDGE_TOKEN>Используйте /mcp точно; веб-интерфейс находится на /. MCP-сервер предоставляет:
serial_status: чтение текущего режима и Port Binding каждого Target, состояния открытия и подсказки занятости.serial_exec: отправка одной текстовой команды и захват вывода до паузы бездействия, необязательного совпадения с prompt или 60-секундного тайм-аута.serial_send: отправка текстовой строки или Raw Payload без ожидания вывода.
Чтобы проверить статус и Exec:
Откройте веб-интерфейс локально и переключитесь в Bridge Mode.
Подключите MCP-клиент к указанному выше URL с заголовком Bearer.
Вызовите
serial_statusбез аргументов и подтвердите, чтоmodeравенbridge, а нужный Target открыт.Вызовите
serial_execс{"target":"linux","cmd":"uname -a"}или{"target":"rtos","cmd":"help"}.Если устройство имеет стабильный prompt, при необходимости передайте
prompt; установитеprompt_is_regexвtrueтолько если значение prompt является регулярным выражением.
Exec принимает имена Target linux и rtos, а не имена последовательных устройств. Он возвращает захваченный output плюс флаги timed_out, truncated и aborted.
Вывод Exec и транскрипты live/*.log — это обычный текст с удалёнными ANSI-escape-последовательностями. Веб-интерфейс вместо этого интерпретирует escape-последовательности и показывает цвета устройства.
Port Binding
Port Binding назначает Target пути к последовательному устройству и скорости в бодах. Встроенные значения по умолчанию — в стиле Windows (linux на COM3, rtos на COM6, оба 115200); в Linux или macOS задайте пути, например /dev/ttyUSB0.
Переопределите значения по умолчанию перед запуском с помощью переменных окружения:
$env:SERIAL_BRIDGE_LINUX_PORT = "COM8"
$env:SERIAL_BRIDGE_LINUX_BAUD = "57600"
$env:SERIAL_BRIDGE_RTOS_PORT = "COM9"
$env:SERIAL_BRIDGE_RTOS_BAUD = "115200"
python -m serial_bridgeЭквивалентные флаги CLI: --linux-port, --linux-baud, --rtos-port и --rtos-baud. SERIAL_BRIDGE_CONFIG или --config выбирает сохранённый JSON-файл. Порядок загрузки: встроенные значения по умолчанию, затем значения из окружения/CLI, затем сохранённый файл; сохранённые значения веб-интерфейса имеют приоритет.
Только Operator может редактировать Port Bindings, и только в CRT Mode, пока Hub освободил порты. Веб-интерфейс перечисляет обнаруженные последовательные порты в раскрывающемся списке для каждого Target; используйте Scan для повторного перечисления после подключения адаптера. Изменения, внесённые в веб-интерфейсе, сохраняются после перезапуска.
Live Directory
Live Directory — это каталог, в который Hub записывает журналы сеансов Bridge для каждого Target и bridge_status.json. По умолчанию это <app-dir>/live/ рядом с корнем проекта (та же директория, что и serial_bridge.json и корневой shim-файл app.py).
Переопределите перед запуском с помощью:
$env:SERIAL_BRIDGE_LIVE_DIR = "D:\logs\serial-bridge"
python -m serial_bridgeИли передайте --live-dir. Порядок загрузки совпадает с Port Binding: встроенное значение по умолчанию, затем окружение/CLI, затем сохранённый файл конфигурации; сохранённые значения веб-интерфейса имеют приоритет.
Каждый раз, когда Operator входит в Bridge Mode, Hub создаёт новые файлы журналов с именами <TargetName>-YYYY-MM-DD-HHMMSS.log (локальное время, 24-часовой формат). Второй сеанс Bridge создаёт новые файлы; старые журналы остаются на месте и не переносятся при изменении Live Directory или переименовании Target.
Изменить Live Directory в веб-интерфейсе можно только в панели Bindings в CRT Mode (тот же путь записи только через loopback, что и Port Binding). В нижнем колонтитуле отображается настроенный каталог и имена файлов журнала текущего сеанса, когда они назначены.
Bridge Mode и CRT Mode
Bridge Mode: Hub владеет настроенными последовательными портами. Operator и агенты могут отправлять команды и наблюдать одни и те же живые транскрипты.
CRT Mode: Hub освобождает порты для SecureCRT или другого эксклюзивного последовательного клиента. MCP Exec и Send завершаются ошибкой, пока Operator не вернётся в Bridge Mode.
Отключите SecureCRT перед входом в Bridge Mode. Переключение в CRT Mode прерывает выполняющийся Exec и может вернуть частичный вывод.
Предупреждение о Raw Send
serial_send с raw_hex записывает произвольные байты без обрамления текстовыми строками или автоматического перевода строки. Это полная мощность консоли: управляющие байты могут прервать загрузку, завершить процессы, изменить состояние устройства или сделать сеанс неотзывчивым. Предпочитайте serial_exec для команд и используйте Raw Payloads только когда точная последовательность байтов и влияние на устройство понятны.
This server cannot be deployed
Maintenance
Related MCP Connectors
Run and manage H Company's Computer-Use Agents from any MCP client.
Remote MCP server for Tandem docs, install guides, SDKs, workflows, and agent setup help.
Termalin's hosted MCP server. Claude, ChatGPT or any MCP client runs commands, moves files over SFTP, queries databases and reads server metrics and monitoring alerts on your servers, keylessly through Termalin Connectors: no SSH key is handed over and no inbound port is opened. Per-host command policy and an audit log. Needs a termal.in Pro or Team account (new accounts start with a 14-day Pro trial).
An authenticated remote MCP server for user-owned devices and one-shot capability invocation.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI agents to control serial port devices (modems, instruments, embedded boards) via MCP tools for listing ports, connecting, and sending/receiving commands.31MIT
- AlicenseNot gradedqualityDmaintenanceEnables humans and AI agents to collaboratively control serial ports via MCP tools or Web UI, with real-time data sharing across all participants.MIT
- AlicenseNot gradedqualityBmaintenanceEnables secure remote management of the platform through nine MCP tools over STDIO and HTTP, including terminal execution, service controls, and live status monitoring.284 npmMIT
- AlicenseAqualityCmaintenanceEnables local UART and serial-port debugging through MCP, providing persistent capture, log search, regex/event monitoring, HEX send/query, protocol parsing, and shell-like command sequences.15MIT