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.
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
patrón abierto de herramientas
se ejecuta en tu máquina
acción con nombre
sin puerto de red
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.
| Herramienta | Lee | Campos (opcionales) | Caso |
|---|---|---|---|
listar_horarios_livres | agenda.csv | data (AAAA-MM-DD) y profissional | clínica con agenda en una hoja de cálculo |
resumo_vendas | erp-vendas.csv | agrupar_por: cliente o produto | contador(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.
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,
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.
la agenda de Clara
el ERP de Sônia
lo que lee el agente
solo Node
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.
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
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.
| Cliente | Líneas del CSV | Total |
|---|---|---|
| Mercado Sol | 10 × 18,50 + 40 × 5,20 = 185 + 208 | R$ 393,00 |
| Padaria Lua | 25 × 5,20 + 12 × 18,50 = 130 + 222 | R$ 352,00 |
| Empório Mar | 6 × 18,50 | R$ 111,00 |
| TOTAL | 393 + 352 + 111 | R$ 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ó.
la prueba de R3
las dos herramientas
verificado a mano
ningún modelo en la prueba
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.
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
ponte-modelo termina en ✔ Connected. Si aparece Pending approval, abre claude en la carpeta una vez y apruébalo.Registrar
.mcp.json indica el nombre del puente y el comando que lo conecta.
Autorizar
enabledMcpjsonServers aprueba el puente de este proyecto, o lo apruebas en la primera apertura.
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.
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.
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.
agenda.csv del tema 2 y revisa las dos líneas de 2026-10-07 con livre.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".
solicitud sin pantalla
día fuera de la prueba automática
N4
sube a N2
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.
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.
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 Code | Codex | |
|---|---|---|
| Dónde se registra | .mcp.json del proyecto (ya viene en el kit) | comando codex mcp add |
| Recorrido del servidor | relativo a la carpeta del kit | completo, con "$PWD/…" |
| Cómo verificar | claude mcp list → ✔ Connected | pedir los horarios del 07/10 |
| Puente utilizado | la 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?
dos agentes
registro de Codex
ruta completa
tu sistema, en el 2.3
🎓 Resumen del módulo
Próximo módulo:
2.3 — El puente de tu sistema