1C Client MCP Devkit
ПрототипDevkit для запуска MCP-сервера прямо внутри клиента 1С через внешнюю компоненту AddIn.WebTransport.mcp и JSON-RPC endpoint. Он дает инфраструктуру регистрации tools, resources и prompts из 1С-кода, журналирование и управляющую форму, но не является готовым прикладным сервером с фиксированным набором бизнес-инструментов. Проект помечен как нестабильный ранний релиз; права и доступы фактически наследуются от пользовательской сессии 1С.
Описание
Devkit для запуска MCP-сервера прямо внутри клиента 1С через внешнюю компоненту AddIn.WebTransport.mcp и JSON-RPC endpoint. Он дает инфраструктуру регистрации tools, resources и prompts из 1С-кода, журналирование и управляющую форму, но не является готовым прикладным сервером с фиксированным набором бизнес-инструментов. Проект помечен как нестабильный ранний релиз; права и доступы фактически наследуются от пользовательской сессии 1С.
README
1C Client MCP Server
Реализация MCP сервера (Model Context Protocol), который запускается внутри клиента 1С:Предприятие. Проект ориентирован на работу через внешнюю компоненту AddIn.WebTransport.mcp и обрабатывает MCP запросы по JSON-RPC.
[!CAUTION] Важно, проект еще не имеет стабильного релиза. Поэтому интерфейсы и внутренние API могут меняться.
Возможности
- Запуск MCP сервера в клиентском контуре 1С:Предприятия.
- Поддержка инструментов, ресурсов и промптов MCP.
- Транспорт WebTransport MCP через внешнюю компоненту
AddIn.WebTransport.mcp. - Реестр обработчиков и унифицированное логирование событий.
- Форма управления MCP в составе расширения.
Запуск из командной строки 1С
MCP-сервер можно запустить сразу при старте клиента 1С через параметр /C:
/C"runMcp"
/C"runMcp=/tmp/mcp-conf.json"
/C"runMcp=/tmp/mcp-conf.json;mcpPort=123"
Если путь в runMcp заполнен, он читается как JSON-конфигурация. В JSON используются ключи port и timeout, а в строке /C - mcpPort; значение порта из /C имеет приоритет. Если порт не указан, используется 8080, если таймаут не указан - 900.
Минимальный JSON-конфиг:
{
"port": 8080,
"timeout": 900
}
Скриншоты

Пример инструмента
Пример регистрации и обработки инструмента сложения из exts/client-mcp/src/CommonModules/Мсп_ИнструментСложениеКлиент/Module.bsl.
Процедура ЗарегистрироватьИнструменты() Экспорт
Мсп_РеестрКлиент.ЗарегистрироватьИнструмент(Мсп_ИнструментыКлиент.ОписаниеИнструмента(
"math_add",
"Складывает два числа.",
СхемаВходныхПараметров(),
Новый ОписаниеОповещения("ОбработатьИнструментСложение", Мсп_ИнструментСложениеКлиент)));
КонецПроцедуры
Функция ОбработатьИнструментСложение(Запрос, ДополнительныеПараметры) Экспорт
Аргументы = Запрос.Аргументы;
Возврат Аргументы.a + Аргументы.b;
КонецФункции
Структура репозитория
exts/client-mcp— исходники расширения 1С (EDT-формат).tests— тестовая конфигурация на базе YAxUnit.ARCHITECTURE.md— обзор архитектуры и взаимодействий компонентов.docs/decisions— архитектурные решения (ADR).docs/solution-invariants.md— инварианты решения, подтвержденные кодом и тестами.docs/code-style.md— правила оформления BSL кода.
Архитектура
Схемы взаимодействия и детали слоев описаны в ARCHITECTURE.md.
Комментарии
Войдите, чтобы оставить комментарий
ВойтиЗагрузка...