Система интеграции AI-агентов с базами данных 1С:Предприятие через MCP и REST API
1C MCP Toolkit — это решение для подключения AI-агентов (Kiro, Claude и др.) к базам данных 1С:Предприятие. Поддерживает два способа интеграции: через протокол MCP и через REST API. Система состоит из Python прокси-сервера и внешней обработки 1C, связанных через HTTP long polling.
Ключевые преимущества:
- ✅ Не требуется изменение конфигурации 1C
- ✅ Не нужна публикация 1C сервера
- ✅ Не использует COM-соединение
- ✅ Совместимость с 1С:Предприятие 8.2.13+ и 8.3.25
- ✅ Поддержка Docker
┌─────────────────┐ MCP / REST API ┌─────────────────┐
│ AI Агент │ ◄─────────────────────────► │ │
│ (Kiro, Claude) │ /mcp /api/* │ │
└─────────────────┘ │ Python Proxy │
│ Server │
┌─────────────────┐ HTTP Long Polling │ │
│ 1С Обработка │ ◄─────────────────────────► │ (FastAPI + │
│ (внешняя .epf) │ /1c/poll, /1c/result │ MCP SDK) │
└─────────────────┘ └─────────────────┘
│ │
▼ │
┌─────────────────┐ ┌───────┴───────┐
│ База данных │ │ Docker │
│ 1C (8.2.13/8.3) │ │ Container │
└─────────────────┘ └───────────────┘
Запуск прокси-сервера из готового образа на 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
# Клонировать репозиторий git clone <repository-url> cd 1c-mcp-toolkit # Запустить через Docker Compose docker-compose up -d
# Создать виртуальное окружение 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
- Скачайте готовую обработку из папки build MCP_Toolkit_Клиент.epf
- Откройте обработку в 1C (Файл → Открыть)
- В настройках обработки укажите:
- URL прокси-сервера:
http://localhost:6003 - (опционально) ID канала для изоляции команд
- URL прокси-сервера:
- Нажмите кнопку "Подключиться"
Добавьте в файл .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"]
}
}
}Откройте конфигурационный файл:
- 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"
}
}
}Перезапустите приложение.
| Инструмент | Описание |
|---|---|
| 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 | Получение прав доступа к объектам метаданных |
Для 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 | Получение прав доступа |
Все ответы следуют единой структуре:
Успех: {"success": true, "data": <результат>}
Ошибка: {"success": false, "error": "Описание ошибки"}
Подробные примеры использования REST API доступны в полной документации.
- Опасные операции блокируются настраиваемым черным списком
- Используйте
ALLOW_DANGEROUS_WITH_APPROVAL=trueдля режима подтверждения - Рекомендуется настроить
autoApproveтолько для безопасных инструментов
При подключении нескольких клиентов 1C к одному прокси-серверу можно изолировать потоки команд с помощью ID каналов.
{
"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-эндпоинты поддерживают изоляцию каналов через параметр запроса ?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 для соответствующего окружения.
При использовании REST API рекомендуется использовать готовые skills, которые содержат детальные инструкции по работе с 1C MCP Toolkit.
📁 Папка: 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