No construyo APIs. Construyo superficies

No construyo APIs. Construyo superficies.

Yo también empecé como todos.

Construí un SaaS sólido. API limpia, endpoints bien definidos, todo en orden.

Y entonces llegó la pregunta: “¿Esto funciona con agentes tipo Claude?”

Respondí rápido: “Sí, tenemos API.”

Pero en la práctica… no funcionaba.

Ahí entendí algo que me cambió la forma de construir productos:

Estaba diseñando para un solo tipo de usuario.

El error que cometí

Durante años pensé igual que casi todo el mundo: si la API está bien, todo lo demás cae por su propio peso.

Pero eso solo funciona cuando el único consumidor es el frontend.

En el momento en que entran agentes y modelos, ese modelo mental se rompe.

Porque ni los agentes ni los modelos quieren usar tu API como lo hace un frontend.

Y ahí empiezan los problemas.

Cuando un agente usa mi REST API

Esto lo viví directamente.

Dejé que los agentes usaran la API REST tal cual.

Y lo que pasó fue bastante claro:

Los agentes empezaron a hacer polling sin parar. Cada segundo preguntando por estado.

La infraestructura empezó a sufrir. Los costes subieron. Y la experiencia era lenta.

Funcionaba… pero era ineficiente por diseño.

El problema más profundo

Luego me di cuenta de algo peor.

Cuando un agente entra en un sistema, lo primero que necesita saber es:

“¿Qué puedo hacer aquí?”

Y con una API tradicional, no hay una buena respuesta.

Dependes de documentación o de código predefinido. Nada dinámico. Nada natural.

Eso no escala.

El cambio de enfoque

La solución no fue mejorar la API.

Fue dejar de pensar en “una API para todo”.

Empecé a separar claramente tres formas de interactuar con el sistema.

Primero, mantuve la REST API como base. Sigue siendo necesaria, pero ya no es el centro.

Después añadí comunicación en tiempo real. Y aquí se notó inmediatamente.

Pasé de agentes preguntando constantemente a agentes recibiendo updates en directo.

Menos latencia. Menos llamadas. Más eficiencia.

Y luego implementé MCP.

MCP fue el punto de inflexión

Con MCP dejé de explicar mi sistema.

El sistema empezó a explicarse solo.

Los modelos ya no necesitan documentación. No necesitan wrappers. No necesitan traducciones.

Simplemente descubren lo que pueden hacer… y lo hacen.

Eso reduce una cantidad enorme de complejidad.

Cómo lo veo ahora

Hoy no pienso en “mi API”.

Pienso en tres formas de interacción:

  • humanos usando interfaces
  • agentes ejecutando tareas en tiempo real
  • modelos descubriendo capacidades

Y cada una necesita su propia superficie.

Intentar resolver todo con REST es una simplificación que termina saliendo cara.

En una frase

Si solo tengo REST, no soy AI-native.

Ahora, cuando construyo, no me pregunto solo si mi API está bien.

Me pregunto:

“¿Un agente puede usar esto de forma natural?”

Porque ahí es donde realmente empieza la diferencia.