MCP ExplorerExplorer

1c Mcp

@vladimir-kharinon a month ago
19 MIT
FreeCommunity
AI Systems
#mcp
Инструмент для создания MCP-серверов в 1С:Предприятие путем разработки расширения конфигурации. Позволяет интегрировать данные и функциональность 1С с AI-ассистентами (Claude, Cursor и т.д.). Включает Python-прокси и пример расширения 1С с готовыми инструментами.

Overview

What is 1c Mcp

This project is a tool for developing MCP (Model Context Protocol) servers using the 1C:Enterprise platform. It enables the creation of extensions that provide data and functionality to AI assistants like Claude and Cursor by utilizing a Python proxy that connects to HTTP services in 1C.

Use cases

The MCP server facilitates integration with AI clients, allowing for improved data access and interaction within 1C applications. Use cases include retrieving metadata from 1C configurations, performing actions through AI tools, and enhancing functionality for specific business scenarios.

How to use

To get started, clone the repository, set up a Python virtual environment, install dependencies, and configure connection settings in a .env file for HTTP or directly within client settings for stdio mode. Run the Python proxy server to start interacting with AI clients.

Key features

Key features include support for both stdio and HTTP with SSE modes, a customizable Python proxy, built-in HTTP service, and extensibility for adding tools, resources, and prompts within the 1C environment. It also provides structured examples for integration.

Where to use

This MCP server and proxy can be used in environments where 1C:Enterprise applications need AI assistance, such as business process automation, data analysis, and software configuration management. It is suitable for developers looking to enhance 1C applications with AI capabilities.

Content

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

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

Python-прокси может работать в двух режимах:

  • stdio - для подключения нативных MCP-клиентов (Claude Desktop, Cursor)
  • HTTP с SSE - для веб-приложений и кастомных интеграций

Проект включает готовый пример MCP-сервера и инфраструктуру для разработки собственных инструментов, ресурсов и промптов.

Зачем нужен прокси?

В 1С:Предприятие на данный момент невозможно реализовать полноценный MCP-сервер без внешнего прокси по следующим причинам:

  • Отсутствие поддержки консольных приложений - в 1С нельзя создать приложение, работающее через stdio
  • Ограниченные возможности HTTP-сервисов - нет поддержки Server-Sent Events (SSE) и потокового вывода

Поэтому используется архитектура с Python-прокси:

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

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

  • src/py_server/ - MCP-прокси сервер на Python
  • src/1c_ext/ - Расширение для 1С с HTTP-сервисом и инструментами (готовый пример)
  • mcp_client_settings/ - Примеры настроек подключения MCP-сервера для разных MCP-клиентов

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

1. Требования

  • Python 3.11+
  • 1С:Предприятие 8.3.20+
  • Возможность публикации HTTP-сервисов из базы

2. Установка Python-прокси

Клонируйте репозиторий и установите зависимости в виртуальном окружении:

# Клонирование репозитория
git clone https://github.com/vladimir-kharin/1c_mcp.git
cd 1c_mcp

# Создание виртуального окружения
python -m venv venv

# Активация (Windows)
venv\Scripts\activate
# Активация (Linux/Mac)
source venv/bin/activate

# Установка зависимостей
pip install -r src/py_server/requirements.txt

3. Настройка

Для режима HTTP с SSE создайте файл .env в корне проекта:

# Скопируйте пример настроек (Windows)
copy src\py_server\env.example .env
# Или (Linux/Mac)
cp src/py_server/env.example .env

Для режима stdio настройки удобнее задавать непосредственно в конфигурации MCP-клиента через переменные окружения - это позволяет использовать разные настройки для разных проектов без создания отдельных .env файлов.

Отредактируйте .env (или настройки клиента) с параметрами вашей базы 1С:

MCP_ONEC_URL=http://localhost/your_base_name
MCP_ONEC_USERNAME=your_username
MCP_ONEC_PASSWORD=your_password
MCP_ONEC_SERVICE_ROOT=mcp
MCP_LOG_LEVEL=INFO

4. Запуск

# Для MCP-клиентов (stdio режим)
python -m src.py_server

# Для веб-приложений (HTTP режим)
python -m src.py_server http --port 8000

Подключение к AI-клиентам

В папке mcp_client_settings/ находятся примеры настроек для различных клиентов:

  • Claude Desktop - см. mcp_client_settings/claude_desktop/
  • Cursor - см. mcp_client_settings/cursor/

Каждый клиент имеет свои особенности подключения и конфигурации.

Реализация MCP-сервера в 1С

Архитектура расширения

1С-расширение содержит:

  • HTTP-сервис mcp_APIBackend - универсальный JSON-RPC обработчик (не требует доработки, используется как есть)
  • Обработки-контейнеры - реализуют конкретные инструменты, ресурсы и промпты

Готовый пример: В репозитории уже реализован рабочий пример с инструментами для анализа метаданных конфигурации:

  • Получение списка объектов метаданных с фильтром по типу и имени (синониму)
  • Подробное описание структуры выбранного объекта метаданных (реквизиты, табличные части, формы и т.д.)

Создание инструментов

Для создания нового инструмента:

  1. Создайте обработку (например, mcp_ИмяНабораИнструментов)
  2. Включите её в подсистему mcp_КонтейнерыИнструментов
  3. Реализуйте в модуле менеджера два метода:
Процедура ДобавитьИнструменты(Инструменты) Экспорт
	// Формирование списка инструментов и описания их параметров
КонецПроцедуры

Функция ВыполнитьИнструмент(ИмяИнструмента, Аргументы) Экспорт
	// Роутинг вызовов в зависимости от ИмяИнструмента конкретных методов, реализующих тот или иной инструмент
КонецФункции

Типы MCP-примитивов

Расширение поддерживает все типы MCP-примитивов:

  • Tools (Инструменты) - функции для выполнения действий в 1С
  • Resources (Ресурсы) - данные для предоставления контекста
  • Prompts (Промпты) - шаблоны сообщений с параметрами

Подробная документация по архитектуре и разработке инструментов находится в src/1c_ext/agents.md. Если будете разрабатывать с использованием ИИ-инструментов - подгружайте этот файл в контекст.

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

Лицензия

MIT License

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

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

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers