Здесь описан самостоятельный режим: расширение публикует MCP-сервер из 1С, а локальный агент подключается к нему по HTTP.
Установка расширения
- Скачайте актуальный файл CFE.
- Добавьте файл в список расширений информационной базы стандартным способом и снимите у расширения флажок «Безопасный режим»: расширение использует привилегированный режим и HTTP-запросы.
- Примените изменение и перезапустите пользовательские сеансы, если этого потребует 1С.
Расширение рассчитано на конфигурации на базе БСП: оно использует пользователей и группы доступа БСП.
Расширение распространяется бесплатно по лицензии MIT. Для самостоятельного режима нужен локальный агент с поддержкой MCP по HTTP.
Права доступа
Отдельно создавать профили не нужно: расширение само добавляет в справочник «Профили групп доступа» три поставляемых профиля:
- Гоша ИИ: Пользователь — раздел «Гоша ИИ» и работа с Гошей после привязки к ядру;
- Гоша ИИ: Администратор — привязки к ядрам и привязка пользователей, включает права пользователя;
- Гоша ИИ: Вызов экспортных функций — инструменты MCP для вызова экспортных функций и процедур.
Профили создаёт регламентное задание БСП «Заполнение параметров работы расширений» после установки или обновления расширения, поэтому регламентные задания в базе должны быть включены. Дальше всё штатно: включите нужных пользователей в группы доступа с этими профилями. Раздел «Гоша ИИ» видят только пользователи с ролью Гоши, а привязать к ядру можно только пользователя с профилем «Гоша ИИ: Пользователь».
Режим только чтения
Агенту можно запретить изменять данные, не настраивая права пользователя 1С: например, дать пользователя с полными правами, но только на чтение.
- Для ядра CodexGate — флажок «Только чтение» в карточке привязки к ядру.
- Для опубликованного HTTP-сервиса — флажок «Опубликованный MCP (hs/goshaai): только чтение» над списком «Гоша ИИ: привязки к ядрам».
В этом режиме tools/list отдаёт только читающие инструменты (с readOnlyHint): query, getObject, getEventLog, listMetadata, getMetadata, listObjectHistory. Вызов любого изменяющего инструмента возвращает isError: true с текстом «Инструмент … недоступен: включён режим только чтения.». Флажок записывается сразу. Агент не может снять его сам: снять режим можно только вручную в 1С.
На свежей установке режим только чтения опубликованного HTTP-сервиса включён сразу. Если агенту нужно изменять данные, снимите флажок «Опубликованный MCP (hs/goshaai): только чтение».
Публикация HTTP-сервиса
- Опубликуйте информационную базу на веб-сервере средствами 1С.
- Включите в публикацию HTTP-сервис
ГошаИИ_MCP. Его корневой URL —goshaai. - Настройте аутентификацию пользователя 1С, от имени которого будет работать агент.
- Укажите локальному агенту адрес:
<адрес публикации 1С>/hs/goshaai/
Например, для публикации https://onec.example/base адрес MCP-сервера будет https://onec.example/base/hs/goshaai/. Сегмент hs обязателен для HTTP-сервисов 1С. Подробнее об устройстве таких адресов — в методической документации 1С.
Проверка подключения
Сервис принимает JSON-RPC 2.0 запросы методом HTTP POST. Для проверки отправьте initialize, указав логин и пароль выделенного пользователя 1С:
curl -u 'USER:PASSWORD' \
-H 'Content-Type: application/json' \
--data '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}' \
'https://onec.example/base/hs/goshaai/'
В ответе должны быть protocolVersion: 2025-06-18 и serverInfo.name: GoshaAI.
Контракт MCP
Транспорт — HTTP POST, формат — JSON-RPC 2.0, ответы JSON имеют тип application/json; charset=utf-8. Реализованы методы:
initialize— согласование версии протокола и возможностей сервера;notifications/initialized— подтверждение инициализации, ответ HTTP 202;ping— проверка доступности;tools/list— актуальный список инструментов и их входные схемы;tools/call— вызов инструмента с параметрамиnameиarguments.
Сервер объявляет версию протокола 2025-06-18 и возможность tools с listChanged: false.
Доступные инструменты
Фактический список и JSON Schema всегда запрашивайте через tools/list. В текущей версии доступны:
query— выполнить запрос 1С;getObject— получить объект;listMetadata— найти объекты метаданных по виду и части имени или синонима;getMetadata— описание объекта метаданных: реквизиты с типами, длиной и проверкой заполнения, табличные части, измерения, ресурсы, регистры движений документа и объекты ввода на основании;getEventLog— прочитать журнал регистрации с отбором по периоду, уровню, событию, пользователю, объекту метаданных и комментарию;postObject— создать объект;putObject— изменить объект;setDeletionMark— изменить пометку удаления;setDocumentPosted— провести или отменить проведение документа;writeInformationRegister— записать или удалить запись независимого регистра сведений;setConstant— установить значение константы;listObjectHistory— получить историю объекта;restoreObjectVersion— восстановить версию объекта.
Инструменты callExportFunction и callExportProcedure добавляются только пользователю с отдельной ролью ГошаИИ_ВызовЭкспортныхФункций. Роль учитывается, только если она включена в профиль группы доступа пользователя; роль, назначенная пользователю напрямую, не учитывается.
Лимит результатов
Инструменты query, getEventLog и listMetadata принимают необязательный аргумент limit: по умолчанию 100, не больше 1000. Другое значение — ошибка инструмента. Пагинации нет: если записей больше, результат обрезается, а вторым элементом content приходит текстовое предупреждение об обрезке. Для query лимит относится к строкам верхнего уровня, вложенные таблицы не обрезаются.
Журнал регистрации при обрезке отдаёт последние записи периода в порядке от старых к новым. Чтобы увидеть более ранние, сдвиньте to или уточните отбор.
Права и ошибки
MCP-сервер предоставляет доступ к данным в пределах прав авторизованного пользователя 1С. Для агента лучше создать отдельного пользователя и выдать ему только необходимые права.
Ошибки протокола возвращаются в объекте error: -32700 — ошибка JSON, -32600 — некорректный запрос, -32601 — неизвестный метод, -32602 — неверные параметры.
Ошибка выполнения инструмента, например неверный аргумент, отсутствие прав или ошибка запроса 1С, возвращается как обычный результат tools/call с isError: true и текстом ошибки в content.
Возможные неисправности
При входе пользователя без прав администратора появляется ошибка «Нарушение прав доступа» в модуле ГошаИИ_Транспорт.
Причина: У расширения включён флажок «Безопасный режим», и 1С не даёт ему работать в привилегированном режиме.
Что сделать: Снимите «Безопасный режим» у расширения «Гоша ИИ» в списке расширений и перезапустите сеансы.
Пользователь не видит раздел «Гоша ИИ».
Причина: У пользователя нет роли Гоши.
Что сделать: Включите пользователя в группу доступа с профилем «Гоша ИИ: Пользователь» и перезапустите его сеанс.
В справочнике «Профили групп доступа» нет профилей «Гоша ИИ: …».
Причина: Не выполнялось регламентное задание «Заполнение параметров работы расширений».
Что сделать: Включите регламентные задания в базе и дождитесь выполнения задания или запустите его вручную.
Не удаётся привязать пользователя к ядру: «…не может быть привязан к ядру».
Причина: В профиле пользователя нет роли «Гоша ИИ: пользователь».
Что сделать: Включите пользователя в группу доступа с профилем «Гоша ИИ: Пользователь».
Агент получает «недоступен: включён режим только чтения» и не изменяет данные.
Причина: Включён режим только чтения: на свежей установке для опубликованного HTTP-сервиса он включён сразу.
Что сделать: Если изменения нужны, снимите флажок «Только чтение» в карточке привязки или «Опубликованный MCP (hs/goshaai): только чтение» над списком привязок.
В tools/list нет callExportFunction и callExportProcedure.
Причина: Роль ГошаИИ_ВызовЭкспортныхФункций не входит в профиль группы доступа пользователя.
Что сделать: Включите пользователя в группу доступа с профилем «Гоша ИИ: Вызов экспортных функций».
Администратор не видит окно о новой версии.
Причина: Проверка обновлений не смогла обратиться к сайту или получила неверный ответ.
Что сделать: Посмотрите в журнале регистрации записи с событием ГошаИИ.ПроверкаОбновления: там текст ошибки.
