dbgprobe-mcp-server — MCP-сервер для Claude Code: установка и запуск
Связывает ИИ-агентов с аппаратными отладчиками по протоколу MCP. Позволяет прошивать микроконтроллеры, читать память и управлять остановками прямо в чате.
claude mcp add --env DBGPROBE_BACKEND=<DBGPROBE_BACKEND> --env DBGPROBE_MCP_LOG_LEVEL=<DBGPROBE_MCP_LOG_LEVEL> --env DBGPROBE_JLINK_PATH=<DBGPROBE_JLINK_PATH> --env DBGPROBE_JLINK_GDBSERVER_PATH=<DBGPROBE_JLINK_GDBSERVER_PATH> --env DBGPROBE_JLINK_DEVICE=<DBGPROBE_JLINK_DEVICE> --transport stdio dbgprobe-mcp-server -- uvx dbgprobe-mcp-serverЧто делает dbgprobe-mcp-server
Сервер работает через стандартный ввод-вывод stdio и переводит команды агента в вызовы отладчика. Сейчас работают программаторы SEGGER J-Link. Агент получает инструменты с префиксом dbgprobe.* для управления питанием платы, сброса, пошаговой трассировки и установки точек останова. Интеграции с OpenOCD и pyOCD запланированы автором на будущее.
Помимо прямого чтения памяти, сервер разбирает файлы ELF для сопоставления адресов с именами функций и переменных. Поддерживается загрузка файлов SVD с описанием периферии. Это даёт модели возможность обращаться к регистрам по их именам из документации и перехватывать потоковые логи RTT.
Без установленного пакета SEGGER J-Link Software Pack сервер работать не сможет, так как ему требуется исполняемый файл JLinkExe. Для редактора Cursor понадобится задать разделитель инструментов через переменную окружения DBGPROBE_MCP_TOOL_SEPARATOR=_, иначе среда отклонит имена с точками.
Какие задачи решает
- прошить скомпилированную прошивку в микроконтроллер
- прочитать содержимое оперативной памяти и регистров периферии
- сопоставить адреса с именами функций через загрузку ELF-файла
- настроить вывод логов через RTT прямо в диалог с агентом
Примеры запросов агенту
- Найди подключённые программаторы J-Link и выведи их список.
- Прошей файл
build/app.binв микроконтроллер и перезапусти чип. - Подключи файл
stm32f4.svdи покажи значение регистров таймера TIM1.
Как установить dbgprobe-mcp-server
Командой платформы
claude mcp add --env DBGPROBE_BACKEND=<DBGPROBE_BACKEND> --env DBGPROBE_MCP_LOG_LEVEL=<DBGPROBE_MCP_LOG_LEVEL> --env DBGPROBE_JLINK_PATH=<DBGPROBE_JLINK_PATH> --env DBGPROBE_JLINK_GDBSERVER_PATH=<DBGPROBE_JLINK_GDBSERVER_PATH> --env DBGPROBE_JLINK_DEVICE=<DBGPROBE_JLINK_DEVICE> --transport stdio dbgprobe-mcp-server -- uvx dbgprobe-mcp-serverВместо <…> подставьте свои значения. Ещё 4 переменные окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from dbgprobe-mcp-server <команда>
Командой платформы
codex mcp add dbgprobe-mcp-server --env DBGPROBE_BACKEND=<DBGPROBE_BACKEND> --env DBGPROBE_MCP_LOG_LEVEL=<DBGPROBE_MCP_LOG_LEVEL> --env DBGPROBE_JLINK_PATH=<DBGPROBE_JLINK_PATH> --env DBGPROBE_JLINK_GDBSERVER_PATH=<DBGPROBE_JLINK_GDBSERVER_PATH> --env DBGPROBE_JLINK_DEVICE=<DBGPROBE_JLINK_DEVICE> -- uvx dbgprobe-mcp-serverВместо <…> подставьте свои значения. Ещё 4 переменные окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from dbgprobe-mcp-server <команда>
Файл настроек
{
"mcpServers": {
"dbgprobe-mcp-server": {
"command": "uvx",
"args": [
"dbgprobe-mcp-server"
],
"env": {
"DBGPROBE_BACKEND": "<DBGPROBE_BACKEND>",
"DBGPROBE_MCP_LOG_LEVEL": "<DBGPROBE_MCP_LOG_LEVEL>",
"DBGPROBE_JLINK_PATH": "<DBGPROBE_JLINK_PATH>",
"DBGPROBE_JLINK_GDBSERVER_PATH": "<DBGPROBE_JLINK_GDBSERVER_PATH>",
"DBGPROBE_JLINK_DEVICE": "<DBGPROBE_JLINK_DEVICE>"
}
}
}
}Вместо <…> подставьте свои значения. Ещё 4 переменные окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from dbgprobe-mcp-server <команда>
Файл настроек
{
"servers": {
"dbgprobe-mcp-server": {
"type": "stdio",
"command": "uvx",
"args": [
"dbgprobe-mcp-server"
],
"env": {
"DBGPROBE_BACKEND": "<DBGPROBE_BACKEND>",
"DBGPROBE_MCP_LOG_LEVEL": "<DBGPROBE_MCP_LOG_LEVEL>",
"DBGPROBE_JLINK_PATH": "<DBGPROBE_JLINK_PATH>",
"DBGPROBE_JLINK_GDBSERVER_PATH": "<DBGPROBE_JLINK_GDBSERVER_PATH>",
"DBGPROBE_JLINK_DEVICE": "<DBGPROBE_JLINK_DEVICE>"
}
}
}
}Вместо <…> подставьте свои значения. Ещё 4 переменные окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from dbgprobe-mcp-server <команда>
Командой платформы
gemini mcp add -e DBGPROBE_BACKEND=<DBGPROBE_BACKEND> -e DBGPROBE_MCP_LOG_LEVEL=<DBGPROBE_MCP_LOG_LEVEL> -e DBGPROBE_JLINK_PATH=<DBGPROBE_JLINK_PATH> -e DBGPROBE_JLINK_GDBSERVER_PATH=<DBGPROBE_JLINK_GDBSERVER_PATH> -e DBGPROBE_JLINK_DEVICE=<DBGPROBE_JLINK_DEVICE> dbgprobe-mcp-server uvx dbgprobe-mcp-serverВместо <…> подставьте свои значения. Ещё 4 переменные окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from dbgprobe-mcp-server <команда>
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о dbgprobe-mcp-server
Как установить dbgprobe-mcp-server в Claude Code?
Выполните команду claude mcp add dbgprobe-mcp-server -- uvx dbgprobe-mcp-server. Для передачи параметров отладчика или путей к бинарникам добавьте флаги --env, например --env DBGPROBE_JLINK_PATH=<DBGPROBE_JLINK_PATH>.
Какие отладчики поддерживаются сервером?
На текущий момент реализована работа с зондами SEGGER J-Link (EDU, PLUS, PRO). Поддержка OpenOCD и pyOCD заявлена в планах.
Что требуется для работы сервера на компьютере?
Нужен интерпретатор Python 3.11 или новее и установленный пакет утилит SEGGER J-Link с доступным бинарником JLinkExe. Путь к нему можно передать напрямую через переменную DBGPROBE_JLINK_PATH.