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
Servidor MCP para integração de assistentes de IA com 1C:Enterprise
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 planos → Documentaçã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.
Comparação de versões
| Open | Avançada | Profissional | |
|---|---|---|---|
| Ferramentas | 11 separadas | 8 consolidadas | 8 + ferramentas Pro |
| Preço | Grátis | R$ 1.990/mês | R$ 4.990/mês |
| Período de teste | - | - | 14 dias |
| Licença | MIT | Assinatura | Assinatura |
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 porStrFindencontraСтрНайти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.13Esta 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
| Ferramenta | Descrição |
|---|---|
get_metadata_tree | Árvore de metadados: diretórios, documentos, registros, tipos definidos, módulos comuns e outros |
get_object_structure | Atributos, seções tabulares, dimensões, recursos e estrutura do subsistema (object_type=Subsystem) de um objeto específico |
get_form_structure | Estrutura 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_info | Nome da configuração, versão, fornecedor, versão da plataforma, modo de operação |
search_code | Busca 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_dump | Reler 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_help | Ajuda sobre 180 funções integradas, métodos de tipos e padrões BSL |
execute_query | Executar consulta na linguagem de consultas 1C com parâmetros (somente SELECT/SELECIONAR) |
validate_query | Verificar a sintaxe da consulta sem executar |
get_event_log | Leitura do log de registro com filtragem por data, nível, usuário e evento |
analyze_subsystems | Aná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
| Flag | Env var | Padrão | Descrição |
|---|---|---|---|
--base | MCP_1C_BASE_URL | http://localhost:8080/hs/mcp-1c | URL do serviço HTTP 1C |
--user | MCP_1C_USER | - | Usuário do serviço HTTP |
--password | MCP_1C_PASSWORD | - | Senha do serviço HTTP |
--max-response-size | MCP_1C_MAX_RESPONSE_SIZE | 128 | Tamanho 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-timeout | MCP_1C_REQUEST_TIMEOUT | 300 | Tempo 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
--usere--password(ou variáveisMCP_1C_USEReMCP_1C_PASSWORD), e não dentro do endereço. Especifique ambos juntos:--usersem--passwordenvia HTTP Basic com senha vazia. A notaçãohttp://Admin:secret@сервер/база/hs/mcp-1ctambé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 redirecionarhttpparahttpsou 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 / env | Descrição |
|---|---|
--verbose | Força a ativação do stderr mesmo quando executado via pipe. Útil para depurar a conexão do cliente MCP. |
--quiet | Força o silenciamento do stderr mesmo no terminal. Substitui --verbose. |
MCP_1C_NO_TTY=1 | Equivalente 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. |
--debug | Logs 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 locais | Ollama, LM Studio, llama.cpp e qualquer cliente compatível com MCP |
| Serviços em nuvem | Claude Desktop, Claude Code, Codex, GPT (via cliente MCP), YandexGPT, GigaChat |
| IDEs | Cursor, 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 1C | Status |
|---|---|
| 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
| SO | Servidor MCP | Instalação automática | Serviço HTTP 1C |
|---|---|---|---|
| Windows | sim | sim | sim (Apache ou IIS) |
| macOS | sim | sim | não (limitação da plataforma 1C), use uma VM Windows |
| Linux | sim | sim | sim (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
.cfepronto, é 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
Licença
MIT