INFATON MCP Server для 1С:Предприятие

Model Context Protocol (MCP) — сервер на стороне 1С:Предприятие, предоставляющий 51 инструмент для взаимодействия AI-ассистентов с базой данных 1С.
Протокол: JSON-RPC 2.0 (спецификация MCP)
📋 Состав репозитория
| Файл |
Описание |
Module.bsl |
Модуль HTTP-сервиса MCP — основной код, 51 инструмент (4 263 строки) |
index.mjs |
Node.js stdio-обёртка для MCP-клиентов (Claude Desktop, Cursor и др.) |
glama.json |
Манифест для каталога Glama.ai |
INFATON_MCP.cfe |
Расширение конфигурации 1С v2.0.0 (бинарный пакет) |
HOW_TO_BUILD_CFE.md |
Инструкция по сборке и установке .cfe |
🆕 Что нового в v2.1.0
Исправления (9 патчей)
| # |
Инструмент |
Баг |
Исправление |
| P1 |
get_list |
Отсутствие ПЕРВЫЕ N — возвращал ВСЕ записи |
Добавлен ПЕРВЫЕ с параметром limit (по умолчанию 100) |
| P2 |
get_document_list |
Фильтр по дате — Дата >= без параметра |
Добавлен Запрос.УстановитьПараметр для дат |
| P3 |
get_object_by_ref |
Пустая ссылка → невнятная ошибка платформы |
Добавлена проверка Если НЕ ЗначениеЗаполнено(Ссылка) |
| P4 |
get_active_users / get_locks |
Прямой обход коллекции сеансов → ошибка на сервере |
Переход на МассивСеансов = ПолучитьСеансыИнформационнойБазы() |
| P5 |
get_event_log |
Дата передавалась строкой + поле «Метаданные» вместо представления |
ПреобразоватьДату() + .МетаданныеПредставление |
| P6 |
ПреобразоватьДату |
Не обрабатывал 2026-05-14, 14.05.2026, 20260514 |
Полная перезапись: ISO 8601 + 3 формата |
| P7 |
fill_on_basis |
Объект.Заполнить() → верный метод ЗаполнитьНаОсновании() |
Исправлен вызов метода |
| P8 |
execute_batch |
Вложенный execute_batch → бесконечная рекурсия |
Добавлен guard-флаг _batch_depth |
| P9 |
— |
Версия оставалась 2.0.0 |
Обновлена до 2.1.0 |
Новые инструменты (10 штук, группа З)
| # |
Инструмент |
Назначение |
| 42 |
get_balance |
Остатки и обороты регистра бухгалтерии (любой план счетов) |
| 43 |
get_register_totals |
Итоги регистров накопления (остатки/обороты) |
| 44 |
get_accounting_entries |
Бухгалтерские проводки документа (Дт, Кт, сумма) |
| 45 |
get_related_documents |
Цепочка связанных документов (ввод на основании) |
| 46 |
validate_document |
Проверка заполнения документа без проведения |
| 47 |
get_form_structure |
Структура управляемой формы (реквизиты, команды) |
| 48 |
get_rights |
Права доступа текущего пользователя к объекту |
| 49 |
find_duplicates |
Поиск дублей в справочниках по реквизитам |
| 50 |
get_print_form |
Печатные формы через подсистему УправлениеПечатью |
| 51 |
get_configuration_extensions |
Список расширений конфигурации (CFE) |
🛠 Полный каталог: 51 инструмент
Группа А — Метаданные (8)
| # |
Инструмент |
Описание |
| 1 |
get_metadata_tree |
Дерево объектов метаданных конфигурации |
| 2 |
get_object_metadata |
Полная структура объекта (реквизиты, ТЧ, модули) |
| 3 |
get_object_attributes |
Список реквизитов объекта |
| 4 |
get_object_tabular_sections |
Табличные части объекта |
| 5 |
get_enum_values |
Значения перечисления |
| 6 |
get_register_dimensions |
Измерения, ресурсы и реквизиты регистра |
| 7 |
get_document_movements |
Движения документа по регистрам |
| 8 |
search_metadata |
Поиск по метаданным (по имени/синониму) |
Группа Б — Чтение данных (7)
| # |
Инструмент |
Описание |
| 9 |
execute_query |
Выполнение произвольного запроса 1С |
| 10 |
get_object_by_ref |
Получение объекта по ссылке/GUID |
| 11 |
get_list |
Список элементов справочника/документа с фильтрами |
| 12 |
find_by_code |
Поиск элемента по коду |
| 13 |
find_by_name |
Поиск элемента по наименованию |
| 14 |
get_register_records |
Записи регистра с фильтрами |
| 15 |
get_document_list |
Список документов с фильтрами по дате/номеру |
Группа В — CRUD (7)
| # |
Инструмент |
Описание |
| 16 |
create_object |
Создание нового объекта (справочник/документ) |
| 17 |
update_object |
Изменение реквизитов объекта |
| 18 |
delete_object |
Пометка на удаление |
| 19 |
post_document |
Проведение документа |
| 20 |
unpost_document |
Отмена проведения |
| 21 |
copy_object |
Копирование объекта |
| 22 |
set_attribute |
Изменение отдельного реквизита |
Группа Г — Код и отчёты (4)
| # |
Инструмент |
Описание |
| 23 |
execute_code |
Выполнение произвольного кода на встроенном языке |
| 24 |
evaluate_expression |
Вычисление выражения и возврат результата |
| 25 |
get_module_text |
Получение текста модуля объекта |
| 26 |
generate_report |
Формирование отчёта (СКД) |
Группа Д — Администрирование (6)
| # |
Инструмент |
Описание |
| 27 |
get_active_users |
Список активных пользователей и сеансов |
| 28 |
get_event_log |
Журнал регистрации с фильтрами |
| 29 |
get_locks |
Текущие блокировки данных |
| 30 |
get_server_info |
Информация о платформе, конфигурации, сервере |
| 31 |
check_references |
Проверка ссылочной целостности |
| 32 |
run_scheduled_job |
Запуск регламентного задания |
Группа Е — Интеграция (3)
| # |
Инструмент |
Описание |
| 33 |
exchange_execute |
Выполнение обмена данными |
| 34 |
get_exchange_log |
Журнал обмена |
| 35 |
import_data |
Импорт данных из JSON |
Группа Ж — Расширенные операции v2.0 (6)
| # |
Инструмент |
Описание |
| 36 |
fill_on_basis |
Заполнение документа на основании другого |
| 37 |
write_register_records |
Запись набора записей регистра |
| 38 |
update_tabular_section |
Обновление табличной части объекта |
| 39 |
subscribe_events |
Подписка на события журнала |
| 40 |
execute_batch |
Пакетное выполнение инструментов |
| 41 |
get_changes_since |
Получение изменений с метки времени (CDC) |
Группа З — Бухгалтерия, аудит, формы v2.1 (10) 🆕
| # |
Инструмент |
Описание |
| 42 |
get_balance |
Остатки/обороты регистра бухгалтерии |
| 43 |
get_register_totals |
Итоги регистров накопления |
| 44 |
get_accounting_entries |
Проводки документа (Дт/Кт/Сумма) |
| 45 |
get_related_documents |
Связанные документы (цепочка оснований) |
| 46 |
validate_document |
Проверка заполнения без проведения |
| 47 |
get_form_structure |
Структура управляемой формы |
| 48 |
get_rights |
Права доступа текущего пользователя |
| 49 |
find_duplicates |
Поиск дублей по реквизитам |
| 50 |
get_print_form |
Печатные формы через УправлениеПечатью |
| 51 |
get_configuration_extensions |
Список расширений конфигурации (CFE) |
🚀 Быстрый старт
Вариант 1: Через Claude Desktop / Cursor (stdio)
Добавьте в claude_desktop_config.json:
{
"mcpServers": {
"1c-erp": {
"command": "node",
"args": ["/path/to/MCP35/index.mjs"],
"env": {
"ONEC_URL": "https://your-server/base/hs/mcp/",
"ONEC_USER": "Username",
"ONEC_PASSWORD": "Password"
}
}
}
}
Вариант 2: Прямой HTTP-вызов
1. Установите расширение
- Откройте Конфигуратор базы 1С
- Конфигурация → Расширения конфигурации → Добавить
- Выберите файл
INFATON_MCP.cfe (или соберите по инструкции из Module.bsl)
- Обновите конфигурацию БД (F7)
2. Проверьте подключение
curl -u 'Логин:Пароль' -X POST \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","method":"initialize","id":1}' \
https://ваш-сервер/база/hs/mcp/
Ожидаемый ответ:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"protocolVersion": "2024-11-05",
"capabilities": { "tools": {} },
"serverInfo": { "name": "infaton-1c-mcp", "version": "2.1.0" }
}
}
3. Вызовите инструмент
curl -u 'Логин:Пароль' -X POST \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","method":"tools/call","id":2,"params":{"name":"get_balance","arguments":{"account_code":"41.01","period_from":"2026-01-01T00:00:00","period_to":"2026-03-31T23:59:59"}}}' \
https://ваш-сервер/база/hs/mcp/
📐 Архитектура
┌─────────────────────────┐
│ AI Assistant │ Claude / GPT / Qwen / Gemini / ...
│ (MCP Client) │
└────────┬────────────────┘
│ stdio (JSON-RPC 2.0)
▼
┌─────────────────────────┐
│ index.mjs │ Node.js stdio → HTTP proxy
│ (MCP Transport) │
└────────┬────────────────┘
│ HTTP POST (Basic Auth)
▼
┌─────────────────────────┐
│ HTTP-сервис /hs/mcp/ │ Расширение INFATON_MCP.cfe
│ Module.bsl │ 51 инструмент (4 263 строки)
│ (MCP Server) │
└────────┬────────────────┘
│ Встроенный язык 1С
▼
┌─────────────────────────┐
│ База 1С:Предприятие │ ERP / УПП / Бухгалтерия / УТ / КА
│ Данные, метаданные │
└─────────────────────────┘
📝 Совместимость
| Параметр |
Значение |
| Платформа 1С |
8.3.20+ (тестировалось на 8.3.27.1989) |
| Конфигурации |
ERP 2.5, УПП 1.3, Бухгалтерия 3.0, УТ 11, КА 2 |
| MCP Протокол |
2024-11-05 |
| Транспорт |
HTTP (Basic Auth), stdio (через index.mjs) |
| Node.js |
18+ (для stdio-обёртки) |
📊 История версий
| Версия |
Дата |
Инструментов |
Изменения |
| v2.1.0 |
2026-05-14 |
51 |
+10 инструментов (бухгалтерия, аудит, формы), 9 багфиксов |
| v2.0.0 |
2026-05-08 |
41 |
+6 инструментов (batch, CDC, fill_on_basis и др.) |
| v1.0.0 |
2026-04-28 |
35 |
Первый публичный релиз |
📄 Лицензия
MIT © 2024-2026 INFATON — Привалов С.Ю.
Подробная инструкция по сборке .cfe — см. HOW_TO_BUILD_CFE.md