1c_mcp

mcp
Security Audit
Warn
Health Warn
  • No license — Repository has no license file
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Community trust — 369 GitHub stars
Code Pass
  • Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
  • Permissions — No dangerous permissions requested
Purpose
This tool provides a framework to build Model Context Protocol (MCP) servers within the 1C:Enterprise ecosystem. It enables AI assistants like Claude and Cursor to directly interact with 1C data and functionality via a native extension and an optional Python proxy.

Security Assessment
The automated code scan found no hardcoded secrets, dangerous permissions, or malicious patterns across its 12 files. However, based on the provided documentation, the overall risk is Medium. To facilitate direct connections between AI clients and 1C, the setup requires publishing an HTTP service without authentication. The author explicitly warns that embedding database credentials directly in the configuration file (default.vrd) to bypass authentication is inherently insecure. While the recommended Python proxy mitigates this by acting as a secure middleware, the extension still fundamentally acts as a bridge that exposes potentially sensitive enterprise database contents to third-party AI models.

Quality Assessment
The project is in active development, with its most recent push occurring today. It enjoys a solid level of community trust, indicated by 369 GitHub stars. The main drawback is the complete absence of a formal open-source license. Without a license, the code is technically proprietary, meaning developers have no legal permission to use, modify, or distribute it in their own projects, which could pose significant compliance issues for corporate environments.

Verdict
Use with caution: the code itself appears safe and lacks malicious behavior, but it handles highly sensitive business data, requires careful network configuration to avoid exposing unauthenticated endpoints, and lacks a formal software license.
SUMMARY

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

README.md

Разработка 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, который находится в расширении.

Важно: Регистр имени базы в URL должен точно совпадать с именем публикации (например, base, а не Base). Несовпадение регистра приводит к редиректам, которые превращают POST-запросы в GET.

Важно: Для прямого подключения 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.

Reviews (0)

No results found