Volver al Blog

Codificación de Documentos Técnicos con IA y MCP

By Sergio Vieira Greve
Codificación de Documentos Técnicos con IA y MCP

Cómo Claude Code y el MCP Server de Sutram convirtieron un estándar de 30 páginas en un sistema funcional en minutos


El desafío

El estándar de Petrobras N-1710 Rev. N (Codificación de Documentos Técnicos de Ingeniería) define un sistema riguroso para la identificación de documentos técnicos. Cada documento recibe un código compuesto por hasta 7 grupos separados por guiones:

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

Donde cada grupo representa, respectivamente: idioma, categoría de documento, instalación, área de actividad, clase de servicio, origen y un número secuencial. Los anexos del estándar detallan cientos de códigos válidos para cada campo — solo el Anexo C (Área de Actividad) tiene más de 900 códigos, y el Anexo D (Clase de Servicio) alrededor de 690.

Implementar este sistema manualmente — definir campos, registrar cientos de valores, configurar reglas de generación automática de códigos — es un trabajo que normalmente tomaría horas, si no días.

El prompt inicial

Todo comenzó con una simple instrucción para Claude Code:

"Lee el estándar N-1710 y sus anexos (A, C y D) en PDF. Luego, configura una Record Category en Sutram que implemente la codificación definida por el estándar."

A partir de esta única solicitud, el agente necesitaba:

  1. Leer e interpretar el estándar principal y 3 anexos en PDF (48 páginas en total)
  2. Extraer todos los códigos y descripciones de los anexos
  3. Modelar la estructura de metadata en Sutram
  4. Registrar más de 1,600 valores enumerados
  5. Configurar la generación automática de slug en el formato del estándar
  6. Probar y validar el resultado

Las herramientas del MCP Server de Sutram

Sutram proporciona un MCP Server (Model Context Protocol) que permite a los agentes de IA interactuar directamente con la plataforma. Este fue el diferencial que hizo posible la implementación en una sola sesión.

Las herramientas utilizadas, en orden de workflow:

1. sutram_project_info — Reconocimiento

Primera llamada: verificar el estado del proyecto. Resultado: cero definiciones de metadata, cero record categories. Pizarra limpia.

2. sutram_upsert_metadata — Modelado de campos

Con el estándar ya interpretado, el agente creó 7 definiciones de metadata en llamadas paralelas:

Campo Tipo Valores
idioma (idioma) enum 6 (Inglés, Alemán, Francés, etc.)
categoria_documento (categoría de documento) enum 21 (Dibujo, Informe, Hoja de Datos, etc.)
instalacao (instalación) text libre (formato CDDD.EE)
area_atividade (área de actividad) enum 903 códigos del Anexo C
classe_servico (clase de servicio) enum 690 códigos del Anexo D
origem (origen) text libre (código NORTEC)
sequencial (secuencial) computed autogenerado, 3 dígitos

La paralelización fue esencial — los campos independientes se crearon simultáneamente, ahorrando tiempo.

3. sutram_add_enum_values — Carga masiva de datos

Aquí está la parte más impresionante. Los Anexos C y D del estándar contienen, juntos, casi 1,600 códigos. El agente:

  • Leyó los PDFs página por página (solo el Anexo C tiene 27 páginas)
  • Extrajo cada código y su descripción
  • Cargó los valores en lotes paralelos usando sutram_add_enum_values

Ejemplo de un lote del Anexo C:

{
  "key": "area_atividade",
  "values": [
    {"code": "2111", "label": "Unidad de Destilación Atmosférica"},
    {"code": "2112", "label": "Unidad de Destilación al Vacío"},
    {"code": "2113", "label": "Unidad de Pre-Flash"},
    ...
  ]
}

Se necesitaron múltiples rondas de llamadas paralelas para cargar todos los valores — aproximadamente 15 llamadas en total para ambos anexos. La herramienta sutram_add_enum_values realiza una fusión inteligente: los códigos duplicados se ignoran y todo se reordena automáticamente.

4. sutram_upsert_record_category — Configuración de la codificación

Con la metadata lista, una sola llamada creó la Record Category con toda la lógica de generación de códigos:

  • computed_from: define qué campos componen la "base de unicidad" para el secuencial (categoría + instalación + área + clase + origen)
  • slug_from: define cómo se ensambla el código final, campo por campo, eligiendo entre usar el code o label de cada enum
  • slug_separator: el guión que separa los 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 — Validación

La prueba final: crear registros y verificar si el código generado coincide con el formato del estándar.

Prueba 1 — Memorial Descriptivo en Portugués:

Entrada:  category=Memorial Descriptivo, facility=4300.06,
          area=Laboratorio, class=Perforación, origin=PTD
Resultado: MD-4300.06-8222-114-PTD-001 ✓

Prueba 2 — Misma combinación, segundo documento:

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

Prueba 3 — Documento en Inglés:

Entrada:  language=Inglés, category=Dibujo, facility=5285.00,
          area=Laboratorio, class=Torres, origin=PPC
Resultado: I-DE-5285.00-8222-550-PPC-001 ✓  (prefijo "I-" para Inglés)

El rol de MCP (Model Context Protocol)

MCP es lo que hace posible esta integración. Permite que Claude Code interactúe con Sutram como si fuera un usuario avanzado de la plataforma — pero con la capacidad de:

  • Paralelizar llamadas independientes (crear múltiples campos de metadata al mismo tiempo)
  • Procesar en lotes grandes volúmenes de datos (cientos de códigos por llamada)
  • Encadenar operaciones dependientes (crear metadata → crear categoría → probar)
  • Validar resultados en tiempo real y corregir errores dentro del mismo flujo

Sin MCP, esta misma tarea requeriría navegar por la interfaz de Sutram, registrar cada campo manualmente, escribir o importar cientos de códigos uno por uno y configurar las reglas de slug a través de la UI. Con MCP, el agente hizo todo de forma programática, directo desde la terminal.

Números de la sesión

Métrica Valor
Páginas de PDF leídas 48
Definiciones de metadata creadas 7
Valores enum registrados 1,614 (903 + 690 + 21)
Record category configurada 1
Registros de prueba creados y validados 3
Correcciones en tiempo real 1 (ajuste de slug_from de label a code)

Conclusión

La combinación de un agente de IA capaz de interpretar documentos técnicos (Claude Code leyendo los PDFs del estándar) con herramientas MCP que permiten actuar directamente sobre la plataforma (el MCP Server de Sutram) crea un workflow que simplemente no era posible antes.

Lo que anteriormente habría demandado horas de trabajo manual — leer el estándar, interpretar las reglas, registrar cientos de códigos, configurar la lógica de generación — se resolvió en una sola sesión de conversación. Y el resultado no es un prototipo: es un sistema funcional, validado, listo para uso en producción.

Esta es la promesa de MCP: no solo preguntar y responder, sino tomar acción.