OpenImageDebugger MCP
MCP-сервер oid-mcp: агент видит буферы изображений в живой сессии gdb или lldb, читает значения и сохраняет их в .npy.
- 251 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Открывает память отлаживаемой программы локальным процессам и пишет файлы `.npy` на диск.
Установка
- Работает в
Ручная установка
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-сервером: показывает каждый кадр JSON-RPC в терминале, проверяет запись в CI и экспортирует спаны
Отладчик без среды разработки: агент ставит точки останова, шагает по коду и смотрит переменные в десяти языках
MCP-сервер отладчика Node.js: агент ставит точки останова, идет по шагам, смотрит переменные и вычисляет выражения в паузе
Консольный отладчик MCP-серверов от Giant Swarm: REPL для инструментов, OAuth 2.1 и режим MCP-сервера для Cursor
MCP Server for WinDbg
MCP Server for WinDbg Crash Analysis
MCP-сервер, который отдает агенту отладчики Windows: разбор аварийных дампов, удаленная и ядерная отладка на естественном языке
Коротко о README
Пакет `oid-mcp` лежит в `resources/oidmcp` репозитория OpenImageDebugger и ставится через `uv`. Описание содержит разделы про развертывание, инструменты и решение неполадок.