PTENES
Saltar al contenido
MÓDULO 2.2

🔌 Tu primer puente MCP

La agenda de Clara y el ERP de Sonia no tienen API. Pero exportan archivos. En este módulo, ese archivo se convierte en una herramienta con nombre y reglas, que Claude Code y Codex llaman de la misma manera. Es la receta R3 del kit.

6
Temas
~35
Minutos
R3
Receta
Práctico
Tipo
0 de 60%
1

Entiende qué es MCP

En el módulo 2.1, Claude llamaba a un script. Funciona, pero el agente necesita saber el nombre del archivo y armar el comando. Con MCP es diferente: el agente recibe una lista de herramientas listas para usar, cada una con nombre, descripción y campos.

R3 combina dos peldaños de la escalera. La lectura del archivo es una puente local (nivel 6). La forma de entregárselo al agente es MCP (nivel 2). El resultado: un sistema sin API empieza a parecer, para el agente, un sistema con herramientas oficiales.

🆕 ¿Eres nuevo aquí? Cinco palabras de este módulo

  • MCP (Model Context Protocol) — un estándar abierto para conectar herramientas con agentes de IA. Claude Code y Codex hablan MCP, así que el mismo puente sirve para ambos.
  • Servidor MCP — el programa que ofrece las herramientas. Aquí se ejecuta en tu máquina, abierto por el propio agente, sin sitio web ni nube.
  • Herramienta (herramienta) — una acción con nombre que el agente puede llamar, como listar_horarios_livres.
  • JSON — texto organizado en pares "nombre: valor", entre llaves. Así intercambian solicitudes y respuestas el agente y el servidor.
  • stdio — conversa desde la terminal: el agente escribe en la entrada del servidor y lee su salida. No se abre ningún puerto de red.
Claude Code Codex MCP · stdio ponte-modelo server.mjs · 2 herramientas solo lectura (N4) 🩺 agenda.csv clínica de Clara 🧾 erp-vendas.csv ERP del cliente de Sônia un puente, dos agentes, ninguna API

Cómo leer el diagrama: a la izquierda, quien hace la solicitud; en el medio, el puente, que conoce las reglas; a la derecha, los archivos. Las flechas discontinuas hacia los archivos son solo de lectura: el puente nunca escribe en ellos.

✗ Archivo CSV suelto en la carpeta

  • ✗ El agente adivina las columnas en cada pedido
  • ✗ Cada conversación puede sumar de una manera distinta
  • ✗ Nada impide que el agente edite el archivo

✓ CSV detrás de una herramienta

  • ✓ El nombre y la descripción dicen qué hace
  • ✓ La cuenta es siempre la misma, escrita en el código
  • ✓ Solo lectura por diseño
🔌
MCP

patrón abierto de herramientas

🖥️
Servidor

se ejecuta en tu máquina

🛠️
Herramienta

acción con nombre

↔️
stdio

sin puerto de red

2

Conoce las dos herramientas del ponte-modelo

El modelo está en runtime/pontes/mcp-modelo/server.mjs. Es un servidor MCP sin dependencias: no necesitas instalar ningún paquete, solo tener Node.

Incluye dos herramientas de ejemplo, una para cada personaje del curso. La descripción de cada una es lo que el agente lee para decidir cuándo usarla.

HerramientaLeeCampos (opcionales)Caso
listar_horarios_livresagenda.csvdata (AAAA-MM-DD) y profissionalclínica con agenda en una hoja de cálculo
resumo_vendaserp-vendas.csvagrupar_por: cliente o produtocontador(a) con exportación del ERP

Qué revisar en la tabla: los campos son opcionales. Sin data, la primera lista todos los horarios disponibles; sin agrupar_por, la segunda agrupa por cliente.

📄 La agenda de Clara (contenido de runtime/exemplos/agenda.csv)
data,hora,profissional,status,paciente
2026-10-06,08:00,Dra. Ana,ocupado,Paciente 01
2026-10-06,09:00,Dra. Ana,livre,
2026-10-06,10:00,Dra. Ana,livre,
2026-10-06,14:00,Dr. Bruno,ocupado,Paciente 02
2026-10-06,15:00,Dr. Bruno,livre,
2026-10-07,08:00,Dra. Ana,livre,
2026-10-07,09:00,Dra. Ana,ocupado,Paciente 03
2026-10-07,16:00,Dr. Bruno,livre,
Fíjate: son cinco líneas livre. Tres el 06/10 y dos el 07/10. Volverás a encontrar estas líneas en los siguientes temas.

💡 La descripción es la mitad de la herramienta

El agente no lee el código del puente; lee la descripción. La del primero dice: "Lista los horarios disponibles de la agenda de la clínica (agenda.csv). Filtros opcionales: fecha (AAAA-MM-DD) y profesional." Una descripción clara hace que el agente elija la herramienta correcta sin que tú se lo indiques.

🗓️
listar_horarios_livres

la agenda de Clara

📊
resumo_vendas

el ERP de Sônia

🏷️
Descripción

lo que lee el agente

📦
Sin dependencias

solo Node

3

Prueba el puente por tu cuenta

La misma regla del módulo 2.1: primero sin agente. El servidor tiene un modo de autoprueba, --selftest. Enumera las herramientas, llama a cada una con datos de ejemplo e imprime el resultado.

No consume ninguna cuota: ningún modelo de IA participa en esta prueba. Solo es Node leyendo los CSV.

🎯 Objetivo: demostrar que el puente lee los dos archivos

En la terminal, dentro de la carpeta del kit:

node runtime/pontes/mcp-modelo/server.mjs --selftest

Salida real (05/10/2026, Linux):

tools: 2 (listar_horarios_livres, resumo_vendas)
2026-10-06 09:00 · Dra. Ana
2026-10-06 10:00 · Dra. Ana
2026-10-06 15:00 · Dr. Bruno
TOTAL: R$ 856.00
Cómo verificar: aparece tools: 2, los tres horarios disponibles del 06/10 y TOTAL: R$ 856.00. Es la prueba de R3.

Los tres horarios coinciden con las líneas livre del 06/10 que viste en el tema anterior. Falta comprobar el total de Sônia. La autoprueba muestra solo la última línea del resumen; la tabla de abajo vuelve a hacer la cuenta a mano, línea por línea del erp-vendas.csv.

ClienteLíneas del CSVTotal
Mercado Sol10 × 18,50 + 40 × 5,20 = 185 + 208R$ 393,00
Padaria Lua25 × 5,20 + 12 × 18,50 = 130 + 222R$ 352,00
Empório Mar6 × 18,50R$ 111,00
TOTAL393 + 352 + 111R$ 856,00

Qué revisar en la tabla: la cuenta hecha a mano llega al mismo TOTAL: R$ 856.00 del puente (el punto en lugar de la coma es solo el formato del programa).

💡 Verifícalo una vez en persona

La primera vez que un puente maneje dinero, vuelve a hacer el cálculo con una calculadora. Después de eso, la prueba automática se convierte en tu alarma: si el total cambia sin que cambie el CSV, algo se rompió.

🧪
--selftest

la prueba de R3

2️⃣
herramientas: 2

las dos herramientas

🧮
R$ 856

verificado a mano

💳
Sin cuota

ningún modelo en la prueba

4

Conecta el puente a Claude Code

En el kit, esta parte ya está lista. Dos archivos se encargan de ella: el .mcp.json, en la raíz, registra el puente; el .claude/settings.json libera su uso.

Cuando abres claude en la carpeta, lee el .mcp.json y enciende el servidor automáticamente. No necesitas dejar nada en ejecución.

📄 .mcp.json (registra)

{
  "mcpServers": {
    "ponte-modelo": {
      "command": "node",
      "args": ["runtime/pontes/mcp-modelo/server.mjs"]
    }
  }
}

📄 .claude/settings.json (habilita, fragmento)

"enabledMcpjsonServers": [
  "ponte-modelo"
]

Sin esta línea, Claude Code pregunta antes de iniciar un servidor incluido en el proyecto.

🎯 Objetivo: ver Claude Code conectado al puente

En la terminal, dentro de la carpeta del kit:

claude mcp list

Salida real (05/10/2026, Linux), la línea del puente:

ponte-modelo: node runtime/pontes/mcp-modelo/server.mjs - ✔ Connected
Cómo verificar: la línea ponte-modelo termina en ✔ Connected. Si aparece Pending approval, abre claude en la carpeta una vez y apruébalo.
1

Registrar

.mcp.json indica el nombre del puente y el comando que lo conecta.

2

Autorizar

enabledMcpjsonServers aprueba el puente de este proyecto, o lo apruebas en la primera apertura.

3

Verificar

claude mcp list muestra ✔ Connected. Solo entonces pídele algo al agente.

🆕 ¿Eres nuevo aquí? En un proyecto que no es el kit

Fuera de la carpeta del kit no hay .mcp.json listo. El propio server.mjs incluye, en un comentario al inicio, el comando que registra el puente: claude mcp add ponte-modelo -- node runtime/pontes/mcp-modelo/server.mjs. Todo lo que viene después de -- es el comando que inicia el servidor.

5

Usa la herramienta a través del agente

Ahora entra el agente. El comando de abajo usa claude -p: envía una sola solicitud, sin abrir la pantalla, e imprime la respuesta. Pide los horarios del 07/10, un día distinto al de la prueba automática.

Cambiar el día es intencional. Si el agente responde correctamente sobre un día que no probaste, es señal de que llamó a la herramienta y no repitió algo que ya había visto.

🎯 Objetivo: el agente responde usando la herramienta

En la terminal, dentro de la carpeta del kit:

claude -p "Use a tool listar_horarios_livres da ponte-modelo e diga os horários livres de 2026-10-07."

Resultado comprobado en CHANGELOG 0.2.0:

La respuesta incluye 08:00 (Dra. Ana) e 16:00 (Dr. Bruno), exactamente las líneas livre a partir del 07/10 en el CSV. El texto alrededor cambia cada vez; los dos horarios, no.

Cómo verificar: vuelve al agenda.csv del tema 2 y revisa las dos líneas de 2026-10-07 con livre.
1 · pedido "horarios libres" a partir del 2026-10-07" 2 · llamada listar_horarios_livres { data: 2026-10-07 } 3 · el puente lee el CSV estado = libre y fecha = 07/10 4 · respuesta 08:00 Dra. Ana 16:00 Dr. Bruno el modelo elige la herramienta y el campo; el puente hace el cálculo, siempre de la misma manera

Cómo leer el diagrama: la caja con brillo es el único punto en el que la IA decide algo: qué herramienta llamar y con qué fecha. El filtro del paso 3 es código, no una suposición.

Sonia hace lo mismo con la otra herramienta. Con claude abierto en la carpeta del kit, pide: "Usa la herramienta resumo_vendas del ponte-modelo agrupando por cliente y dime quién compró más." La respuesta tiene que coincidir con la tabla del tema 3: Mercado Sol va a la cabeza, con R$ 393,00.

⚠️ El puente solo lee y debe seguir así

Las dos herramientas solo leen (N4). Si algún día creas una que marca una consulta o escribe en el ERP, pasa a "alterar" en la POLITICA.md: N2, pregunta antes cada vez. Una herramienta que escribe nunca se configura como "permitir siempre".

⌨️
claude -p

solicitud sin pantalla

📅
07/10

día fuera de la prueba automática

📖
Solo lectura

N4

✍️
Si escribe

sube a N2

6

Conecta el mismo puente a Codex

Codex no lee el .mcp.json. Tiene su propio registro, creado con un comando. El puente es el mismo: ninguna línea del server.mjs cambia.

Fíjate en "$PWD/…": la receta registra en Codex la ruta completa del servidor, empezando desde la raíz del disco, y no la ruta corta que el .mcp.json usa. Así, el registro no depende de dónde se abrió Codex.

🎯 Objetivo: registrar el ponte-modelo en Codex

En la terminal, dentro de la carpeta del kit:

codex mcp add ponte-modelo -- node "$PWD/runtime/pontes/mcp-modelo/server.mjs"

Resultado esperado (según la receta):

R3 no trae una prueba propia para este paso. La prueba consiste en pedirle a Codex lo mismo que le pediste a Claude.

Cómo verificar: abre codex en la carpeta del kit y pídele: "Usa la tool listar_horarios_livres del ponte-modelo y dime los horarios libres de 2026-10-07." Debe devolver 08:00 (Dra. Ana) y 16:00 (Dr. Bruno).
Claude CodeCodex
Dónde se registra.mcp.json del proyecto (ya viene en el kit)comando codex mcp add
Recorrido del servidorrelativo a la carpeta del kitcompleto, con "$PWD/…"
Cómo verificarclaude mcp list → ✔ Connectedpedir los horarios del 07/10
Puente utilizadola misma: runtime/pontes/mcp-modelo/server.mjs

Qué revisar en la tabla: solo cambia la forma de registrarlo. Por eso MCP vale la pena: escribes el puente una vez y cualquier agente que hable MCP lo usa.

💡 ¿Y tu propio sistema?

El puente de ejemplo lee los CSV de muestra. Para leer la exportación de tu sistema, el kit contempla la variable PONTE_DADOS=/caminho/da/exportacao, en el campo env del .mcp.json. Es el tema del módulo 2.3, con las columnas intercambiadas y el registro en CAPACIDADES.md.

Prueba rápida (opcional): el claude mcp list muestra ponte-modelo … ✔ Connected. ¿Qué demuestra esto?

🔁
Un puente

dos agentes

➕
codex mcp add

registro de Codex

📍
"$PWD/…"

ruta completa

🏗️
PONTE_DADOS

tu sistema, en el 2.3

🎓 Resumen del módulo

✓
MCP proporciona herramientas con nombre — puente local (6) expuesto mediante MCP (2).
✓
Dos herramientas de ejemplo — la agenda de Clara y las ventas de Sônia.
✓
--selftest antes del agente — tools: 2 y TOTAL: R$ 856.00, sin gastar cuota.
✓
En Claude Code ya viene activada — .mcp.json + settings.json, ✔ Connected.
✓
El mismo puente en Codex — codex mcp add, sin cambiar el servidor.

Próximo módulo:

2.3 — El puente de tu sistema