Infaton Mcp35

by infaton

25 stars
327 downloads
Not rated
GitHub Website

About

INFATON MCP Server — 51 tools for 1C:Enterprise ERP via Model Context Protocol (JSON-RPC 2.0). Digital twins, AI agents, BSL.

Details

Author
infaton
GitHub stars
25
Downloads
327
Categories
Developer Tools, AI, Other, Database, Automation

- 51 tools across 8 groups: metadata, data reading, CRUD, code/reports, administration, integration, advanced operations, and accounting/audit/forms.
- Read, create, update, delete documents, references, and register records.
- Execute arbitrary 1C queries and code (BSL) in privileged mode.
- Accounting tools: get_balance, get_accounting_entries, get_register_totals.
- Administration: active users, event log, locks, server info, scheduled jobs.
- Batch execution of multiple tools in one request.
- Security via environment variable ONEC_ALLOWED_TOOLS to restrict available tools.
- Compatible with 1C platform 8.3.20+ and configurations like ERP 2.5, Accounting 3.0, UT 11, KA 2.

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Infaton Mcp35
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install the INFATON_MCP.cfe extension in your 1C database (via Configurator). Then configure an MCP client (e.g., Claude Desktop, Cursor) with the command npx infaton-mcp (or node index.mjs) and environment variables ONEC_URL, ONEC_USER, ONEC_PASSWORD. Alternatively, make direct HTTP POST requests to the /hs/mcp/ endpoint with JSON-RPC 2.0 payloads.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "infaton mcp35": {
            "infaton-mcp35": {
                "url": "http://localhost:8085/mcp",
                "transport": "http"
            }
        }
    }
}

McpServers

{
    "infaton-mcp35": {
        "url": "http://localhost:8085/mcp",
        "transport": "http"
    }
}

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.mjs | Node.js stdio-обёртка для MCP-клиентов (Claude Desktop, Cursor и др.) |
| package.json | npm-манифест для публикации и запуска через npx |
| glama.json | Манифест для каталога Glama.ai |
| INFATON_MCP.cfe | Расширение конфигурации 1С v2.1.0 (бинарный пакет) |
| HOW_TO_BUILD_CFE.md | Инструкция по сборке и установке .cfe |
| EXAMPLES.md | Примеры агентских сценариев (7 кейсов) |
| CHANGELOG.md | История версий |

---

🆕 Что нового в 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)

Способ А — через 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. Установите расширение

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.