Skip to main content
Glama
mcp-1c-local-bridge

mcp-1c-local-bridge

by ntappw

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MCP_1C_BRIDGE_DIRNoOverrides the exchange directory the MCP server uses. By default the server finds it automatically (in WSL it reads the Windows user's %TEMP% via PowerShell). The path must be in the same filesystem where the server runs.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

Локальный мост к открытому сеансу 1С пользователя: команды выполняет внешняя обработка MCPLocalBridge.epf, открытая в клиенте 1С, обмен идёт через каталог на этом компьютере, без внешних серверов. Начинай с sessions: там видно, к какой базе и под каким пользователем открыт мост и что разрешено на форме. Каждая команда выполняется в живом сеансе пользователя и занимает его окно 1С: ограничивай выборки и не запускай долгие переборы без нужды. Серверный код eval/execute по умолчанию выполняется в транзакции с откатом. Сохранить изменения можно только с allow_write=true и при включённом на форме разрешении «Запись в базу»; пока оно выключено (так при открытии формы), запрос записи тоже выполняется с откатом и с предупреждением. Запись по умолчанию атомарна: код идёт в транзакции, которая фиксируется, только если он отработал без ошибок. Если на форме выбрана выдача результатов с подтверждением, пользователь смотрит каждый результат и решает, отдавать ли его: давай таким командам timeout побольше, а ответ без решения забирай инструментом result. К решению пользователь может приложить комментарий - пояснение к запросу или результату: учитывай его в следующих командах; разрешений на форме комментарий не меняет. Отказ без комментария - тот же запрос не повторяй, спроси пользователя. Структуру базы - объекты, реквизиты и их типы, где используется тип, кто пишет в регистр, подписки и регламентные задания - ищи инструментами find и usages, а не перебором metadata: они работают по индексу метаданных сеанса. Обработка строит индекс один раз и хранит в настройках пользователя этой базы, дальше он берётся оттуда, пока метаданные не изменятся. После загрузки изменений конфигурации в базу передай refresh=true. Кода модулей в индексе нет: обращения из кода ищи по выгрузке конфигурации.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
sessionsA

Сеансы 1С, в которых открыта форма обработки моста: база, пользователь, конфигурация, состояние и разрешения. Обработку (dist/MCPLocalBridge.epf) пользователь открывает в нужной базе через Файл - Открыть.

pingB

Проверка связи: обработка забирает команду и делает вызов сервера 1С (время сервера, номер сеанса).

queryA

Выполняет запрос 1С на сервере с правами пользователя сеанса и возвращает результаты всех запросов пакета.

Значения параметров: строка, число, булево и null передаются как есть, массив - список значений
(для В (&Список)). Особые значения - объекты:
{"_date": "2026-10-21T00:00:00"} - дата (можно "2026-10-21");
{"_type": "Справочник.Контрагенты", "_uuid": "..."} - ссылка; ссылку из результата format=json
можно передать целиком;
{"_type": "Перечисление.ВидыКонтрагентов", "_name": "ЮридическоеЛицо"} - значение перечисления;
{"_predefined": "Справочник.Валюты.Рубль"} - предопределённое значение;
{"_expr": "НачалоГода(ТекущаяДатаСеанса())"} - выражение 1С, вычисленное на сервере.
РАЗРЕШЕННЫЕ и ПЕРВЫЕ в текст не добавляются: пишите их сами.
evalA

Вычисляет выражение 1С (Вычислить) и возвращает значение. Ссылки приходят типом, UUID и представлением, объекты - реквизитами и табличными частями, таблицы и выборки - строками (не больше 1000). На сервере выражение вычисляется в транзакции, которая затем откатывается (если не allow_write).

executeA

Выполняет фрагмент кода 1С (Выполнить) и возвращает значение переменной Результат.

На сервере код по умолчанию идёт в транзакции, которая после выполнения откатывается: изменения в базе
не сохраняются. Внешние эффекты откат не отменяет: файлы, HTTP, почта, запуск фоновых заданий, записи
журнала регистрации. Сообщения пользователю (Сообщить) с сервера возвращаются в ответе.

Выполнение занимает окно 1С пользователя: пока код работает, интерфейс его сеанса не отвечает. Долгую
операцию (обмен, массовую обработку) одним execute не запускай: если у неё есть экспортный метод общего
модуля конфигурации, запусти его фоновым заданием (ФоновыеЗадания.Выполнить) и опрашивай состояние задания
короткими командами. Фоновое задание идёт в своём сеансе, вне транзакции моста: его запись в базу не
откатывается и разрешением «Запись в базу» не ограничена - запускай его только с allow_write=true и с
согласия пользователя.
metadataA

Метаданные конфигурации сеанса, включая объекты расширений: без path - состав по коллекциям (с filter - только подходящие объекты), с path - реквизиты, табличные части, измерения, ресурсы, значения перечисления, движения, формы, команды и макеты объекта.

findA

Поиск по индексу метаданных сеанса: объекты, реквизиты, измерения, ресурсы, табличные части, значения перечислений, предопределённые, формы, команды, макеты; подписки и регламентные задания - и по обработчику. Показывает полное имя, синоним, типы и расширение. Индекс включает объекты и реквизиты расширений, но не код модулей. Первый вызов в сеансе берёт индекс у обработки (из настроек пользователя или строит заново), дальше поиск идёт без обращения к 1С.

usagesA

Где используется объект метаданных, по индексу сеанса: поля и объекты его типа (в том числе через определяемые типы), документы, которые пишут в регистр, движения документа, подписки на события, журналы, последовательности, планы обмена, подсистемы, функциональные опции, общие реквизиты, подчинённые справочники, ввод на основании; для общего модуля - подписки и регламентные задания, вызывающие его методы. Обращений из кода модулей в индексе нет.

resultC

Результат команды, которая выполнялась дольше своего timeout.

cancelB

Снимает команду, которую обработка ещё не начала выполнять.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.4/5.0

Scored across 10 tools

Disambiguation4/5

The tools mostly target clearly different operations: execute/eval/query are separated by code execution, expression evaluation, and 1C query language semantics. Metadata, find, and usages overlap in domain but differ as browse, search, and dependency lookup; descriptions help resolve the remaining ambiguity.

Naming Consistency3/5

All names are lowercase single words, but the set mixes verbs (cancel, eval, execute, find, ping) with nouns (metadata, query, result, sessions, usages). The names are readable and semantically clear, but there is no consistent verb_noun or noun-based convention across the toolset.

Tool Count5/5

Ten tools is well within a reasonable range for a bridge server that must cover code execution, queries, metadata introspection, diagnostics, and asynchronous command lifecycle. Each tool appears to earn its place, including auxiliary tools like result, cancel, ping, and sessions.

Completeness4/5

The surface covers the core domain well: execute/eval/query for 1C operations, metadata/find/usages for introspection, sessions/ping for diagnostics, and result/cancel for async command handling. A minor gap is the lack of a general command-status/list operation, but most workflows can be completed with the existing tools.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues