OpenImageDebugger MCP

MCP-сервер oid-mcp: агент видит буферы изображений в живой сессии gdb или lldb, читает значения и сохраняет их в .npy.

  • 251 ★ репозитория
  • Последний коммит
  • MIT
MCP-серверОфициальный

Расширенный доступ

Почему такой уровень

  • Открывает память отлаживаемой программы локальным процессам и пишет файлы `.npy` на диск.
Все причины и проверки

openimagedebugger/openimagedebugger

Установка

Ручная установка

claude mcp add oid -- uv run --directory /path/to/OpenImageDebugger/resources/oidmcp oid-mcp

Нужны собранный OpenImageDebugger и `OID_AGENT=1`.

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Открывает память отлаживаемой программы локальным процессам и пишет файлы `.npy` на диск.

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

OpenImageDebugger — плагин для gdb и lldb на Linux, с экспериментальной поддержкой macOS, который показывает изображения из памяти отлаживаемой программы. Пакет `oid-mcp` дает ИИ-агенту «глаза» на эти буферы: он перечисляет наблюдаемые символы в точке останова, выдает картинки и статистику, точные числа и сохраняет копии без потерь. Инструменты: `list_sessions`, `list_buffers`, `view` (рендер PNG с областью масштаба), `stats` (минимум, максимум, среднее и отклонение по каналам, число NaN и Inf), `values` (точные значения до 1024 за вызов), `dump` (копия `.npy` в каталог пользователя), `plot` (зеркало в окне для человека), `set_view` и `get_view`. Работает пара: конечная точка внутри отладчика стартует при `OID_AGENT=1` и пишет файл обнаружения с портом и случайным токеном, а `oid-mcp` читает его и делает тяжелую работу вне хрупкого процесса отладчика.

Для кого. Разработчикам на C++ и компьютерного зрения, которые отлаживают изображения и матрицы в gdb или lldb и хотят, чтобы агент смотрел на них сам.

Подходит, если

  • На точке останова агент перечисляет буферы и показывает картинку с нужной областью.
  • Нужно проверить, есть ли в канале значения NaN и Inf и каков их диапазон.
  • Точные пиксели из области 8 на 8 читаются числами для сравнения с ожиданием.
  • Буфер сохраняется в `.npy` для анализа в Python.

Не подходит, если

  • Отладчик без встроенного Python или без установленного OpenImageDebugger.
  • Отладка идет на общем сервере, где нельзя открывать память программы локальным процессам.
  • Нужна стабильная работа: функция экспериментальная и может измениться.

Пример запроса к агенту

На точке останова покажи буфер image, найди в нем NaN и сохрани его в npy для анализа.

MCP

Транспорт
stdio
Авторизация
не нужна

Переменные окружения

OID_AGENT обязательная
Значение 1 включает конечную точку агента в отладчике.
OID_MCP_MAX_BYTES
Предел передачи одного буфера.

Ограничения

Функция экспериментальная: протокол и набор инструментов могут измениться без предупреждения. Она включается переменной `OID_AGENT=1` и открывает память отлаживаемой программы локальным процессам, поэтому используйте ее только в доверенной локальной разработке. Нужны собранный OpenImageDebugger с `oid.py`, gdb или Homebrew lldb на macOS и `uv`. Если процесс отладчика выполняется, буфер недоступен: остановитесь на точке останова. Лимит передачи буфера меняет `OID_MCP_MAX_BYTES`.

Как отключить. Уберите `OID_AGENT=1` из окружения отладчика и удалите запись oid из MCP-конфигурации. Файлы обнаружения лежат в приватном каталоге пользователя и перезаписываются при новых сессиях.

Частые вопросы

Как подключить oid-mcp к Claude Code?

Выполните `claude mcp add oid -- uv run --directory /path/to/OpenImageDebugger/resources/oidmcp oid-mcp`. Для Cursor добавьте ту же запись в `mcp.json` с абсолютным путем к `uv`, потому что GUI-редакторы не наследуют PATH.

Как сервер находит сессию отладчика?

Конечная точка в отладчике пишет файл обнаружения с хостом, портом и токеном в приватный каталог. `oid-mcp` читает тот же каталог, поэтому оба процесса должны видеть его.

Что делает инструмент `dump`?

Сохраняет буфер без потерь как `.npy` в каталог дампов пользователя. Параметр `path` задает имя файла внутри каталога, перезапись требует `overwrite`.

Почему приходит ответ про работающую отлаживаемую программу?

Буферы читаются только на остановке. Остановитесь на точке останова или сделайте шаг и повторите вызов.

Что делать, если буфер слишком большой?

Поднимите `OID_MCP_MAX_BYTES`, если приемлем больший объем передачи, либо запросите меньшую область через `region`.

Обсуждение

Вопросов и отзывов пока нет.

MCP-серверы

MCP-сервер отладчика: агент ставит точки останова, шагает по коду и читает переменные живой программы через DAP.

MCP-серверШирокий доступ107Звезды репозитория

Прозрачный прокси между ИИ-клиентом и MCP-сервером: показывает каждый кадр JSON-RPC в терминале, проверяет запись в CI и экспортирует спаны

CLIШирокий доступ368Звезды репозитория

Отладчик без среды разработки: агент ставит точки останова, шагает по коду и смотрит переменные в десяти языках

MCP-серверШирокий доступ188Звезды репозитория

MCP-сервер отладчика Node.js: агент ставит точки останова, идет по шагам, смотрит переменные и вычисляет выражения в паузе

MCP-серверШирокий доступ350Звезды репозитория
Официальный

Консольный отладчик MCP-серверов от Giant Swarm: REPL для инструментов, OAuth 2.1 и режим MCP-сервера для Cursor

CLIРасширенный доступ38Звезды репозитория

MCP Server for WinDbg

MCP Server for WinDbg Crash Analysis

MCP-сервер, который отдает агенту отладчики Windows: разбор аварийных дампов, удаленная и ядерная отладка на естественном языке

MCP-серверРасширенный доступ1,7 тыс.Звезды репозитория

Коротко о README

Пакет `oid-mcp` лежит в `resources/oidmcp` репозитория OpenImageDebugger и ставится через `uv`. Описание содержит разделы про развертывание, инструменты и решение неполадок.

Бейдж для README

Сообщить о проблеме