Skip to main content

Разработка 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С на веб-сервере. Прокси поддерживает два режима: работа от имени одного фиксированного пользователя или "проброс" аутентификации каждого пользователя под его собственными учетными данными.
  • Настройка и запуск прокси:

Вариант 3: Запуск прокси в Docker

Для изолированного запуска прокси-сервера в контейнере:

# Скопируйте пример конфигурации
cp .env.docker.example .env

# Отредактируйте .env (укажите URL, логин, пароль)
# Запустите контейнер
docker-compose up -d

Важно: Если 1С на том же хосте, используйте host.docker.internal вместо localhost в MCP_ONEC_URL.

Подробнее в документации Python-прокси.

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

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

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

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

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

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

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

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

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

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

Лицензия

MIT License

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

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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iflow_mcp_vladimir_kharin_1c_mcp-1.0.0.tar.gz (68.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

iflow_mcp_vladimir_kharin_1c_mcp-1.0.0-py3-none-any.whl (102.5 kB view details)

Uploaded Python 3

File details

Details for the file iflow_mcp_vladimir_kharin_1c_mcp-1.0.0.tar.gz.

File metadata

  • Download URL: iflow_mcp_vladimir_kharin_1c_mcp-1.0.0.tar.gz
  • Upload date:
  • Size: 68.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_vladimir_kharin_1c_mcp-1.0.0.tar.gz
Algorithm Hash digest
SHA256 7c6dae4737a3d81fb88a162de3e54b6235b09fe3a92c6ee10e4b6d570ffe8845
MD5 53152d5752d82938979940e1c38ca870
BLAKE2b-256 4084168d17e3eaccf35d911d8f28352428bd4c5263235e3ce38fe6715b3d442d

See more details on using hashes here.

File details

Details for the file iflow_mcp_vladimir_kharin_1c_mcp-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: iflow_mcp_vladimir_kharin_1c_mcp-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 102.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_vladimir_kharin_1c_mcp-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 22c9873d8374962c3b5f3779b5e285943d8ab7dfc5e7b610d86fec25f67181e8
MD5 19f1300d1dc1fae95456f044572dc469
BLAKE2b-256 dd012e96a4ad39f34742e18e98055b0b40df2ad207c4c9eeadeea14d4a1f8d82

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page