infaton-1c-mcp

Servidor MCP para 1C:Enterprise (ERP, Contabilidade, etc.) — 51 ferramentas para metadados, documentos, registros, relatórios e mais

Documentação

Servidor MCP INFATON para 1C:Enterprise

MCP35 MCP server

Model Context Protocol (MCP) — servidor no lado do 1C:Enterprise, fornecendo 93 ferramentas para interação de assistentes de IA com o banco de dados 1C.

Protocolo: JSON-RPC 2.0 (especificação MCP)

Parte da plataforma INFATON — gêmeos digitais e agentes de IA sobre 1C:ERP. Empresa: infaton.ru · Produto: chatmcp.ru (ChatMCP — chat gêmeo sobre seu 1C:ERP).


🏗 Quem usa

INFATON MCP Server — motor de acesso de IA ao 1C nos produtos da plataforma INFATON:

  • eventcode.ru — plataforma de desenvolvimento sob encomenda: agentes de IA conduzem projetos e trabalham com o 1C:ERP do cliente através deste servidor MCP.
  • chatmcp.ru — ChatMCP, gêmeo digital sobre 1C:ERP: interface de chat e estações de trabalho (APM) sobre este servidor MCP.

O servidor é aberto (MIT) — use em seu produto, veja Início Rápido.


📋 Composição do repositório

ArquivoDescrição
Module.bslMódulo do serviço HTTP MCP — código principal, 93 ferramentas (7.350 linhas)
index.mjsWrapper Node.js stdio para clientes MCP (Claude Desktop, Cursor e outros)
package.jsonManifesto npm para publicação e execução via npx
glama.jsonManifesto para o catálogo Glama.ai
build .cfeMonte a extensão a partir de Module.bsl (v6.2.1) — veja HOW_TO_BUILD_CFE.md
HOW_TO_BUILD_CFE.mdInstruções de build e instalação .cfe
EXAMPLES.mdExemplos de cenários de agentes (7 casos)
CHANGELOG.mdHistórico de versões

🆕 Novidades na v6.2.1

  • Gravação segura de referências compostas por GUID (6.2.1): o objeto é verificado em cada tipo permitido, GUID inexistente é rejeitado.
  • fill_counterparty_by_inn (6.2.0): dados do contraparte por INN via 1C:Contraparte padrão (leitura, sem gravação).
  • get_config_fingerprint (6.1.0): impressão digital barata da composição da configuração.

🆕 Novidades na v6.0.2

59 → 91 ferramentas (+32): relatórios SKD para configurações típicas 1C:ERP (run_report, get_report_options…), auditoria de direitos (get_rights_for_user, export_role_matrix), configurações de usuário (set_constant, set_functional_option, set_user_setting…), snapshots e comparação (snapshot_document_state, compare_snapshots, document_chain), dados de negócios ERP (get_stock_by_warehouse, get_unfulfilled_order_lines, get_reservation_status). Além disso, gravação de campos de referência e enumerações (resolução _guid para cabeçalho e linhas de partes tabulares). Lista completa — em CHANGELOG.md.


🆕 Novidades na v2.1.0

Correções (9 patches)

#FerramentaBugCorreção
P1get_listAusência de ПЕРВЫЕ N — retornava TODOS os registrosAdicionado ПЕРВЫЕ com parâmetro limit (padrão 100)
P2get_document_listFiltro por data — Дата >= sem parâmetroAdicionado Запрос.УстановитьПараметр para datas
P3get_object_by_refReferência vazia → erro confuso da plataformaAdicionada verificação Если НЕ ЗначениеЗаполнено(Ссылка)
P4get_active_users / get_locksIteração direta da coleção de sessões → erro no servidorMigração para МассивСеансов = ПолучитьСеансыИнформационнойБазы()
P5get_event_logData passada como string + campo "Metadados" em vez de representaçãoПреобразоватьДату() + .МетаданныеПредставление
P6ПреобразоватьДатуNão processava 2026-05-14, 14.05.2026, 20260514Reescrita completa: ISO 8601 + 3 formatos
P7fill_on_basisОбъект.Заполнить() → método correto ЗаполнитьНаОсновании()Chamada de método corrigida
P8execute_batchexecute_batch aninhado → recursão infinitaAdicionado flag de proteção _batch_depth
P9—Versão permanecia 2.0.0Atualizada para 2.1.0

Novas ferramentas (10 itens, grupo З)

#FerramentaFinalidade
42get_balanceSaldos e movimentações do registro contábil (qualquer plano de contas)
43get_register_totalsTotais de registros de acumulação (saldos/movimentações)
44get_accounting_entriesLançamentos contábeis do documento (Débito, Crédito, valor)
45get_related_documentsCadeia de documentos relacionados (entrada com base)
46validate_documentVerificação de preenchimento do documento sem lançamento
47get_form_structureEstrutura do formulário gerenciado (atributos, comandos)
48get_rightsDireitos de acesso do usuário atual ao objeto
49find_duplicatesBusca de duplicatas em diretórios por atributos
50get_print_formFormulários de impressão via subsistema GerenciamentoDeImpressão
51get_configuration_extensionsLista de extensões de configuração (CFE)

🛠 Catálogo de ferramentas

Abaixo — catálogo base (51 ferramentas, grupos A–З). Na v6.0.2 foram adicionadas mais 32 (relatórios/SKD, direitos, configurações de usuário, snapshots, dados de negócios 1C:ERP) — lista completa de 93 em Module.bsl e CHANGELOG.md.

Grupo A — Metadados (8)

#FerramentaDescrição
1get_metadata_treeÁrvore de objetos de metadados da configuração
2get_object_metadataEstrutura completa do objeto (atributos, partes tabulares, módulos)
3get_object_attributesLista de atributos do objeto
4get_object_tabular_sectionsPartes tabulares do objeto
5get_enum_valuesValores de enumeração
6get_register_dimensionsDimensões, recursos e atributos do registro
7get_document_movementsMovimentações do documento por registros
8search_metadataBusca em metadados (por nome/sinônimo)

Grupo B — Leitura de dados (7)

#FerramentaDescrição
9execute_queryExecução de consulta 1C arbitrária
10get_object_by_refObtenção de objeto por referência/GUID
11get_listLista de itens de diretório/documento com filtros
12find_by_codeBusca de item por código
13find_by_nameBusca de item por nome
14get_register_recordsRegistros do registro com filtros
15get_document_listLista de documentos com filtros por data/número

Grupo C — CRUD (7)

#FerramentaDescrição
16create_objectCriação de novo objeto (diretório/documento)
17update_objectAlteração de atributos do objeto
18delete_objectMarcação para exclusão
19post_documentLançamento do documento
20unpost_documentCancelamento do lançamento
21copy_objectCópia do objeto
22set_attributeAlteração de atributo individual

Grupo D — Código e relatórios (4)

#FerramentaDescrição
23execute_codeExecução de código arbitrário na linguagem embutida
24evaluate_expressionCálculo de expressão e retorno do resultado
25get_module_textObtenção do texto do módulo do objeto
26generate_reportGeração de relatório (SKD)

Grupo E — Administração (6)

#FerramentaDescrição
27get_active_usersLista de usuários ativos e sessões
28get_event_logLog de registro com filtros
29get_locksBloqueios de dados atuais
30get_server_infoInformações sobre plataforma, configuração, servidor
31check_referencesVerificação de integridade referencial
32run_scheduled_jobExecução de tarefa agendada

Grupo F — Integração (3)

#FerramentaDescrição
33exchange_executeExecução de troca de dados
34get_exchange_logLog de troca
35import_dataImportação de dados de JSON

Grupo G — Operações avançadas v2.0 (6)

#FerramentaDescrição
36fill_on_basisPreenchimento de documento com base em outro
37write_register_recordsGravação de conjunto de registros do registro
38update_tabular_sectionAtualização de parte tabular do objeto
39subscribe_eventsAssinatura de eventos do log
40execute_batchExecução em lote de ferramentas
41get_changes_sinceObtenção de alterações com carimbo de tempo (CDC)

Grupo З — Contabilidade, auditoria, formulários v2.1 (10) 🆕

#FerramentaDescrição
42get_balanceSaldos/movimentações do registro contábil
43get_register_totalsTotais de registros de acumulação
44get_accounting_entriesLançamentos do documento (Débito/Crédito/Valor)
45get_related_documentsDocumentos relacionados (cadeia de bases)
46validate_documentVerificação de preenchimento sem lançamento
47get_form_structureEstrutura do formulário gerenciado
48get_rightsDireitos de acesso do usuário atual
49find_duplicatesBusca de duplicatas por atributos
50get_print_formFormulários de impressão via GerenciamentoDeImpressão
51get_configuration_extensionsLista de extensões de configuração (CFE)

🚀 Início Rápido

Opção 1: Via Claude Desktop / Cursor (stdio)

Método A — via npx (sem clonagem)

{
  "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 B — do repositório 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"
      }
    }
  }
}

Opção 2: Chamada HTTP direta

1. Instale a extensão

  1. Abra o Configurador do banco 1C
  2. Configuração → Extensões de configuração → Adicionar
  3. Selecione o arquivo INFATON_MCP.cfe (ou monte conforme instruções a partir de Module.bsl)
  4. Atualize a configuração do banco (F7)

2. Verifique a conexão

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

Resposta esperada:

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

3. Chame a ferramenta

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/

📐 Arquitetura

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

📝 Compatibilidade

ParâmetroValor
Plataforma 1C8.3.20+ (testado em 8.3.27.1989)
ConfiguraçõesERP 2.5, UPP 1.3, Contabilidade 3.0, UT 11, KA 2
Protocolo MCP2024-11-05
TransporteHTTP (Basic Auth), stdio (via index.mjs)
Node.js18+ (para wrapper stdio)

📊 Histórico de versões

VersãoDataFerramentasAlterações
v2.1.02026-05-1451+10 ferramentas (contabilidade, auditoria, formulários), 9 correções de bugs
v2.0.02026-05-0841+6 ferramentas (batch, CDC, fill_on_basis e outras)
v1.0.02026-04-2835Primeiro lançamento público

🔒 Segurança

Obrigatório para produção

RequisitoPor que é importante
HTTPSBasic Auth envia login/senha em base64. Via HTTP, ficam visíveis para qualquer pessoa na rede
Usuário 1C separadoCrie um usuário mcp_agent com direitos mínimos — apenas os objetos necessários
ONEC_ALLOWED_TOOLSLimite a lista de ferramentas para o cenário específico

Ferramentas perigosas

As seguintes ferramentas exigem permissão explícita e devem ser usadas com consciência:

FerramentaRiscoRecomendação
execute_codeExecuta código BSL arbitrário em modo privilegiadoProibir via ONEC_ALLOWED_TOOLS se não for necessário
delete_objectMarca objetos para exclusãoProibir em cenários analíticos
run_scheduled_jobExecuta tarefas agendadasProibir se não for necessário
import_dataCriação/alteração em massa de objetosProibir em cenários somente leitura
post_document / unpost_documentAltera lançamento de documentos e movimentações em registrosApenas para cenários operacionais

Configuração somente leitura

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"

Mais detalhes — veja EXAMPLES.md.


📄 Licença

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

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


Instruções detalhadas de build .cfe — veja HOW_TO_BUILD_CFE.md

Exemplos de cenários de agentes — veja EXAMPLES.md

Histórico de alterações — veja CHANGELOG.md


📰 Publicação no Infostart

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