# dbgprobe-mcp-server

Связывает ИИ-агентов с аппаратными отладчиками по протоколу MCP. Позволяет прошивать микроконтроллеры, читать память и управлять остановками прямо в чате.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 10
- Автор: es617
- Лицензия: MIT · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/es617/dbgprobe-mcp-server
- Обновлён: 2026-03-14
- HTML: https://affpapa.org/nevibecode/mcp/dbgprobe-mcp-server

## Что делает

Сервер работает через стандартный ввод-вывод `stdio` и переводит команды агента в вызовы отладчика. Сейчас работают программаторы SEGGER J-Link. Агент получает инструменты с префиксом `dbgprobe.*` для управления питанием платы, сброса, пошаговой трассировки и установки точек останова. Интеграции с OpenOCD и pyOCD запланированы автором на будущее.

Помимо прямого чтения памяти, сервер разбирает файлы ELF для сопоставления адресов с именами функций и переменных. Поддерживается загрузка файлов SVD с описанием периферии. Это даёт модели возможность обращаться к регистрам по их именам из документации и перехватывать потоковые логи RTT.

Без установленного пакета SEGGER J-Link Software Pack сервер работать не сможет, так как ему требуется исполняемый файл `JLinkExe`. Для редактора Cursor понадобится задать разделитель инструментов через переменную окружения `DBGPROBE_MCP_TOOL_SEPARATOR=_`, иначе среда отклонит имена с точками.

## Требования
- Нужно: Python и uv (команды через uvx)
- Переменные окружения: `DBGPROBE_BACKEND`, `DBGPROBE_MCP_LOG_LEVEL`, `DBGPROBE_JLINK_PATH`, `DBGPROBE_JLINK_GDBSERVER_PATH`, `DBGPROBE_JLINK_DEVICE`, `DBGPROBE_INTERFACE`, `DBGPROBE_SPEED_KHZ`, `DBGPROBE_MCP_PLUGINS`, `DBGPROBE_MCP_TOOL_SEPARATOR` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
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

**Командой платформы**
```bash
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 <команда>

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "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 <команда>

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "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 CLI

**Командой платформы**
```bash
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 <команда>

## Когда брать
- прошить скомпилированную прошивку в микроконтроллер
- прочитать содержимое оперативной памяти и регистров периферии
- сопоставить адреса с именами функций через загрузку ELF-файла
- настроить вывод логов через RTT прямо в диалог с агентом

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
