关于 Infaton Mcp35
INFATON MCP Server 是部署在 1С:Предприятие 一侧的 MCP 服务,为 AI 助手提供访问 1С 数据库的工具。它通过 JSON-RPC 2.0 提供元数据、业务数据、管理与文档操作能力,并包含供 MCP 客户端使用的 Node.js stdio 包装器。
主要功能
- 01通过 JSON-RPC 2.0 提供 MCP 接口
- 02读取元数据与业务数据
- 03创建和修改 1С 对象及文档
- 04提供报表、审计和管理工具
- 05Node.js stdio 客户端包装器
适用场景
- 01查询 1С:ERP 中的业务数据
- 02检查文档状态、余额与会计分录
- 03通过 AI Agent 执行 1С 操作和报表
- 04从 MCP 客户端连接 1С 数据库
MCP 相关
服务在 1С:Предприятие 一侧运行,并向 MCP 客户端公开 1С 数据库相关工具。Node.js stdio 包装器可连接 Claude Desktop、Cursor 等 MCP 客户端。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
http://localhost:8085/mcpclaude mcp add --transport http MCP35 http://localhost:8085/mcp{"mcpServers":{"MCP35":{"type":"http","url":"http://localhost:8085/mcp"}}}在 Cursor 中打开{"servers":{"MCP35":{"type":"http","url":"http://localhost:8085/mcp"}}}在 VS Code 中打开{"mcpServers":{"MCP35":{"type":"http","url":"http://localhost:8085/mcp"}}}{"mcpServers":{"MCP35":{"serverUrl":"http://localhost:8085/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
INFATON MCP Server для 1С:Предприятие
Model Context Protocol (MCP) — сервер на стороне 1С:Предприятие, предоставляющий 94 инструмента для взаимодействия 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) — используйте в своём продукте, см. Быстрый старт.
Правообладатель отдельного MCP-моста — Привалов Сергей Юрьевич. Мост распространяется по MIT; лицензия моста не предоставляет прав на самостоятельную программу INFATON Chat.
📋 Состав репозитория
| Файл | Описание |
|---|---|
Module.bsl | Модуль HTTP-сервиса MCP — основной код, 94 инструмента (7 574 строки) |
index.mjs | Node.js stdio-обёртка для MCP-клиентов (Claude Desktop, Cursor и др.) |
package.json | npm-манифест для публикации и запуска через npx |
glama.json | Манифест для каталога Glama.ai |
| сборка .cfe | Соберите расширение из Module.bsl (v6.2.8) — см. HOW_TO_BUILD_CFE.md |
HOW_TO_BUILD_CFE.md | Инструкция по сборке и установке .cfe |
EXAMPLES.md | Примеры агентских сценариев (7 кейсов) |
CHANGELOG.md | История версий |
🆕 Что нового в v6.2.8
- Строка преобразуется в дату только для реквизита с единственным типом
Дата; для составного типа сохраняется исходная строка. Некорректная или пустая дата вызывает явную ошибку до попытки присвоения.
Возможности, сохранённые из v6.2.5
check_object_fill: проверка будущего объекта в памяти, без вызова записи самим инструментом; результатis_complete,missing,missing_fields.type_namesв описании реквизитов: технические имена ссылочных типов вместо догадок по синонимам.- Сообщения 1С при проверке заполнения и ошибке создания передаются клиенту, если конфигурация их предоставляет.
- Подключённая stdio-обёртка получает каталог через
tools/listустановленной 1С, поэтому новые инструменты больше не скрываются старым списком из 51. ФильтрONEC_ALLOWED_TOOLSприменяется к каталогу и вызовам.
Поставка 6.2.8 — исходный код. Сборка и проверка расширения в вашей конфигурации выполняются по инструкции. Готовый бинарный .cfe с неподтверждённым соответствием исходнику не прикладывается. Проверки Node-обёртки не заменяют компиляцию и приёмку в 1С. Без ONEC_URL доступен только старый демонстрационный каталог из 51 инструмента; это не список установленного сервера.
Изменения предыдущей 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 патчей)
| # | Инструмент | Баг | Исправление |
|---|---|---|---|
| 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 инструмент, группы А–З). В v6.0.2 добавлены ещё 32 (отчёты/СКД, права, пользовательские настройки, снимки, бизнес-данные 1С:ERP) — актуальные 94 регистрации находятся в
Module.bsl; изменения — в CHANGELOG.md. Для точного каталога и схем запрашивайтеtools/listустановленного сервера.
Группа А — Метаданные (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 (версия npm проверяется отдельно)
Публикация исходного релиза 6.2.8 не обновляет пакет npm автоматически. Для этой версии используйте способ Б: клонирование тега v6.2.8.
{
"mcpServers": {
"1c-erp": {
"command": "npx",
"args": ["infaton-mcp"],
"env": {
"ONEC_URL": "https://your-server/base/hs/mcp/",
"ONEC_USER": "Username",
"ONEC_PASSWORD": "Password"
}
}
}
}
Способ Б — из клонированного репозитория
git clone --branch v6.2.8 https://github.com/infaton/MCP35.git
cd MCP35
npm test
{
"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С
- Конфигурация → Расширения конфигурации → Добавить
- Выберите расширение, собранное из
Module.bslверсии 6.2.8 по инструкции - Обновите конфигурацию БД (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.8" }
}
}
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 │ 94 инструмента (7 574 строки)
│ (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 封装) |
📊 版本历史
| 版本 | 日期 | 工具数 | 更改 |
|---|---|---|---|
| v6.2.8 | 2026-10-16(源码发布) | 94 | 对单一类型 Дата 进行类型化日期转换 |
| v6.2.5 | 2026-10-04(发布) | 94 | 填充检查、技术类型、1С 消息、最新 stdio 目录 |
| v6.2.1 | 2026-09-09 | 93 | 按 GUID 检查复合引用 |
| 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 | 首个公开版本 |
🔒 安全性
生产环境必备
| 要求 | 重要原因 |
|---|---|
| HTTPS | Basic Auth 会以 base64 形式传输用户名和密码。通过 HTTP 传输时,网络中的任何人都能看到它们 |
| 单独的 1С 用户 | 创建具有最小权限的用户 mcp_agent——仅授予所需对象的权限 |
ONEC_ALLOWED_TOOLS | 针对特定场景限制工具列表 |
危险工具
以下工具需要明确授权,必须谨慎使用:
| 工具 | 风险 | 建议 |
|---|---|---|
execute_code | 以特权模式执行任意 BSL 代码 | 如果不需要,请通过 ONEC_ALLOWED_TOOLS 禁用 |
delete_object | 将对象标记为删除 | 在分析场景中禁用 |
run_scheduled_job | 启动计划任务 | 如果不需要,请禁用 |
import_data | 批量创建/更改对象 | 在只读场景中禁用 |
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
有关 Agent 场景的示例,请参阅 EXAMPLES.md
更改历史,请参阅 CHANGELOG.md
📰 在 Инфостарт 上发布
Инфостарт 门户上的文章:INFATON MCP Server v2.1 — 用于与 1С:Предприятие 集成 AI 的 51 个工具
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。