Skip to content

Инструмент для создания MCP-серверов в 1С:Предприятие путем разработки расширения конфигурации. Позволяет интегрировать данные и функциональность 1С с AI-ассистентами (Claude, Cursor и т.д.). Включает Python-прокси и пример расширения 1С с готовыми инструментами.

Notifications You must be signed in to change notification settings

yarsergo/1c_mcp

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Разработка MCP-серверов в 1С

Инструмент для создания MCP (Model Context Protocol) серверов на платформе 1С:Предприятие. Позволяет разрабатывать расширения 1С, которые предоставляют данные и функциональность базы для AI-ассистентов (чаты с языковыми моделями, Claude Desktop, Cursor и других AI-клиентов).

Подробное видео о проекте и его возможностях:
VK Видео | Youtube | Rutube

Проект содержит готовое расширение для 1С, которое берет на себя всю техническую рутину протокола MCP. Вам остается только реализовать бизнес-логику ваших инструментов. Инструменты для работы с метаданными конфигурации 1С доступны "из коробки".

Как это работает: Концепция MCP

Качество ответа языковой модели (LLM) напрямую зависит от качества предоставленного ей контекста. Подготовка такого контекста вручную может быть трудоемкой.

Model Context Protocol (MCP) — это открытый стандарт, который позволяет модели самой запрашивать необходимые данные через специальные "инструменты" (tools), предоставляемые вашим сервером. Таким образом, контекст для решения задачи собирается автоматически.

Компоненты проекта

  1. src/1c_ext/ - Расширение 1С: Ядро решения. Реализует MCP-сервер и инструменты.
  2. src/py_server/ - Python-прокси: Опциональный, но рекомендуемый компонент для решения инфраструктурных задач.

Быстрый старт

Шаг 1: Установка расширения 1С

Подключите готовое, собранное расширение из каталога build/MCP_Сервер.cfe в вашу конфигурацию.

Шаг 2: Публикация HTTP-сервиса

Опубликуйте на веб-сервере HTTP-сервис mcp_APIBackend, который находится в расширении.

Важно: Для прямого подключения AI-клиента к 1С (без прокси) требуется публиковать базу без необходимости аутентификации ("вшить" реквизиты доступа к базе в default.vrd), что является небезопасным. Решение этой проблемы описано в разделе "Варианты подключения".

Шаг 3: Подключение AI-клиента

Подключите MCP-клиент (например, Cursor) к опубликованному HTTP-сервису (.../ваша_база/hs/mcp/). Примеры настроек для разных клиентов находятся в папке mcp_client_settings/.

Варианты подключения

Вариант 1: Прямое подключение к 1С

  • Как работает: AI-клиент ←→ HTTP-сервис 1С
  • Ограничения:
    • Требует публикации HTTP-сервиса без аутентификации 1С.
    • Невозможно подключить клиенты, требующие транспорт stdio.
    • Ограниченная совместимость с некоторыми HTTP-клиентами из-за нюансов протокола.

Вариант 2: Подключение через Python-прокси (Рекомендуется)

  • Как работает: AI-клиент ←→ MCP-прокси (Python) ←→ HTTP-сервис 1С

  • Зачем он нужен? Прокси решает ключевые инфраструктурные проблемы:

    • Проблема транспорта: Позволяет подключать клиенты, работающие по stdio.
    • Проблема аутентификации: Реализует протокол OAuth2 (стандартный способ аутентификации в MCP) и передает авторизацию в 1С через Basic Auth. Это позволяет не отключать аутентификацию 1С на веб-сервере. Прокси поддерживает два режима: работа от имени одного фиксированного пользователя или "проброс" аутентификации каждого пользователя под его собственными учетными данными.
  • Настройка и запуск прокси:

Разработка собственных инструментов

Функциональность расширяется добавлением собственных инструментов для взаимодействия с данными 1С.

  • Шаг 1: В расширении создайте новую обработку и включите ее в подсистему mcp_КонтейнерыИнструментов.

  • Шаг 2: В модуле менеджера этой обработки реализуйте два экспортных метода:

// Метод для описания инструментов и их параметров
Процедура ДобавитьИнструменты(Инструменты) Экспорт
	// ... здесь вы описываете, какие инструменты предоставляет ваша обработка
КонецПроцедуры

// Метод для выполнения логики инструмента
Функция ВыполнитьИнструмент(ИмяИнструмента, Аргументы) Экспорт
	// ... здесь вы реализуете логику, которая будет вызвана AI-моделью
КонецФункции

Подробное руководство по разработке находится в файле src/1c_ext/agents.md.

Другие примитивы MCP

Помимо Инструментов (Tools), проект также поддерживает Ресурсы (Resources) для предоставления статического контекста (например, файлов) и Промпты (Prompts) для заготовленных шаблонов сообщений.

Документация

Лицензия

MIT License

Поддержка и развитие

Проект активно развивается. Вопросы и предложения по улучшению приветствуются через Issues.

About

Инструмент для создания MCP-серверов в 1С:Предприятие путем разработки расширения конфигурации. Позволяет интегрировать данные и функциональность 1С с AI-ассистентами (Claude, Cursor и т.д.). Включает Python-прокси и пример расширения 1С с готовыми инструментами.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • 1C Enterprise 60.1%
  • Python 39.1%
  • Batchfile 0.8%