Перейти к содержимому
EDT-Bridge
Русский
Esc
↑↓navigate↵open⌘Jpreview
На этой странице

Быстрый старт

От нуля до работающего моста: установка через pipx, подключение к Claude Code, проверка, обновление.

EDT-Bridge даёт ИИ-агенту – Claude Code и другим MCP-клиентам – доступ к живой модели 1C:EDT. Это чтение метаданных и BSL, проверка запросов и Синтакс-помощник платформы, а вместе с ними и запись: создание объектов и расширений, рефакторинг, сборка .epf и .erf, обновление информационных баз. Всё это делает штатный движок EDT.

Мост состоит из двух частей:

  • плагин 1C:EDT – jar в dropins/, который поднимает MCP-сервер внутри EDT на http://127.0.0.1:8770/mcp;
  • обвязка edt-bridge-mcp на Python, ставится через pipx. Это тот stdio MCP-сервер, с которым разговаривает клиент. Она пробрасывает запросы в EDT, поднимает headless EDT, если ни одна не открыта, и сама доставляет jar плагина, если его нет.

Требования

  • Установленная 1C:EDT. Обвязка сама поднимет её в headless, либо держите открытой EDT с интерфейсом и вашим проектом.
  • Python 3.10+ и pipx. Если pipx нет, смотрите ниже.
  • Установленная платформа 1С:Предприятие, совместимая с версией проекта. Она нужна только для сборки .epf и .erf и для обновления информационных баз.

Установка (обычная – через pipx)

pipx install edt-bridge-mcp

Если pipx нет:

python -m pip install --user pipx
python -m pipx ensurepath      # затем переоткрыть терминал

macOS: brew install pipx && pipx ensurepath.

Подключение к Claude Code

claude mcp add edt-bridge -- edt-bridge-mcp --workspace "D:\\путь\\к\\workspace-EDT"

--workspace – это папка рабочей области EDT, та, где лежит .metadata. Её обвязка поднимет в headless, если EDT не запущена. Если EDT с интерфейсом уже открыта и плагин в ней есть, обвязка просто подключится.

Задайте токен, чтобы инструменты записи – создание, рефакторинг, сборка – делали больше, чем возвращали план:

claude mcp add edt-bridge --env EDT_BRIDGE_TOKEN=<любая-строка> -- \
  edt-bridge-mcp --workspace "D:\\путь\\к\\workspace-EDT"

Проверка

В сессии Claude Code попросите список проектов или справку по API. “Покажи открытые проекты EDT” уходит в edt_projects, “найди в Синтакс-помощнике ТаблицаЗначений.Добавить” – в edt_platform_help. Первый вызов может идти несколько минут, пока обвязка поднимает headless EDT и грузит модель. Дальше ответ приходит мгновенно.

Проверить сервер руками, когда EDT уже поднята, с интерфейсом или без:

curl -s http://127.0.0.1:8770/status

По адресу http://127.0.0.1:8770/ в браузере открывается страница состояния, и там же запускается любой инструмент.

Обновление

edt-bridge-mcp self-update             # обновить и jar плагина (GitHub Releases), и обвязку (PyPI)
edt-bridge-mcp self-update --jar-only  # только jar

Старые jar в dropins/ при этом сносятся: два jar заставили бы EDT загрузить произвольный. Запущенная EDT держит старый код до перезапуска.

Установка вручную (без обвязки)

Если хотите запускать плагин сами, возьмите jar со страницы Releases, положите один в dropins/ EDT и перезапустите EDT. Сервер поднимется на 8770 или на следующем свободном порту. Клиент можно подключить напрямую по HTTP: { "edt-bridge": { "type": "http", "url": "http://127.0.0.1:8770/mcp" } }. Подробности и сборка из исходников – в README.ru.md.

Если что-то не так

  • Клиент не видит инструменты сразу после старта. Обвязка поднимает headless EDT в фоне. Список инструментов появится, когда модель загрузится и придёт tools/list_changed.
  • “a GUI EDT is running”. Открыта EDT с интерфейсом, но без плагина, и обвязка её не трогает: рабочую область держит она. jar обвязка всё равно доставит в dropins/, так что перезапустите эту EDT, чтобы активировать мост, либо закройте её.
  • Порт 8770 занят. Плагин берёт следующий свободный, а обвязка находит его перебором. Порт можно задать и явно, через EDT_BRIDGE_PORT.
  • Инструмент записи отказывает: “requires a configured token”. Задайте EDT_BRIDGE_TOKEN, как показано выше.
  • edt_dump_external_object не собирает. Ему нужна установленная платформа 1С:Предприятие, совместимая с версией проекта.

Эта страница была полезной?