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:
- Leer e interpretar el estándar principal y 3 anexos en PDF (48 páginas en total)
- Extraer todos los códigos y descripciones de los anexos
- Modelar la estructura de metadata en Sutram
- Registrar más de 1,600 valores enumerados
- Configurar la generación automática de slug en el formato del estándar
- 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 elcodeolabelde cada enumslug_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.