1c-mcp-toolkit
MCP и REST API сервер для получения метаданных и данных из базы 1С
1C MCP Toolkit
Система интеграции AI-агентов с базами данных 1С:Предприятие через MCP и REST API
📋 Описание
1C MCP Toolkit — это решение для подключения AI-агентов (Kiro, Claude и др.) к базам данных 1С:Предприятие. Поддерживает два варианта работы: встроенный сервер (HTTP-сервер запускается прямо внутри обработки 1С, без Python) и прокси (Python-сервер с long polling).
Ключевые преимущества:
- ✅ Не требуется изменение конфигурации 1C
- ✅ Не нужна публикация 1C сервера
- ✅ Не использует COM-соединение
- ✅ Совместимость с 1С:Предприятие 8.2.13+ / 8.3.25
- ✅ Встроенный сервер: Python не нужен — HTTP-сервер запускается прямо в 1С
- ✅ Поддержка Docker (режим Прокси)
🏗️ Архитектура
Вариант 1: Встроенный сервер
HTTP-сервер запускается прямо внутри обработки 1С. Python не нужен.
┌─────────────────┐ MCP / REST API ┌──────────────────┐
│ AI Агент │ ◄───────────────► │ 1С (.epf) │
│ (Kiro, Claude) │ /mcp /api/* │ Встр. HTTP-сервер│
└─────────────────┘ └──────────────────┘
│
▼
┌───────────────┐
│ База данных 1С│
└───────────────┘
Вариант 2: Прокси-режим
┌─────────────────┐ MCP / REST API ┌─────────────────┐
│ AI Агент │ ◄─────────────────────────► │ │
│ (Kiro, Claude) │ /mcp /api/* │ Python Proxy │
└─────────────────┘ │ Server │
│ │
┌─────────────────┐ HTTP Long Polling │ (FastAPI + │
│ 1С Обработка │ ◄─────────────────────────► │ MCP SDK) │
│ (внешняя .epf) │ /1c/poll, /1c/result │ │
└─────────────────┘ └─────────────────┘
│ │
▼ │
┌─────────────────┐ ┌───────┴───────┐
│ База данных 1С │ │ Docker │
│ (8.2.13/8.3.25) │ │ Container │
└─────────────────┘ └───────────────┘
🚀 Быстрый старт
Вариант 0: Встроенный сервер (без Python, рекомендуется)
- Откройте
build/MCP_Toolkit.epfв 1С:Предприятие - В форме выберите режим «Встроенный сервер»
- Нажмите «Запустить сервер»
- Настройте AI-агент на
http://<ip-компьютера-1С>:6003/mcp
Вариант 1: Docker Hub (режим Прокси)
Запуск прокси-сервера из готового образа на Docker Hub:
docker run -d -p 6003:6003 -e ALLOW_DANGEROUS_WITH_APPROVAL=true --restart unless-stopped --name 1c-mcp-toolkit-proxy roctup/1c-mcp-toolkit-proxy
Вариант 2: Docker Compose
# Клонировать репозиторий
git clone <repository-url>
cd 1c-mcp-toolkit
# Запустить через Docker Compose
docker-compose up -d
Вариант 3: Прямой запуск Python
# Создать виртуальное окружение
python -m venv .venv
.venv\Scripts\activate # Windows
# или
source .venv/bin/activate # Linux/Mac
# Установить зависимости
pip install -r requirements.txt
# Запустить сервер
python -m onec_mcp_toolkit_proxy
Сервер запустится по адресу http://localhost:6003
📦 Установка обработки 1C
- Скачайте готовую обработку из папки build MCP_Toolkit.epf
- Откройте обработку в 1C (Файл → Открыть)
- В настройках обработки укажите:
- URL прокси-сервера:
http://localhost:6003 - (опционально) ID канала для изоляции команд
- URL прокси-сервера:
- Нажмите кнопку "Подключиться"
⚙️ Настройка AI-агента
Kiro IDE
Добавьте в файл .kiro/settings/mcp.json:
{
"mcpServers": {
"onec-mcp-toolkit-proxy": {
"url": "http://localhost:6003/mcp",
"transport": "http",
"type": "streamable-http",
"disabled": false,
"autoApprove": ["execute_query", "get_metadata"]
}
}
}
Claude Desktop
Откройте конфигурационный файл:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Добавьте конфигурацию:
{
"mcpServers": {
"onec-mcp-toolkit-proxy": {
"url": "http://localhost:6003/mcp",
"transport": "http"
}
}
}
Перезапустите приложение.
🛠️ Доступные MCP-инструменты
| Инструмент | Описание |
|---|---|
| execute_query | Выполнение запросов на языке запросов 1C |
| execute_code | Выполнение произвольного кода 1C |
| get_metadata | Получение информации о структуре метаданных базы |
| get_event_log | Получение записей из журнала регистрации |
| get_object_by_link | Получение объекта по навигационной ссылке |
| get_link_of_object | Генерация навигационной ссылки на объект |
| find_references_to_object | Поиск всех ссылок на объект |
| get_access_rights | Получение прав доступа к объектам метаданных |
| submit_for_deanonymization | Отправка финального ответа для деанонимизации (только при включённой анонимизации) |
🌐 REST API (альтернатива MCP)
Для AI-агентов, не поддерживающих протокол MCP, или при предпочтении стандартных HTTP-запросов, прокси предоставляет REST API с той же функциональностью.
Базовый URL: http://localhost:6003/api/
Доступные эндпоинты
| Эндпоинт | Метод | Описание |
|---|---|---|
/api/execute_query |
POST | Выполнение запросов 1C |
/api/execute_code |
POST | Выполнение кода 1C |
/api/get_metadata |
GET/POST | Получение метаданных |
/api/get_event_log |
POST | Журнал регистрации |
/api/get_object_by_link |
POST | Получить объект по ссылке |
/api/get_link_of_object |
POST | Генерация ссылки на объект |
/api/find_references_to_object |
POST | Поиск ссылок на объект |
/api/get_access_rights |
POST | Получение прав доступа |
/api/submit_for_deanonymization |
POST | Отправить текст для деанонимизации (только при включённой анонимизации) |
Формат ответов
Большинство ответов следуют единой структуре:
Успех: {"success": true, "data": <результат>}
Ошибка: {"success": false, "error": "Описание ошибки"}
Исключение: submit_for_deanonymization возвращает {"received": true} при успехе (без поля data).
Подробные примеры использования REST API доступны в полной документации.
🕵️ Анонимизация данных
Инструмент поддерживает автоматическую анонимизацию персональных и конфиденциальных данных. Реальные значения заменяются стабильными токенами ([ORG-00001], [PER-00001], [INN-00001] и т.д.). Агент может передавать токены обратно в запросы — сервер автоматически восстанавливает реальные значения.
Режим «Встроенный сервер»:
- Настройка через форму обработки 1С: дерево полей метаданных, словарь из справочников 1С, регулярные выражения
Режим «Прокси»:
- Управляется переменными окружения (
ANONYMIZATION_ENABLED=true) - Дополнительно: SpaCy NER, изоляция токенов по каналам, умная анонимизация псевдонимов колонок
Подробная документация: ANONYMIZATION.md
🔒 Безопасность
- Опасные операции блокируются настраиваемым черным списком
- Используйте
ALLOW_DANGEROUS_WITH_APPROVAL=trueдля режима подтверждения - Рекомендуется настроить
autoApproveтолько для безопасных инструментов
📝 Изоляция каналов
При подключении нескольких клиентов 1C к одному прокси-серверу можно изолировать потоки команд с помощью ID каналов.
Использование с MCP
{
"mcpServers": {
"onec-dev": {
"url": "http://localhost:6003/mcp?channel=dev-environment",
"transport": "http",
"type": "streamable-http"
},
"onec-prod": {
"url": "http://localhost:6003/mcp?channel=prod-environment",
"transport": "http",
"type": "streamable-http"
}
}
}
Использование с REST API
Все REST-эндпоинты поддерживают изоляцию каналов через параметр запроса ?channel=<id>:
# Канал для разработки
curl -X POST "http://localhost:6003/api/execute_query?channel=dev-environment" \
-H "Content-Type: application/json" \
-d '{"query": "ВЫБРАТЬ 1"}'
# Канал для продакшена
curl -X POST "http://localhost:6003/api/execute_query?channel=prod-environment" \
-H "Content-Type: application/json" \
-d '{"query": "ВЫБРАТЬ 1"}'
Важно: Укажите тот же ID канала в настройках обработки 1C для соответствующего окружения.
🎓 Skills для AI-агентов
При использовании REST API рекомендуется использовать готовые skills, которые содержат детальные инструкции по работе с 1C MCP Toolkit.
Доступные skills
📁 Папка: skills/
| Skill | Описание | Рекомендуется для |
|---|---|---|
| calling-1c-rest-api-via-curl | Полное руководство по использованию REST API через curl: все эндпоинты, форматы запросов/ответов, примеры workflow, обработка ошибок | REST API клиенты, автоматизация, скрипты |
| composing-1c-queries | Правила составления корректных запросов на языке запросов 1C: синтаксис, оптимизация, виртуальные таблицы, временные таблицы, JOIN'ы | Работа с данными 1C через execute_query |
Как использовать
Skills содержат подробные инструкции и reference-документацию для AI-агентов. Каждый skill включает:
- Описание возможностей
- Примеры использования
- Лучшие практики
- Типичные паттерны работы
Для AI-агентов, использующих REST API, skill calling-1c-rest-api-via-curl является основным руководством и содержит все необходимые детали для эффективной работы с API.
📚 Документация
Подробная документация доступна в README_FULL
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found