mcp-1c

Integração com 1C:Enterprise — metadados, busca de código BSL, consultas, log de eventos, referência de sintaxe. Um binário Go, zero dependências.

Documentação

mcp-1c

mcp-1c

Servidor MCP para integração de assistentes de IA com 1C:Enterprise

SafeSkill 92/100 Telegram

A IA vê os metadados da sua configuração 1C e gera código BSL preciso. Funciona com qualquer cliente compatível com MCP.

Funciona com modelos locais

O MCP-1C não está vinculado a uma rede neural específica. Funciona com qualquer cliente compatível com MCP:

  • Modelos locais (Ollama, LM Studio, llama.cpp) — os dados não saem da sua rede
  • Serviços em nuvem (Claude, GPT, YandexGPT, GigaChat) — por meio dos respectivos clientes MCP
  • IDEs com IA (Cursor, VS Code + Continue/Cline, JetBrains)

Seu código e seus dados 1C permanecem com você. O MCP-1C é um processo local que se comunica apenas com o seu banco de dados.

Versões pagas

Além da versão gratuita Open, há edições pagas com recursos avançados:

  • Avançada (R$ 1.990/mês). Oito ferramentas consolidadas (modelo com parâmetro action): leitura do código-fonte dos módulos, trabalho com esquemas XSD e validação de XML, otimizador de consultas, linter BSL, assistente de sintaxe, suporte a múltiplos bancos, extensões .cfe, sandbox de código, memória de projeto e modelos
  • Profissional (R$ 4.990/mês). Tudo da Avançada, mais análise profunda de toda a base de código, navegação de código e grafo de dependências, busca semântica, visualização arquitetural, documentação automática, geração de testes e processamentos .epf, navegação em configurações padrão, comparação de banco e extensões, verificação de consultas e API da plataforma, análise de direitos RLS e planos de troca

Ao se registrar, você ganha 14 dias da versão Profissional gratuitamente.

Saiba mais sobre os planosDocumentação

[!TIP] Teste beta da versão Profissional. Lançamos a edição Profissional para análise profunda de toda a base de código: análise em massa (antipadrões, duplicatas, código morto, auditoria de segurança, métricas de qualidade), navegação de código e grafo de dependências, busca semântica, visualização arquitetural, documentação automática, geração de testes (YAxUnit, Vanessa-Automation) e processamentos .epf, navegação em configurações padrão, comparação de banco e extensões, verificação de consultas e API da plataforma, análise de direitos RLS e planos de troca.

Cadastre-se e ganhe 14 dias grátis. Para testadores beta ativos que compartilham feedback útil e desejam continuar testando, estendemos o período de avaliação. Os 5 melhores testadores beta receberão assinatura gratuita vitalícia da versão Profissional.

Cadastrar-se | Documentação Pro | Reportar problema

Comparação de versões

OpenAvançadaProfissional
Ferramentas11 separadas8 consolidadas8 + ferramentas Pro
PreçoGrátisR$ 1.990/mêsR$ 4.990/mês
Período de teste--14 dias
LicençaMITAssinaturaAssinatura

A Avançada adiciona (8 ferramentas consolidadas):

  • Leitura do código-fonte dos módulos: objetos, formulários, módulos comuns, extensões
  • Contexto compactado de metadados e resolução de nomes de objetos pelo índice de exportação
  • Trabalho com esquemas XSD e validação estrutural de XML pela exportação real
  • Otimizador de consultas (15 antipadrões) e linter BSL (mais de 30 diagnósticos)
  • Assistente de sintaxe (mais de 10.000 definições) e verificação de compatibilidade de versões
  • Geradores de consultas e formulários impressos, conversor de chamadas modais para assíncronas
  • Sandbox de código com confirmação e log de auditoria
  • Suporte a múltiplos bancos e trabalho com extensões .cfe (leitura, busca)
  • Memória de projeto (memory) e biblioteca de modelos de código (templates)
  • Trabalho via polling reverso (long polling): a tarefa agendada em segundo plano no 1C consulta o servidor por conta própria; não é necessário publicar um serviço HTTP no servidor web

A Profissional adiciona:

  • Análise em massa de toda a base de código (bulk_analyze): antipadrões, duplicatas, código morto, auditoria de segurança BSL, métricas de qualidade, tendências
  • Busca semântica no código (LSA + Randomized SVD) e modo híbrido
  • Navegação de código e grafo de dependências: hierarquia de chamadas, ir para declaração, busca de locais de chamada, análise de limites arquiteturais, consultas estruturais ao grafo
  • Dossiê do objeto e leitura de esquemas de composição de dados (SKD) de relatórios
  • Visualização arquitetural (diagramas) e geração automática de documentação
  • Geração de testes (YAxUnit, Vanessa-Automation) e processamentos .epf
  • Navegação em configurações padrão (BP, ZUP, UT, Retail, KA, ERP)
  • Diff estrutural de extensões .cfe e conferência da configuração principal com a extensão (code_review)
  • Assistente de atualização de configurações padrão
  • Verificação semântica de consultas pelos metadados e verificação da API da plataforma no código BSL
  • Análise de direitos e funções RLS, bem como planos de troca (offline, pela exportação)
  • Integração CI/CD (--ci, --json, quality gates), relatórios HTML/PDF/SARIF

Cadastrar-se | Planos

Por que mcp-1c

  • Um único binário, zero dependências. Escrito em Go — não precisa de Python, Node.js, JVM ou EDT. Baixe, execute, funciona.
  • 11 ferramentas para trabalhar com o banco ativo. Metadados, informações de configuração, formulários, consultas a dados (com parâmetros), busca no código, releitura da exportação, validação, log de registro, ajuda BSL, análise de subsistemas.
  • Busca de texto completo no código (search_code). Três modos: smart (classificação BM25), regex, exato. Sinônimos BSL integrados — busca por StrFind encontra СтрНайти e vice-versa.
  • Indexação fragmentada. Construção paralela do índice pelo número de núcleos. ~7 s para mais de 13.000 módulos. Cache em disco — execução repetida instantânea.
  • Início não bloqueante. O índice é construído em segundo plano; o servidor MCP fica disponível imediatamente. A busca começa a funcionar após a conclusão da indexação.
  • Funciona com o seu banco. A IA vê a configuração real e os dados reais — não uma referência abstrata, mas exatamente o seu banco.
  • Não vinculado a IDE ou rede neural. Funciona com o Configurador, EDT ou sem IDE. Funciona com qualquer modelo, incluindo locais (Ollama, LM Studio). Basta um serviço HTTP 1C.
  • Instalação automática. mcp-1c --install "C:\путь\к\базе" — encontra a plataforma sozinho, instala a extensão, atualiza a configuração do banco.
  • Ajuda BSL integrada. A sintaxe das funções da plataforma está disponível sem serviços externos e sem 1C em execução.

Início rápido

É a primeira vez que ouve falar de MCP? Leia o guia passo a passo — tudo do zero, incluindo a explicação do que é MCP.

1. Baixar

Binário para o seu sistema operacional — em Releases. Ou: go build -o mcp-1c ./cmd/mcp-1c/

2. Instalar a extensão no 1C

# Windows
mcp-1c --install "C:\путь\к\базе"

# macOS / Linux
mcp-1c --install ~/Documents/InfoBase

# Клиент-серверная база (MS SQL, PostgreSQL)
mcp-1c --install "srv-1c\buh_prod" --server --db-user Admin --db-password pass

Se a plataforma estiver instalada em uma pasta não padrão: mcp-1c --install "путь" --platform "/custom/path/to/1cv8"

Se a versão da plataforma não for detectada automaticamente (caminho não padrão sem número de versão), especifique-a explicitamente: mcp-1c --install "путь" --platform "/custom/path/to/1cv8" --platform-version 8.3.13

Esta compilação requer a extensão versão 0.4.8 ou mais recente. Uma versão mais antiga não impede a execução: o servidor funciona, mas grava no log Extension is OLDER than this build requires, e algumas ferramentas responderão com erro.

3. Iniciar o serviço HTTP 1C

Publique o serviço HTTP 1C via Apache ou IIS (Configurador → Administração → Publicação no servidor web). Funciona no Windows e Linux. Detalhes no guia passo a passo.

4. Configurar o cliente de IA

Configuração do servidor MCP:

{
  "mcpServers": {
    "1c": {
      "command": "/path/to/mcp-1c",
      "args": ["--base", "http://localhost:8080/hs/mcp-1c"]
    }
  }
}

No Windows, caminhos com barras invertidas: "command": "C:\\путь\\к\\mcp-1c.exe"

Reinicie o cliente de IA. No Claude Desktop, recomendamos: «+» → Connectors → Tool access → Always available.

Também são suportados: Claude Code, Codex, Cursor, Windsurf, VS Code + Copilot, VS Code + Continue, JetBrains IDE, bem como qualquer cliente para modelos locais com suporte a MCP. A configuração de cada um está no guia passo a passo.

Pergunte: «Mostre a estrutura de configuração do meu banco 1C»

Ferramentas disponíveis

FerramentaDescrição
get_metadata_treeÁrvore de metadados: diretórios, documentos, registros, tipos definidos, módulos comuns e outros
get_object_structureAtributos, seções tabulares, dimensões, recursos e estrutura do subsistema (object_type=Subsystem) de um objeto específico
get_form_structureEstrutura do formulário: elementos, comandos, manipuladores de eventos. A composição completa é lida da exportação, portanto é necessário iniciar com --dump; sem isso, retorna apenas o que o serviço HTTP 1C forneceu, e ele escolhe o formulário por conta própria
get_configuration_infoNome da configuração, versão, fornecedor, versão da plataforma, modo de operação
search_codeBusca de texto completo no código dos módulos: smart (BM25), regex, exato. Sinônimos BSL (rus↔ing). Filtragem por tipo de metadados e módulo
reload_dumpReler a exportação sem reiniciar o servidor: após reexportar a configuração, o search_code começa a buscar pelo novo conteúdo. Disponível apenas com --dump
bsl_syntax_helpAjuda sobre 180 funções integradas, métodos de tipos e padrões BSL
execute_queryExecutar consulta na linguagem de consultas 1C com parâmetros (somente SELECT/SELECIONAR)
validate_queryVerificar a sintaxe da consulta sem executar
get_event_logLeitura do log de registro com filtragem por data, nível, usuário e evento
analyze_subsystemsAnálise da distribuição de objetos por subsistemas: objetos fora de subsistemas (orphans), subsistemas do objeto especificado (containing), objetos em vários subsistemas (intersections)

Configuração

FlagEnv varPadrãoDescrição
--baseMCP_1C_BASE_URLhttp://localhost:8080/hs/mcp-1cURL do serviço HTTP 1C
--userMCP_1C_USER-Usuário do serviço HTTP
--passwordMCP_1C_PASSWORD-Senha do serviço HTTP
--max-response-sizeMCP_1C_MAX_RESPONSE_SIZE128Tamanho máximo da resposta 1C em mebibytes (MiB). Respostas maiores são rejeitadas com erro claro. Aumente o limite para bancos grandes com extensões.
--request-timeoutMCP_1C_REQUEST_TIMEOUT300Tempo limite da solicitação HTTP ao 1C em segundos. Aumente se a transferência de uma resposta muito grande (por exemplo, extensões de um banco grande) não concluir a tempo.
--dump--Caminho para a exportação da configuração (DumpConfigToFiles), inclui as ferramentas search_code e reload_dump
--reindex--Reconstrução forçada do índice de busca (ignora o cache)
--install--Instalar a extensão no banco 1C no caminho especificado
--server--Modo de banco cliente-servidor: --install aceita a string de conexão сервер\база (por exemplo, srv-1c\buh_prod)
--platform--Caminho para o binário 1C (detecção automática se não especificado)
--platform-version--Versão da plataforma 1C (por exemplo, 8.3.13). Determinada automaticamente pelo caminho da plataforma. Especifique manualmente se a plataforma estiver instalada em um caminho não padrão sem informações de versão. Versão mínima suportada: 8.3.10
--db-user--Usuário do banco 1C para DESIGNER (modo --install)
--db-password--Senha do banco 1C para DESIGNER (modo --install)

Envie login e senha pelas flags --user e --password (ou variáveis MCP_1C_USER e MCP_1C_PASSWORD), e não dentro do endereço. Especifique ambos juntos: --user sem --password envia HTTP Basic com senha vazia. A notação http://Admin:secret@сервер/база/hs/mcp-1c também funciona; o mcp-1c remove as credenciais do endereço na inicialização e elas não aparecem em textos de erro ou no log, mas parte desses endereços é rejeitada na inicialização: com ? ou #, com letras russas no login ou na senha, e também com @ no caminho quando há porta explícita. Análise completa: Endereço do serviço HTTP em --base.

O mcp-1c executa redirecionamentos apenas dentro do endereço de --base: mesmo esquema, mesmo host, mesma porta. Se o servidor web redirecionar http para https ou para outra porta, especifique o endereço final em --base.

Logging e Saída

Por padrão, o comportamento depende de o servidor estar rodando em um terminal ou por meio de um cliente MCP:

  • No terminal (stdin conectado a um tty): o progresso da indexação, mensagens informativas e erros são gravados no stderr normalmente.
  • Por meio de um cliente MCP (Kilo Code, OpenCode, Claude Desktop, Cursor e outros, quando stdin é um pipe): o stderr fica vazio, e a saída aleatória de bibliotecas de terceiros é redirecionada para ~/.cache/mcp-1c/stderr.log. Isso protege clientes que interpretam qualquer saída de stderr como erro fatal (Issue #14).

Flags e variáveis de ambiente

Flag / envDescrição
--verboseForça a ativação do stderr mesmo quando executado via pipe. Útil para depurar a conexão do cliente MCP.
--quietForça o silenciamento do stderr mesmo no terminal. Substitui --verbose.
MCP_1C_NO_TTY=1Equivalente a --quiet. Mais conveniente que a flag de CLI ao executar em Docker / systemd, onde os argumentos de linha de comando são menos flexíveis.
--debugLogs detalhados no arquivo ~/.cache/mcp-1c/server.log. No terminal, também desativa o indicador de progresso.

Git Bash / MSYS2 / MinTTY no Windows

Esses shells conectam o stdin por meio de pipes nomeados, e não por um handle de console comum. A detecção automática os considera como não-TTY, portanto o progresso da indexação não é exibido por padrão. Para diagnóstico manual, use a flag --verbose ou um cmd.exe completo / Windows Terminal.

Desenvolvimento

go build -o mcp-1c ./cmd/mcp-1c         # сборка
go test ./... -v -race                    # тесты
go run ./cmd/mock-1c -port 9191           # mock-сервер 1С

Extensão 1C

Os fontes da extensão estão armazenados em extension/src/ no formato de exportação XML da configuração. Ao --install, eles são embutidos no binário por meio de go:embed e carregados diretamente via DESIGNER /LoadConfigFromFiles. Um arquivo .cfe pronto para build não é necessário.

O MCP_HTTPService.cfe pronto está disponível em Releases — é o caminho de instalação mais simples se você não tiver acesso à linha de comando no servidor 1C (por exemplo, ao trabalhar via RDP). Mais detalhes: docs/1c-setup.md.

Para compilar manualmente o .cfe a partir dos fontes:

# macOS / Linux (требуется установленная платформа 1С)
./scripts/build-extension.sh ~/Documents/InfoBase

# Windows
scripts\build-extension.cmd C:\Users\User\Documents\InfoBase

Compatibilidade

Clientes de IA
Modelos locaisOllama, LM Studio, llama.cpp e qualquer cliente compatível com MCP
Serviços em nuvemClaude Desktop, Claude Code, Codex, GPT (via cliente MCP), YandexGPT, GigaChat
IDEsCursor, VS Code (Continue, Cline, Copilot), Windsurf, IDEs JetBrains

O MCP-1C não conhece nem determina qual modelo está rodando no lado do cliente.

Plataforma 1CStatus
8.3.10 e superior (comercial)Suportada
8.5.x (comercial)Suportada
8.3.10+ / 8.5.x (educacional)Suportada

Versão mínima suportada da plataforma: 8.3.10

SOServidor MCPInstalação automáticaServiço HTTP 1C
Windowssimsimsim (Apache ou IIS)
macOSsimsimnão (limitação da plataforma 1C), use uma VM Windows
Linuxsimsimsim (Apache ou ibsrv)

Requisitos de sistema

O próprio servidor é leve em recursos. Hardware pesado só é necessário se você estiver subindo um modelo local, e esses requisitos são definidos pelo próprio modelo, não pelo MCP-1C.

Servidor MCP-1C:

  • Binário. Um único arquivo executável estático sem dependências (não requer Python, Node.js, JVM ou EDT). Tamanho em torno de 25–40 MB.
  • SO e arquiteturas. Windows, macOS, Linux; amd64 e arm64.
  • Plataforma 1C. Versão mínima suportada: 8.3.10. Para instalação manual do .cfe pronto, é necessária a versão 8.3.14 ou superior.
  • Acesso a dados. Serviço HTTP 1C ou exportação offline da configuração (--dump).
  • CPU e RAM. Os requisitos são mínimos, sem mínimo fixo. Ao construir o índice de busca, a memória é limitada por arquitetura: os dados são processados em lotes e transmitidos para o disco.
  • Disco. Cache do índice de busca em torno de 100–200 MB para configurações grandes (BSP, ERP, UT). A compilação leva cerca de 7 segundos para 13.000+ módulos; execuções subsequentes usam o cache.

Modelo (LLM):

O MCP-1C não executa nem hospeda nenhum modelo. Ele trabalha com qualquer modelo no lado do cliente, portanto os requisitos de hardware para o modelo dependem da sua escolha:

  • Modelo em nuvem (Claude, GPT, YandexGPT, GigaChat): sem requisitos locais de hardware.
  • Modelo local (Ollama, LM Studio, llama.cpp): os requisitos de RAM, VRAM e disco são definidos pelo modelo escolhido, não pelo MCP-1C.

Publicações

Infostart

Licença

MIT