Каталог/1C Client MCP Devkit
1C

1C Client MCP Devkit

Прототип
@1c-neurofishИндекс конфигурацииДобавлен: 09 мая 2026 г.

Devkit для запуска MCP-сервера прямо внутри клиента 1С через внешнюю компоненту AddIn.WebTransport.mcp и JSON-RPC endpoint. Он дает инфраструктуру регистрации tools, resources и prompts из 1С-кода, журналирование и управляющую форму, но не является готовым прикладным сервером с фиксированным набором бизнес-инструментов. Проект помечен как нестабильный ранний релиз; права и доступы фактически наследуются от пользовательской сессии 1С.

1
views
0
comments
clientdevkitwebtransportjson-rpcframeworktoolsresources

Описание

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
}

Скриншоты

Управление MCP MCP Inspector

Пример инструмента

Пример регистрации и обработки инструмента сложения из 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.

Комментарии

Войдите, чтобы оставить комментарий

Войти

Загрузка...