infaton-1c-mcp

Servidor MCP para 1C:Enterprise (ERP, Contabilidad, etc.) — 51 herramientas para metadatos, documentos, registros, informes y más

Documentación

INFATON MCP Server para 1C:Enterprise

MCP35 MCP server

Model Context Protocol (MCP) — servidor del lado de 1C:Enterprise que proporciona 93 herramientas para la interacción de asistentes de IA con la base de datos 1C.

Protocolo: JSON-RPC 2.0 (especificación MCP)

Parte de la plataforma INFATON — gemelos digitales y agentes de IA sobre 1C:ERP. Empresa: infaton.ru · Producto: chatmcp.ru (ChatMCP — chat gemelo sobre su 1C:ERP).


🏗 Quién lo utiliza

INFATON MCP Server es el motor de acceso de IA a 1C en los productos de la plataforma INFATON:

  • eventcode.ru — plataforma de desarrollo a medida: los agentes de IA gestionan proyectos y trabajan con el 1C:ERP del cliente a través de este servidor MCP.
  • chatmcp.ru — ChatMCP, gemelo digital sobre 1C:ERP: interfaz de chat y puestos de trabajo (ARMs) sobre este servidor MCP.

El servidor es de código abierto (MIT) — úselo en su producto, consulte Inicio rápido.


📋 Contenido del repositorio

ArchivoDescripción
Module.bslMódulo del servicio HTTP MCP — código principal, 93 herramientas (7 350 líneas)
index.mjsEnvoltorio stdio de Node.js para clientes MCP (Claude Desktop, Cursor y otros)
package.jsonManifiesto npm para publicación y ejecución mediante npx
glama.jsonManifiesto para el catálogo Glama.ai
compilación .cfeCompile la extensión desde Module.bsl (v6.2.1) — consulte HOW_TO_BUILD_CFE.md
HOW_TO_BUILD_CFE.mdInstrucciones de compilación e instalación de .cfe
EXAMPLES.mdEjemplos de escenarios de agentes (7 casos)
CHANGELOG.mdHistorial de versiones

🆕 Novedades en v6.2.1

  • Escritura segura de referencias compuestas por GUID (6.2.1): el objeto se verifica en cada tipo permitido, los GUID inexistentes se rechazan.
  • fill_counterparty_by_inn (6.2.0): datos de contraparte por INN mediante el estándar 1C:Contraparte (lectura, sin escritura).
  • get_config_fingerprint (6.1.0): huella económica de la composición de la configuración.

🆕 Novedades en v6.0.2

59 → 91 herramienta (+32): informes SKD para configuraciones típicas de 1C:ERP (run_report, get_report_options…), auditoría de derechos (get_rights_for_user, export_role_matrix), configuraciones de usuario (set_constant, set_functional_option, set_user_setting…), instantáneas y comparación (snapshot_document_state, compare_snapshots, document_chain), datos de negocio ERP (get_stock_by_warehouse, get_unfulfilled_order_lines, get_reservation_status). Además, escritura de campos de referencia y enumeraciones (resolución de _guid para encabezados y filas de partes tabulares). Lista completa en CHANGELOG.md.


🆕 Novedades en v2.1.0

Correcciones (9 parches)

#HerramientaErrorCorrección
P1get_listAusencia de ПЕРВЫЕ N — devolvía TODOS los registrosSe añadió ПЕРВЫЕ con el parámetro limit (por defecto 100)
P2get_document_listFiltro por fecha — Дата >= sin parámetroSe añadió Запрос.УстановитьПараметр para fechas
P3get_object_by_refReferencia vacía → error confuso de la plataformaSe añadió la verificación de Если НЕ ЗначениеЗаполнено(Ссылка)
P4get_active_users / get_locksRecorrido directo de la colección de sesiones → error en el servidorMigración a МассивСеансов = ПолучитьСеансыИнформационнойБазы()
P5get_event_logLa fecha se transmitía como cadena + campo «Metadatos» en lugar de representaciónПреобразоватьДату() + .МетаданныеПредставление
P6ПреобразоватьДатуNo procesaba 2026-05-14, 14.05.2026, 20260514Reescritura completa: ISO 8601 + 3 formatos
P7fill_on_basisОбъект.Заполнить() → método correcto ЗаполнитьНаОсновании()Corregida la llamada al método
P8execute_batchexecute_batch anidado → recursión infinitaSe añadió la bandera de protección _batch_depth
P9—La versión seguía siendo 2.0.0Actualizada a 2.1.0

Nuevas herramientas (10, grupo З)

#HerramientaPropósito
42get_balanceSaldos y movimientos del registro contable (cualquier plan de cuentas)
43get_register_totalsTotales de registros de acumulación (saldos/movimientos)
44get_accounting_entriesAsientos contables del documento (Débito, Crédito, importe)
45get_related_documentsCadena de documentos vinculados (entrada sobre la base)
46validate_documentVerificación de completitud del documento sin contabilización
47get_form_structureEstructura del formulario gestionado (atributos, comandos)
48get_rightsDerechos de acceso del usuario actual al objeto
49find_duplicatesBúsqueda de duplicados en directorios por atributos
50get_print_formFormularios impresos mediante el subsistema GestiónDeImpresión
51get_configuration_extensionsLista de extensiones de configuración (CFE)

🛠 Catálogo de herramientas

A continuación — catálogo base (51 herramienta, grupos А–З). En v6.0.2 se añadieron otras 32 (informes/SKD, derechos, configuraciones de usuario, instantáneas, datos de negocio 1C:ERP) — lista completa de 93 en Module.bsl y CHANGELOG.md.

Grupo А — Metadatos (8)

#HerramientaDescripción
1get_metadata_treeÁrbol de objetos de metadatos de la configuración
2get_object_metadataEstructura completa del objeto (atributos, partes tabulares, módulos)
3get_object_attributesLista de atributos del objeto
4get_object_tabular_sectionsPartes tabulares del objeto
5get_enum_valuesValores de enumeración
6get_register_dimensionsDimensiones, recursos y atributos del registro
7get_document_movementsMovimientos del documento por registros
8search_metadataBúsqueda en metadatos (por nombre/sinónimo)

Grupo Б — Lectura de datos (7)

#HerramientaDescripción
9execute_queryEjecución de consulta 1C arbitraria
10get_object_by_refObtención del objeto por referencia/GUID
11get_listLista de elementos del directorio/documento con filtros
12find_by_codeBúsqueda de elemento por código
13find_by_nameBúsqueda de elemento por nombre
14get_register_recordsRegistros del registro con filtros
15get_document_listLista de documentos con filtros por fecha/número

Grupo В — CRUD (7)

#HerramientaDescripción
16create_objectCreación de nuevo objeto (directorio/documento)
17update_objectModificación de atributos del objeto
18delete_objectMarcado para eliminación
19post_documentContabilización del documento
20unpost_documentCancelación de contabilización
21copy_objectCopia del objeto
22set_attributeModificación de un atributo individual

Grupo Г — Código e informes (4)

#HerramientaDescripción
23execute_codeEjecución de código arbitrario en el lenguaje integrado
24evaluate_expressionCálculo de expresión y devolución del resultado
25get_module_textObtención del texto del módulo del objeto
26generate_reportGeneración de informe (SKD)

Grupo Д — Administración (6)

#HerramientaDescripción
27get_active_usersLista de usuarios activos y sesiones
28get_event_logRegistro de actividad con filtros
29get_locksBloqueos de datos actuales
30get_server_infoInformación sobre plataforma, configuración, servidor
31check_referencesVerificación de integridad referencial
32run_scheduled_jobEjecución de tarea programada

Grupo Е — Integración (3)

#HerramientaDescripción
33exchange_executeEjecución de intercambio de datos
34get_exchange_logRegistro de intercambio
35import_dataImportación de datos desde JSON

Grupo Ж — Operaciones avanzadas v2.0 (6)

#HerramientaDescripción
36fill_on_basisRelleno del documento sobre la base de otro
37write_register_recordsEscritura de conjunto de registros del registro
38update_tabular_sectionActualización de la parte tabular del objeto
39subscribe_eventsSuscripción a eventos del registro
40execute_batchEjecución por lotes de herramientas
41get_changes_sinceObtención de cambios con marca de tiempo (CDC)

Grupo З — Contabilidad, auditoría, formularios v2.1 (10) 🆕

#HerramientaDescripción
42get_balanceSaldos/movimientos del registro contable
43get_register_totalsTotales de registros de acumulación
44get_accounting_entriesAsientos del documento (Débito/Crédito/Importe)
45get_related_documentsDocumentos vinculados (cadena de bases)
46validate_documentVerificación de completitud sin contabilización
47get_form_structureEstructura del formulario gestionado
48get_rightsDerechos de acceso del usuario actual
49find_duplicatesBúsqueda de duplicados por atributos
50get_print_formFormularios impresos mediante GestiónDeImpresión
51get_configuration_extensionsLista de extensiones de configuración (CFE)

🚀 Inicio rápido

Opción 1: Mediante Claude Desktop / Cursor (stdio)

Método А — mediante npx (sin clonación)

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

Método Б — desde el repositorio clonado

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

Opción 2: Llamada HTTP directa

1. Instale la extensión

  1. Abra el Configurador de la base 1C
  2. Configuración → Extensiones de configuración → Agregar
  3. Seleccione el archivo INFATON_MCP.cfe (o compílelo según la instrucción desde Module.bsl)
  4. Actualice la configuración de la base de datos (F7)

2. Verifique la conexión

curl -u 'Логин:Пароль' -X POST \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","method":"initialize","id":1}' \
  https://ваш-сервер/база/hs/mcp/

Respuesta esperada:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "protocolVersion": "2024-11-05",
    "capabilities": { "tools": {} },
    "serverInfo": { "name": "infaton-1c-mcp", "version": "6.2.1" }
  }
}

3. Llame a la herramienta

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/

📐 Arquitectura

┌─────────────────────────┐
│   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 / УПП / Бухгалтерия / УТ / КА
│   Данные, метаданные    │
└─────────────────────────┘

📝 Compatibilidad

ParámetroValor
Plataforma 1C8.3.20+ (probado en 8.3.27.1989)
ConfiguracionesERP 2.5, UPP 1.3, Contabilidad 3.0, UT 11, KA 2
Protocolo MCP2024-11-05
TransporteHTTP (Basic Auth), stdio (mediante index.mjs)
Node.js18+ (para la envoltura stdio)

📊 Historial de versiones

VersiónFechaHerramientasCambios
v2.1.02026-05-1451+10 herramientas (contabilidad, auditoría, formularios), 9 correcciones de errores
v2.0.02026-05-0841+6 herramientas (batch, CDC, fill_on_basis y otras)
v1.0.02026-04-2835Primer lanzamiento público

🔒 Seguridad

Obligatorio para producción

RequisitoPor qué es importante
HTTPSBasic Auth transmite usuario/contraseña en base64. Por HTTP son visibles para cualquiera en la red
Usuario 1C separadoCree un usuario mcp_agent con derechos mínimos — solo los objetos necesarios
ONEC_ALLOWED_TOOLSLimite la lista de herramientas para un escenario específico

Herramientas peligrosas

Las siguientes herramientas requieren permiso explícito y deben usarse con conciencia:

HerramientaRiesgoRecomendación
execute_codeEjecuta código BSL arbitrario en modo privilegiadoProhibir mediante ONEC_ALLOWED_TOOLS si no es necesario
delete_objectMarca objetos para eliminaciónProhibir en escenarios analíticos
run_scheduled_jobEjecuta tareas programadasProhibir si no es necesario
import_dataCreación/modificación masiva de objetosProhibir en escenarios de solo lectura
post_document / unpost_documentModifica la contabilización de documentos y movimientos por registrosSolo para escenarios operativos

Configuración de solo lectura

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"

Más detalles — consulte EXAMPLES.md.


📄 Licencia

MIT © 2024-2026 INFATON — Privalov S.Yu.

Plataforma: infaton.ru · Producto: chatmcp.ru (ChatMCP).


Instrucciones detalladas de compilación de .cfe — consulte HOW_TO_BUILD_CFE.md

Ejemplos de escenarios de agentes — consulte EXAMPLES.md

Historial de cambios — consulte CHANGELOG.md


📰 Publicación en Infostart

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