Разбор способа, при котором в конфигурацию ничего не ставится: агент работает через интерфейс OData, который платформа публикует сама.
Данные учётной системы закрыты для внешних программ, пока кто-то не напишет обработку, отчёт или обмен. Обычный цикл выглядит так: сформулировать вопрос — поставить задачу разработчику — дождаться доработки — получить ответ. На простой вопрос вроде «сколько мы должны этому поставщику и по каким документам» уходят дни.
Языковая модель умеет формулировать запрос сама, но без моста к базе она про ваши данные не знает ничего. Мост и есть предмет разговора.
В нише сложилось два подхода, и выбор между ними определяет почти всё остальное.
В конфигурацию ставится расширение на встроенном языке, оно и отдаёт данные наружу. Требует доступа к конфигуратору, согласования с теми, кто отвечает за базу, и сопровождения при обновлениях платформы. Так устроено большинство решений.
Платформа умеет публиковать интерфейс OData сама, начиная с версии 8.3.5. Ничего не ставится, конфигурация не меняется, с поддержки снимать не нужно. Так устроен aprovodka.
Второй путь дешевле по согласованиям, но у него есть цена: наружу отдаётся то, что предусмотрел разработчик конфигурации, а имена реквизитов в доработанных базах приходится выяснять на месте.
В конфигураторе включаются нужные объекты состава стандартного интерфейса OData, затем база публикуется на веб-сервере. Адрес получается вида https://сервер/база/odata/standard.odata. Если публикация уже есть — этот шаг пропускается.
Не берите административную учётную запись. Заведите отдельного пользователя с правами ровно на те объекты, которые нужны агенту. Это единственная граница, отделяющая модель от остальной базы, и настраивается она средствами 1С, а не сервером.
MCP — открытый протокол, по которому клиентские приложения подключают внешние инструменты. Конфигурация одинакова для всех поддерживающих клиентов:
{
"mcpServers": {
"aprovodka": {
"command": "npx",
"args": ["-y", "@theyahia/aprovodka"],
"env": {
"ONEC_BASE_URL": "https://сервер/база/odata/standard.odata",
"ONEC_LOGIN": "агент",
"ONEC_PASSWORD": "пароль",
"ONEC_WRITE_MODE": "preview"
}
}
}
}
Ставить ничего заранее не нужно — npx получает пакет из npm при первом запуске.
Имена сущностей в 1С зависят от конфигурации, и угадывать их бесполезно. Порядок такой: get_config_preset отдаёт готовую схему типовой конфигурации, если ваша к ним относится; list_entities показывает, что реально есть в базе; describe_entity — состав полей конкретной сущности.
Читать безопасно. Запись — отдельное решение, и её лучше не включать по умолчанию.
Модель может ошибиться, а документ в боевой базе — это деньги и отчётность. Поэтому запись проходит через гейт, который перехватывает операции в одной точке: обойти его не может ни один инструмент.
off — по умолчанию, поведение обычное;preview — вместо выполнения возвращается описание того, что будет сделано;approval — выполнение только после явного одобрения человеком, одноразового и с ограниченным сроком.Обратимые операции возвращают токен отката: проведение отменяется, изменённые поля восстанавливаются, пометка на удаление снимается. Необратимые — физическое удаление и создание записи — честно помечаются причиной, а не делают вид, что откат возможен.
Каждая операция пишется в журнал аудита. Если журнал недоступен, операция не выполняется, а не проходит молча.
Для самого подключения — нет, если OData уже опубликован. Если нет, публикация делается один раз и требует конфигуратора.
Нет. Состав интерфейса OData — штатная настройка платформы, а не изменение конфигурации.
Да, но готовой схемы для неё не будет. Сущности выясняются через list_entities и describe_entity — либо заказывается разбор конфигурации.
Те, где есть стандартный интерфейс OData, — 8.3.5 и выше. Файловый вариант тоже работает при условии публикации на веб-сервере.
Сервер обращается только по адресу, который вы указали в настройках; телеметрии в зависимостях нет. Но данные, которые агент прочитал, попадают в ту языковую модель, которой вы пользуетесь, — это ваш выбор и ваша зона ответственности.
Сам сервер бесплатен, лицензия MIT. Платные — внедрение, разбор конфигурации и поддержка со сроками; условия на главной странице.
npx -y @theyahia/aprovodka
Полное описание всех 34 инструментов, переменных окружения и сценариев — в руководстве пользователя на 76 страниц.