1c-mcp
MCP-клиент для 1С 8.3: метаданные, запросы, чтение документов и диагностика непроведения документа в транзакции с гарантированным откатом
Средний риск
Средний уровень ставим, когда инструмент запускает код, ходит в сеть или читает файлы проекта. Перед установкой посмотрите, что именно он делает.
Почему такой уровень
- Инструменты записи object_update и document_post при включении меняют реальные объекты и проводят документы
- Учетные данные пользователя базы хранятся в переменных окружения MCP клиента
Установка
Ручная установка
npm install
cp .env.example .env
npm run buildУстановка клиента, .env заполняется ONEC_URL, ONEC_USER, ONEC_PASSWORD после реализации HTTP-сервиса в расширении 1С.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Сервер это тонкий TypeScript-клиент, который обращается к HTTP-сервису mcp в вашем расширении конфигурации 1С. Инструменты покрывают чтение метаданных объектов, запросы на языке запросов 1С, чтение объектов по ссылке, список документов, движения регистров и, как главную функцию, диагностику проведения document_diagnose: расширение проверяет заполнение, пытается провести документ внутри транзакции, которая всегда откатывается, и возвращает текст ошибки, проблемный реквизит, данные документа, его метаданные и движения, которые он попытался бы сделать. Инструменты записи object_update и document_post регистрируются только при явном ONEC_ALLOW_WRITE=1, по умолчанию сервер read-only. Сам HTTP-сервис на стороне 1С нужно реализовать самостоятельно по фиксированному контракту, готового расширения в репозитории нет.
Для кого. Для 1С-разработчиков и аналитиков, которые хотят, чтобы агент сам разобрался, почему документ не проводится, вместо ручного разбора ошибки в Конфигураторе.
Подходит, если
- Нужно понять, почему конкретный документ не проводится, и получить точный текст ошибки и проблемное поле
- Нужны метаданные и данные базы агенту, но без риска что-то изменить по умолчанию
- Есть готовность реализовать HTTP-сервис расширения под контракт проекта
Не подходит, если
- Нет готовности писать собственное расширение с HTTP-сервисом: готового расширения проект не поставляет
- Нужна запись в базу без явного включения ONEC_ALLOW_WRITE=1
Пример запроса к агенту
Проведи диагностику документа Реализация 0001 от 01.01.2026 и объясни, почему он не проводитсяОграничения
Готового расширения 1С в репозитории нет: HTTP-сервис mcp нужно реализовать самому по описанному контракту, это отдельная работа на BSL. Требует публикации базы на веб-сервере с включенными HTTP-сервисами и отдельного пользователя для базовой авторизации. README сам называет бандл с исходниками расширения хорошей первой задачей для контрибьютора, то есть его еще нет.
Как отключить. Удалите запись 1c из конфигурации MCP клиента и отключите HTTP-сервис mcp в расширении базы.
MCP
- Транспорт
- stdio
- Авторизация
- API-ключ
| Переменные окружения | |
|---|---|
| ONEC_URL обязательная | Корень HTTP-сервиса расширения, например http://host/base/hs/mcp. |
| ONEC_USER обязательная | Пользователь 1С для Basic Auth. |
| ONEC_PASSWORD обязательная, секрет | Пароль пользователя 1С. |
| ONEC_ALLOW_WRITE | 1 регистрирует инструменты записи object_update и document_post, любое другое значение оставляет сервер read-only. |
Проверка безопасности
- Инструменты записи object_update и document_post при включении меняют реальные объекты и проводят документы
- Учетные данные пользователя базы хранятся в переменных окружения MCP клиента
Коротко о README
README объясняет мотивацию: большинство 1С-инструментов дают либо метаданные, либо данные, а вопрос «почему документ не проводится» требует обоих плюс запуск логики проведения. Подробно расписан механизм document_diagnose с примером кода BSL внутри транзакции с откатом, таблица из 11 инструментов, полный контракт HTTP-методов с request и response, чеклист настройки расширения и раздел безопасности: запись только по явному флагу, креды только из окружения. В списке идей для контрибьюторов отдельно значится бандл готового расширения. Лицензия MIT.
Частые вопросы
Меняет ли диагностика базу?
Нет, document_diagnose всегда откатывает транзакцию, поэтому у него нулевой побочный эффект на базу.
Как включить запись в базу?
Задать переменную окружения ONEC_ALLOW_WRITE=1, тогда регистрируются инструменты object_update и document_post.
Похожие
Набор скиллов, который задает агенту процесс разработки: уточнение задачи, план, TDD, субагенты и ревью кода
Скиллы Мэтта Покока для инженеров
Skills For Real Engineers
Небольшие компонуемые скиллы для инженерной работы с агентом: интервью по плану, TDD, диагностика багов, ревью и архитектура
Набор GitHub для разработки от спецификации: CLI specify ставит в проект команды и скиллы для агента, от принципов до реализации
Референсные MCP-серверы
Model Context Protocol servers
Официальные референсные MCP-серверы: Filesystem, Fetch, Git, Memory, Sequential Thinking, Time и Everything