infaton-1c-mcp Server

MCP server for 1C:Enterprise (ERP, Accounting, etc.) — 51 tools for metadata, documents, registers, reports and more

Documentation

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

MCP35 MCP server

Model Context Protocol (MCP) — сервер на стороне 1С:Предприятие, предоставляющий 51 инструмент для взаимодействия AI-ассистентов с базой данных 1С.

Протокол: JSON-RPC 2.0 (спецификация MCP)


📋 Состав репозитория

ФайлОписание
Module.bslМодуль HTTP-сервиса MCP — основной код, 51 инструмент (4 263 строки)
index.mjsNode.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 патчей)

#ИнструментБагИсправление
P1get_listОтсутствие ПЕРВЫЕ N — возвращал ВСЕ записиДобавлен ПЕРВЫЕ с параметром limit (по умолчанию 100)
P2get_document_listФильтр по дате — Дата >= без параметраДобавлен Запрос.УстановитьПараметр для дат
P3get_object_by_refПустая ссылка → невнятная ошибка платформыДобавлена проверка Если НЕ ЗначениеЗаполнено(Ссылка)
P4get_active_users / get_locksПрямой обход коллекции сеансов → ошибка на сервереПереход на МассивСеансов = ПолучитьСеансыИнформационнойБазы()
P5get_event_logДата передавалась строкой + поле «Метаданные» вместо представленияПреобразоватьДату() + .МетаданныеПредставление
P6ПреобразоватьДатуНе обрабатывал 2026-05-14, 14.05.2026, 20260514Полная перезапись: ISO 8601 + 3 формата
P7fill_on_basisОбъект.Заполнить() → верный метод ЗаполнитьНаОсновании()Исправлен вызов метода
P8execute_batchВложенный execute_batch → бесконечная рекурсияДобавлен guard-флаг _batch_depth
P9Версия оставалась 2.0.0Обновлена до 2.1.0

Новые инструменты (10 штук, группа З)

#ИнструментНазначение
42get_balanceОстатки и обороты регистра бухгалтерии (любой план счетов)
43get_register_totalsИтоги регистров накопления (остатки/обороты)
44get_accounting_entriesБухгалтерские проводки документа (Дт, Кт, сумма)
45get_related_documentsЦепочка связанных документов (ввод на основании)
46validate_documentПроверка заполнения документа без проведения
47get_form_structureСтруктура управляемой формы (реквизиты, команды)
48get_rightsПрава доступа текущего пользователя к объекту
49find_duplicatesПоиск дублей в справочниках по реквизитам
50get_print_formПечатные формы через подсистему УправлениеПечатью
51get_configuration_extensionsСписок расширений конфигурации (CFE)

🛠 Полный каталог: 51 инструмент

Группа А — Метаданные (8)

#ИнструментОписание
1get_metadata_treeДерево объектов метаданных конфигурации
2get_object_metadataПолная структура объекта (реквизиты, ТЧ, модули)
3get_object_attributesСписок реквизитов объекта
4get_object_tabular_sectionsТабличные части объекта
5get_enum_valuesЗначения перечисления
6get_register_dimensionsИзмерения, ресурсы и реквизиты регистра
7get_document_movementsДвижения документа по регистрам
8search_metadataПоиск по метаданным (по имени/синониму)

Группа Б — Чтение данных (7)

#ИнструментОписание
9execute_queryВыполнение произвольного запроса 1С
10get_object_by_refПолучение объекта по ссылке/GUID
11get_listСписок элементов справочника/документа с фильтрами
12find_by_codeПоиск элемента по коду
13find_by_nameПоиск элемента по наименованию
14get_register_recordsЗаписи регистра с фильтрами
15get_document_listСписок документов с фильтрами по дате/номеру

Группа В — CRUD (7)

#ИнструментОписание
16create_objectСоздание нового объекта (справочник/документ)
17update_objectИзменение реквизитов объекта
18delete_objectПометка на удаление
19post_documentПроведение документа
20unpost_documentОтмена проведения
21copy_objectКопирование объекта
22set_attributeИзменение отдельного реквизита

Группа Г — Код и отчёты (4)

#ИнструментОписание
23execute_codeВыполнение произвольного кода на встроенном языке
24evaluate_expressionВычисление выражения и возврат результата
25get_module_textПолучение текста модуля объекта
26generate_reportФормирование отчёта (СКД)

Группа Д — Администрирование (6)

#ИнструментОписание
27get_active_usersСписок активных пользователей и сеансов
28get_event_logЖурнал регистрации с фильтрами
29get_locksТекущие блокировки данных
30get_server_infoИнформация о платформе, конфигурации, сервере
31check_referencesПроверка ссылочной целостности
32run_scheduled_jobЗапуск регламентного задания

Группа Е — Интеграция (3)

#ИнструментОписание
33exchange_executeВыполнение обмена данными
34get_exchange_logЖурнал обмена
35import_dataИмпорт данных из JSON

Группа Ж — Расширенные операции v2.0 (6)

#ИнструментОписание
36fill_on_basisЗаполнение документа на основании другого
37write_register_recordsЗапись набора записей регистра
38update_tabular_sectionОбновление табличной части объекта
39subscribe_eventsПодписка на события журнала
40execute_batchПакетное выполнение инструментов
41get_changes_sinceПолучение изменений с метки времени (CDC)

Группа З — Бухгалтерия, аудит, формы v2.1 (10) 🆕

#ИнструментОписание
42get_balanceОстатки/обороты регистра бухгалтерии
43get_register_totalsИтоги регистров накопления
44get_accounting_entriesПроводки документа (Дт/Кт/Сумма)
45get_related_documentsСвязанные документы (цепочка оснований)
46validate_documentПроверка заполнения без проведения
47get_form_structureСтруктура управляемой формы
48get_rightsПрава доступа текущего пользователя
49find_duplicatesПоиск дублей по реквизитам
50get_print_formПечатные формы через УправлениеПечатью
51get_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. Откройте Конфигуратор базы 1С
  2. Конфигурация → Расширения конфигурации → Добавить
  3. Выберите файл INFATON_MCP.cfe (или соберите по инструкции из Module.bsl)
  4. Обновите конфигурацию БД (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.js18+ (для stdio-обёртки)

📊 История версий

ВерсияДатаИнструментовИзменения
v2.1.02026-05-1451+10 инструментов (бухгалтерия, аудит, формы), 9 багфиксов
v2.0.02026-05-0841+6 инструментов (batch, CDC, fill_on_basis и др.)
v1.0.02026-04-2835Первый публичный релиз

📄 Лицензия

MIT © 2024-2026 INFATON — Привалов С.Ю.


Подробная инструкция по сборке .cfe — см. HOW_TO_BUILD_CFE.md