ai-edt
MCP-сервер внутри 1C:EDT: дает AI-агентам семантический доступ к проекту - код BSL, метаданные, валидация и живая отладка
Install / Use
claude mcp add Desko77 -- npx -y github:Desko77/ai-edtIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
Development & EngineeringSupported Platforms
Tags
Skill content
View source on GitHubДайте AI-ассистенту структурированный доступ к проекту 1С через службы запущенного экземпляра EDT.
Быстрый старт · Возможности · Архитектура · Участие в разработке
</div>AI-EDT - MCP-сервер в виде плагина, работающего внутри запущенного экземпляра 1C:EDT. Он позволяет Claude, Cursor, GitHub Copilot и другим MCP-клиентам исследовать и изменять метаданные и BSL, переходить по семантическим ссылкам, управлять отладчиком, проверять проекты и работать с подключенной информационной базой.
Вместо того чтобы воспринимать рабочее пространство EDT как каталог XML- и BSL-файлов, ассистент использует семантическую модель, индексы, валидаторы и службы отладки самой EDT.
[!IMPORTANT] Текущая версия работает на 1C:EDT 2026.2 и 2026.1. Сборка идет против 2026.1, поэтому один артефакт ставится на обе. Плагин работает везде, где работает EDT; на Windows рассчитаны только описанные ниже скрипты сборки и установки.
🎯 Зачем нужен AI-EDT
Ассистент с доступом только к тексту может искать по файлам, но не способен надежно отвечать на вопросы, зависящие от модели IDE:
- На какой объект метаданных указывает эта ссылка?
- Какие формы, роли и подсистемы зависят от справочника?
- Какой тип EDT вывела в этой позиции BSL?
- Почему валидатор проекта отклоняет объект?
- Что происходит в приостановленной отладочной сессии 1С?
- Можно ли применить изменение метаданных без ручного редактирования XML EDT?
- Соберется ли этот запрос именно на этой конфигурации - есть ли в ней такие таблицы и поля?
- Что скажет о новом коде валидатор EDT, а не текстовый линтер со стороны?
- Откроется ли эта форма у пользователя или развалится при загрузке конфигурации в базу?
- Соберется ли схема компоновки так, чтобы отчет заработал, а не просто существовал в файле?
AI-EDT дает для этого специализированные MCP-инструменты - те же службы, которыми пользуется сама среда. Ассистент не просто пишет BSL, запрос, форму, схему компоновки или объект метаданных: он тут же проверяет результат валидаторами EDT, поэтому ошибка всплывает на месте, а не в тот момент, когда конфигурацию впервые загружают в информационную базу. Меньше гадания, меньше хрупких текстовых правок, и вся работа идет в той же модели, которую видит разработчик в IDE.
⚡ Что можно делать
| Сценарий | Что может сделать ассистент |
|---|---|
| 🔍 Исследовать код и метаданные | Искать по BSL, разрешать символы, находить семантические ссылки, строить иерархии вызовов, получать список модулей и структуру объектов. |
| 🏗️ Создавать и изменять метаданные | Создавать справочники, документы, регистры, формы, роли, команды, сервисы и другие объекты через edit_metadata, включая предпросмотр и пакетные операции. |
| 🐞 Отлаживать BSL | Запускать или подключать отладочную сессию, ставить обычные и exception breakpoints, смотреть переменные, вычислять выражения, выполнять шаги и собирать профилирование. |
| 🩺 Диагностировать конфигурацию | Получать проблемы EDT, перевалидировать объекты, исследовать граф зависимостей, находить антипаттерны запросов и оценивать влияние изменений. |
| 🧱 Собирать сложные артефакты | Работать со СКД, MXL, XDTO, расширениями, внешними объектами и внешними источниками данных через специализированные мастерские. |
| 🧪 Тестировать и исследовать данные | Запускать и отлаживать тесты YAxUnit, выполнять сценарии Vanessa Automation и исследовать состояние исполнения в приостановленной сессии отладки. |
| 🛡️ Проверять границы доступа | Аудировать роли и RLS, искать потенциально чувствительные данные в коде и метаданных, отключать записывающие инструменты пресетами. |
| 📦 Забирать поставку одним файлом | Импортировать конфигурацию или расширение из .cf и .cfe прямо в проект - последний сценарий, ради которого приходилось открывать Конфигуратор. |
| 🔀 Обновлять конфигурацию на поддержке | Сравнить проект с новой поставкой и с общим предком, принять решения по объектам или по отдельным методам, применить обновление с сохранением доработок. Читать реестр поддержки поставщика и записывать режимы объектов в файл перед объединением. |
| 🧯 Проверить расширение до обновления | Получить список объектов расширения, которые после новой поставки перестанут применяться, с причиной по каждому: изменившаяся сигнатура перехватываемого метода, исчезнувшая цель, несовпадение заимствованного объекта. |
| 👀 Видеть, что делал агент | Открыть историю вызовов из строки состояния: что вызывалось, с какими аргументами и что ответило. |
| 📜 Смотреть, что было в базе | Читать журнал регистрации файловой информационной базы: входы, проведения, обновления конфигурации, ошибки платформы - с отбором по времени, событию, пользователю и важности. |
| 🧭 Не путать запущенные EDT | Сервер называет рабочую область, в которой запущен, а self_status перечисляет живые экземпляры на машине с портами и открытыми проектами. |
Сервер предоставляет более ста операций. Родственные действия объединены фасадами code_search, edit_metadata, launch_debugger, diagnostics, insights и security_audit, поэтому MCP-клиент видит компактный набор инструментов вместо длинного списка почти одинаковых команд.
🧮 Метаданные, запросы и формы - там, где текстовый ассистент ломается чаще всего
Метаданные создаются по описанию, а не правкой XML. Разработчику достаточно сказать, что нужно: справочник с такими-то реквизитами, документ с движениями, форма списка к нему. Ассистент раскладывает это в план операций edit_metadata и выполняет его одним пакетом, а не десятком разрозненных вызовов. Любой шаг заранее прогоняется с dryRun=true и показывает, что именно будет затронуто; удаление и прочие деструктивные операции требуют отдельного подтверждения. Изменения идут через модель EDT, а не текстом по .mdo, и сразу после применения объекты перевалидируются, так что ошибка видна на месте, а не при первой загрузке в информационную базу.
Запрос проверяется до того, как его кто-то запустит. validate_query разбирает текст в контексте проекта и возвращает синтаксические и семантические ошибки с номерами строк, отдельно для обычных запросов и для запросов СКД. Вместе с ними приходит список подсказок на типовые промахи: слова SQL вместо языка запросов 1С, УБЫВАНИЕ вместо УБЫВ. Ассистенту не нужно запускать конфигурацию, чтобы выяснить, что запрос не соберется.
И что этот запрос вернет - тоже. С describeResult=true тот же инструмент сообщает колонки каждого результата и их типы, взятые из модели конструктора запросов EDT, а не вычитанные из текста. Пакет разбирается целиком: временные таблицы не выдаются за результат, но занимают свою позицию в ВыполнитьПакет(), поэтому индексы совпадают с реальными. Тип, который определить нельзя, не указывается вовсе - уверенная неправда обошлась бы дороже честного пробела. Ассистент перестает угадывать имена колонок, а с ними уходит целый класс ошибок, которые иначе доживают до рантайма.
Форму собирает генератор EDT, а не ассистент. Достаточно описать, какая форма нужна: create_form принимает назначение - форма объекта, форма списка, форма выбора, русские синонимы тоже принимаются, - и форму строит тот же генератор, которым пользуется мастер IDE, с основным реквизитом и рабочей раскладкой. Дальше она правится по частям: реквизиты и колонки, поля, таблицы динамических списков, команды, обработчики событий, параметры, командный интерфейс, функциональные опции. Результат читается через get_form_structure - он же отдает настройки компоновки каждого динамического списка формы: порядок, отбор, группировки и условное оформление - и просматривается глазами через get_form_screenshot - в редакторе, а через vanessa с доводом formToOpen еще и в работающей 1С, где форму открывает сценарий и снимает такой, какой ее видит пользователь, - а validate_for_export ловит дефекты формы, которые проходят валидацию EDT и проявляются только при загрузке в информационную базу; ту же проверку update_database выполняет сам и отказывает на находке, не доводя дело до платформы.
🔄 Типичный цикл работы агента
flowchart TD
Q["Разработчик описывает задачу"] --> S["AI исследует модель EDT:<br/>код, метаданные, зависимости"]
S --> P["Показывает предлагаемые изменения"]
P --> E["Изменяет BSL или метаданные"]
E --> V["Запускает валидацию EDT и тесты"]
V --> D{"Найдена проблема?"}
D -- Да --> B["Отлаживает сессию 1С"]
B --> E
D -- Нет --> R["Возвращает проверенный результат"]
🧩 Как это работает
flowchart TD
subgraph Client["MCP-клиент"]
AI["Claude · Cursor · Copilot · Cline"]
end
subgraph Plugin["Плагин AI-EDT · внутри процесса EDT"]
direction LR
HTTP["MCP endpoint<br/>Streamable HTTP + SSE"] --> GATE["Политика доступа<br/>пресеты и разрешения"] --> TOOLS["Фасады<br/>и мастерские"]
end
subgraph EDT["Службы 1C:EDT"]
direction LR
BM["Семантическая<br/>модель"]
AST["Парсер BSL"]
CHECKS["Валидация"]
DEBUG["Отладчик"]
end
subgraph Runtime["1С:Предприятие"]
APP["Клиент · сервер · задания · тесты"]
end
AI <-->|"JSON-RPC · localhost:12250"| HTTP
TOOLS --> BM
TOOLS --> AST
TOOLS --> CHECKS
TOOLS --> DEBUG
DEBUG <--> APP
По умолчанию сервер доступен по адресу http://localhost:12250/mcp. Плагин не является отдельным headless-сервером: EDT должна быть запущена, а целевой проект - загружен. Благодаря этому инструментам доступны разрешенные ссылки, выведенные типы, текущие маркеры валидации и состояние живой отладки.
🚀 Быстрый старт
📋 1. Требования
- 1C:EDT
- 2026.2
- 2026.1
- Java / JDK
- 25 - для 1C:EDT 2026.2
- 17 - для 1C:EDT 2026.1
- Maven 3.9+ для сборки из исходников
- MCP-совместимый клиент
- ОС - любая, где работает 1C:EDT. Плагин собирается и полностью прогоняет тесты на Linux в CI. Windows нужна только вспомогательным скриптам
build.cmdиscripts/edt-selfupdate.ps1, а команды установки ниже записаны для PowerShell; сама установка через p2 director от ОС не зависит
Для дополнительных возможностей потребуются YAxUnit, Vanessa Automation или конфигурация Attach. Подробнее - в разделе Дополнительные интеграции.
🔨 2. Сборка
В корне репозитория выполните:
build.cmd [EDT_INSTALL_DIR]
Альтернативный вариант - собрать Maven-реактор напрямую:
cd mcp
mvn clean verify
Truncated for display — read the full file on GitHub.
Related Skills
Agent-Reach
78.4kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
ruflo
70.9k🌊 The original agent meta-harness. Deploy intelligent multi-player swarms, coordinate autonomous workflows, and build conversational AI systems. Features adaptive memory, self-learning intelligence, RAG integration, and native Claude Code / Codex / Hermes and many more Integrated
headroom
69.1kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
CowAgent
46.8kOpen-source super AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-model, multi-channel. Lightweight, extensible, one-line install. (formerly chatgpt-on-wechat)
