Voltar ao Blog

Codificação de Documentos Técnicos com IA e MCP

By Sergio Vieira Greve
Codificação de Documentos Técnicos com IA e MCP

Como o Claude Code e o MCP Server do Sutram transformaram uma norma de 30 paginas em um sistema funcional em minutos


O desafio

A norma Petrobras N-1710 Rev. N (Codificacao de Documentos Tecnicos de Engenharia) define um sistema rigoroso para identificacao de documentos tecnicos. Cada documento recebe um codigo composto por ate 7 grupos separados por hifens:

[A-]BB-CDDD.EE-FGGGG-HHH-III-JJJ

Onde cada grupo representa, respectivamente: idioma, categoria do documento, instalacao, area de atividade, classe de servico, origem e um numero sequencial. Os anexos da norma detalham centenas de codigos validos para cada campo — so o Anexo C (Area de Atividade) tem mais de 900 codigos, e o Anexo D (Classe de Servico) cerca de 690.

Implementar esse sistema manualmente — definir campos, cadastrar centenas de valores, configurar regras de geracao automatica de codigos — e um trabalho que normalmente levaria horas, quando nao dias.

O prompt inicial

Tudo comecou com uma instrucao simples para o Claude Code:

"Leia a norma N-1710 e seus anexos (A, C e D) em PDF. Depois, configure uma Categoria de Registro no Sutram que implemente a codificacao definida pela norma."

A partir dessa unica solicitacao, o agente precisou:

  1. Ler e interpretar a norma principal e 3 anexos em PDF (48 paginas no total)
  2. Extrair todos os codigos e descricoes dos anexos
  3. Modelar a estrutura de metadata no Sutram
  4. Cadastrar mais de 1.600 valores enumerados
  5. Configurar a geracao automatica de slug no formato da norma
  6. Testar e validar o resultado

As ferramentas do MCP Server do Sutram

O Sutram disponibiliza um MCP Server (Model Context Protocol) que permite a agentes de IA interagir diretamente com a plataforma. Esse foi o diferencial que tornou a implementacao possivel em uma unica sessao.

As ferramentas utilizadas, na ordem do workflow:

1. sutram_project_info — Reconhecimento

Primeira chamada: verificar o estado do projeto. Retorno: zero definicoes de metadata, zero categorias de registro. Lousa limpa.

2. sutram_upsert_metadata — Modelagem de campos

Com a norma ja interpretada, o agente criou 7 definicoes de metadata em chamadas paralelas:

Campo Tipo Valores
idioma (idioma) enum 6 (Ingles, Alemao, Frances, etc.)
categoria_documento (categoria do documento) enum 21 (Desenho, Relatorio, Folha de Dados, etc.)
instalacao (instalacao) text livre (formato CDDD.EE)
area_atividade (area de atividade) enum 903 codigos do Anexo C
classe_servico (classe de servico) enum 690 codigos do Anexo D
origem (origem) text livre (codigo NORTEC)
sequencial (sequencial) computed gerado automaticamente, 3 digitos

A paralelizacao foi essencial — campos independentes foram criados simultaneamente, economizando tempo.

3. sutram_add_enum_values — Carga massiva de dados

Aqui esta a parte mais impressionante. Os Anexos C e D da norma contem, juntos, quase 1.600 codigos. O agente:

  • Leu os PDFs pagina por pagina (so o Anexo C tem 27 paginas)
  • Extraiu cada codigo e sua descricao
  • Carregou os valores em lotes paralelos usando sutram_add_enum_values

Exemplo de um lote do Anexo C:

{
  "key": "area_atividade",
  "values": [
    {"code": "2111", "label": "Unidade de Destilacao Atmosferica"},
    {"code": "2112", "label": "Unidade de Destilacao a Vacuo"},
    {"code": "2113", "label": "Unidade de Pre-Flash"},
    ...
  ]
}

Varias rodadas de chamadas paralelas foram necessarias para carregar todos os valores — cerca de 15 chamadas no total para ambos os anexos. A ferramenta sutram_add_enum_values faz merge inteligente: codigos duplicados sao ignorados e tudo e reordenado automaticamente.

4. sutram_upsert_record_category — Configuracao da codificacao

Com os metadata prontos, uma unica chamada criou a Categoria de Registro com toda a logica de geracao de codigo:

  • computed_from: define quais campos compoem a "base de unicidade" para o sequencial (categoria + instalacao + area + classe + origem)
  • slug_from: define como o codigo final e montado, campo a campo, escolhendo entre usar o code ou label de cada enum
  • slug_separator: o hifen que separa os grupos
{
  "slug_from": [
    {"key": "idioma", "use": "code"},
    {"key": "categoria_documento", "use": "code"},
    {"key": "instalacao", "use": "label"},
    {"key": "area_atividade", "use": "code"},
    {"key": "classe_servico", "use": "code"},
    {"key": "origem", "use": "label"},
    {"key": "sequencial", "use": "label"}
  ],
  "slug_separator": "-"
}

5. sutram_create_record — Validacao

O teste final: criar registros e verificar se o codigo gerado corresponde ao formato da norma.

Teste 1 — Memorial Descritivo em Portugues:

Entrada:  categoria=Memorial Descritivo, instalacao=4300.06,
          area=Laboratorio, classe=Perfuracao, origem=PTD
Resultado: MD-4300.06-8222-114-PTD-001 ✓

Teste 2 — Mesma combinacao, segundo documento:

Resultado: MD-4300.06-8222-114-PTD-002 ✓  (sequencial incrementado)

Teste 3 — Documento em Ingles:

Entrada:  idioma=Ingles, categoria=Desenho, instalacao=5285.00,
          area=Laboratorio, classe=Torres, origem=PPC
Resultado: I-DE-5285.00-8222-550-PPC-001 ✓  (prefixo "I-" para Ingles)

O papel do MCP (Model Context Protocol)

O MCP e o que torna essa integracao possivel. Ele permite que o Claude Code interaja com o Sutram como se fosse um usuario avancado da plataforma — mas com a capacidade de:

  • Paralelizar chamadas independentes (criar varios campos de metadata ao mesmo tempo)
  • Processar em lote grandes volumes de dados (centenas de codigos por chamada)
  • Encadear operacoes dependentes (criar metadata → criar categoria → testar)
  • Validar resultados em tempo real e corrigir erros dentro do mesmo fluxo

Sem o MCP, essa mesma tarefa exigiria navegar pela interface do Sutram, cadastrar cada campo manualmente, digitar ou importar centenas de codigos um a um e configurar regras de slug pela UI. Com o MCP, o agente fez tudo programaticamente, direto do terminal.

Numeros da sessao

Metrica Valor
Paginas de PDF lidas 48
Definicoes de metadata criadas 7
Valores enumerados cadastrados 1.614 (903 + 690 + 21)
Categoria de registro configurada 1
Registros de teste criados e validados 3
Correcoes em tempo real 1 (ajuste no slug_from de label para code)

Conclusao

A combinacao de um agente de IA capaz de interpretar documentos tecnicos (Claude Code lendo os PDFs da norma) com ferramentas MCP que permitem agir diretamente na plataforma (o MCP Server do Sutram) cria um workflow que simplesmente nao era possivel antes.

O que antes demandaria horas de trabalho manual — ler a norma, interpretar as regras, cadastrar centenas de codigos, configurar a logica de geracao — foi resolvido em uma unica sessao de conversa. E o resultado nao e um prototipo: e um sistema funcional, validado, pronto para uso em producao.

Essa e a promessa do MCP: nao apenas perguntar e responder, mas agir.