infaton-1c-mcp

Máy chủ MCP cho 1C:Enterprise (ERP, Kế toán, v.v.) — 51 công cụ cho siêu dữ liệu, chứng từ, sổ đăng ký, báo cáo và hơn thế nữa

GitHub
40
Dùng thử MCP nàyĐược tài trợ

Tài liệu

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

MCP35 MCP server

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

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

Часть платформы INFATON — цифровые двойники и AI-агенты над 1С:ERP. Компания: infaton.ru · Продукт: chatmcp.ru (ChatMCP — чат-двойник над вашей 1С:ERP).


🏗 Кто использует

INFATON MCP Server — движок доступа AI к 1С в продуктах платформы INFATON:

  • eventcode.ru — платформа заказной разработки: AI-агенты ведут проекты и работают с 1С:ERP заказчика через этот MCP-сервер.
  • chatmcp.ru — ChatMCP, цифровой двойник над 1С:ERP: чат-интерфейс и рабочие места (АРМ) поверх этого MCP-сервера.

Сервер открыт (MIT) — используйте в своём продукте, см. Быстрый старт.


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

ФайлОписание
Module.bslМодуль HTTP-сервиса MCP — основной код, 93 инструмента (7 350 строк)
index.mjsNode.js stdio-обёртка для MCP-клиентов (Claude Desktop, Cursor и др.)
package.jsonnpm-манифест для публикации и запуска через npx
glama.jsonМанифест для каталога Glama.ai
сборка .cfeСоберите расширение из Module.bsl (v6.2.1) — см. HOW_TO_BUILD_CFE.md
HOW_TO_BUILD_CFE.mdИнструкция по сборке и установке .cfe
EXAMPLES.mdПримеры агентских сценариев (7 кейсов)
CHANGELOG.mdИстория версий

🆕 Что нового в v6.2.1

  • Безопасная запись составных ссылок по GUID (6.2.1): объект проверяется в каждом разрешённом типе, несуществующий GUID отклоняется.
  • fill_counterparty_by_inn (6.2.0): реквизиты контрагента по ИНН штатным 1С:Контрагент (чтение, без записи).
  • get_config_fingerprint (6.1.0): дешёвый отпечаток состава конфигурации.

🆕 Что нового в v6.0.2

59 → 91 инструмент (+32): отчёты СКД под типовые конфигурации 1С:ERP (run_report, get_report_options…), аудит прав (get_rights_for_user, export_role_matrix), пользовательские настройки (set_constant, set_functional_option, set_user_setting…), снимки и сравнение (snapshot_document_state, compare_snapshots, document_chain), бизнес-данные ЕРП (get_stock_by_warehouse, get_unfulfilled_order_lines, get_reservation_status). Плюс запись ссылочных полей и перечислений (резолв _guid для шапки И строк табличных частей). Полный перечень — в CHANGELOG.md.


🆕 Что нового в 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 инструмент, группы А–З). В v6.0.2 добавлены ещё 32 (отчёты/СКД, права, пользовательские настройки, снимки, бизнес-данные 1С:ERP) — полный список из 93 в Module.bsl и CHANGELOG.md.

Группа А — Метаданные (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)

Способ А — через npx (без клонирования)

{
  "mcpServers": {
    "1c-erp": {
      "command": "npx",
      "args": ["infaton-mcp"],
      "env": {
        "ONEC_URL": "https://your-server/base/hs/mcp/",
        "ONEC_USER": "Username",
        "ONEC_PASSWORD": "Password"
      }
    }
  }
}

Способ Б — из клонированного репозитория

{
  "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": "6.2.1" }
  }
}

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            │  93 инструмента (7 350 строк)
│   (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Первый публичный релиз

🔒 Безопасность

Обязательно для продакшена

ТребованиеПочему важно
HTTPSBasic Auth передаёт логин/пароль в base64. По HTTP они видны любому в сети
Отдельный пользователь 1ССоздайте пользователя mcp_agent с минимальными правами — только нужные объекты
ONEC_ALLOWED_TOOLSОграничьте список инструментов для конкретного сценария

Опасные инструменты

Следующие инструменты требуют явного разрешения и должны использоваться осознанно:

ИнструментРискРекомендация
execute_codeВыполняет произвольный BSL-код в привилегированном режимеЗапрещать через ONEC_ALLOWED_TOOLS если не нужен
delete_objectПомечает объекты на удалениеЗапрещать в аналитических сценариях
run_scheduled_jobЗапускает регламентные заданияЗапрещать если не нужен
import_dataМассовое создание/изменение объектовЗапрещать в read-only сценариях
post_document / unpost_documentИзменяет проведение документов и движения по регистрамТолько для операционных сценариев

Конфигурация только для чтения

ONEC_ALLOWED_TOOLS="get_metadata_tree,execute_query,get_object_by_ref,get_list,find_by_code,find_by_name,get_register_records,get_document_list,get_server_info,get_event_log,get_balance,get_register_totals,get_accounting_entries,get_related_documents,get_form_structure,get_rights,find_duplicates"

Подробнее — см. EXAMPLES.md.


📄 Лицензия

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

Платформа: infaton.ru · Продукт: chatmcp.ru (ChatMCP).


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

Примеры агентских сценариев — см. EXAMPLES.md

История изменений — см. CHANGELOG.md


📰 Публикация на Инфостарт

Infostart

Статья на портале Инфостарт: INFATON MCP Server v2.1 — 51 инструмент для AI-интеграции с 1С:Предприятие