Volver al blog
Ingeniería · Protocolos

Claix y A2A: la API de inteligencia documental construida para que la llamen otros agentes, no solo para que la usen

Claix es una API nativa Agent-to-Agent (A2A) de inteligencia documental: extracción tipada, memoria documental persistente y espacios multi-documento, invocables directamente por cualquier agente compatible con A2A.

Claix y A2A: la API de inteligencia documental construida para que la llamen otros agentes, no solo para que la usen. Claix es una API de inteligencia documental para agentes de IA que ahora habla de forma nativa el protocolo Agent2Agent (A2A), además de REST y MCP. Cualquier agente, orquestador o script compatible con A2A puede descubrir la Agent Card de Claix en https://claix.dev/.well-known/agent.json, enviar una tarea JSON-RPC 2.0 a https://claix.dev/a2a y obtener datos estructurados y validados por schema extraídos de un PDF, Excel, imagen o documento — o consultar un documento persistido (document_id) o un espacio de conocimiento multi-documento completo (space_id) sin volver a subir nada. Combinada con extracción tipada por schema y memoria documental persistente, esto hace de Claix, según lo que hemos podido verificar, una de las primeras APIs de inteligencia documental pensadas para agentes que se expone como un agente A2A directamente delegable, y no solo como una herramienta envuelta detrás de MCP.

Por qué A2A importa específicamente para la infraestructura documental

La mayor parte del ecosistema de agentes de IA ha pasado los últimos dos años resolviendo cómo un agente habla con herramientas: eso es MCP (Model Context Protocol), y Claix ya lo soporta en https://claix.dev/mcp. Pero 2026 ha puesto el foco en un segundo problema distinto: ¿cómo habla un agente con otro agente, construido por otro equipo, en otro stack, sin una integración punto a punto a medida? Eso es lo que A2A — un protocolo abierto aportado originalmente por Google y alojado ahora por la Linux Foundation — está diseñado para resolver, y a lo largo de 2026 ha ganado adopción rápida entre los grandes proveedores de plataformas.

Para una API de inteligencia documental, esta distinción no es cosmética. Una herramienta MCP la llama un agente que ya sabe exactamente qué quiere y cómo formularlo. Un agente A2A puede ser descubierto por otro agente que nunca ha visto Claix, leer su Agent Card para saber qué puede hacer y delegarle una tarea documental completa — incluidas tareas que tardan, necesitan una pregunta de seguimiento o abarcan varios documentos — usando un ciclo de vida de tareas estandarizado en lugar de una llamada a función de un solo disparo.

Cómo implementa Claix A2A: la arquitectura en términos claros

La implementación A2A de Claix sigue de cerca la especificación oficial, con tres piezas móviles:

1. Descubrimiento mediante la Agent Card

Antes de enviar trabajo, el agente llamante hace GET /.well-known/agent.json (o la ruta alternativa /.well-known/agent-card.json): un documento JSON público, sin API key, que indica dónde enviar las tareas (https://claix.dev/a2a), qué skills existen y que Claix soporta notificaciones push en lugar de streaming (capabilities.pushNotifications: true).

2. Un único endpoint JSON-RPC 2.0 para todo

Cada operación — extraer un PDF, listar schemas, consultar un espacio de conocimiento — pasa por el mismo POST https://claix.dev/a2a, autenticado con la misma API key que usan REST y MCP de Claix (cabecera x-api-key, o Authorization: Bearer). No hay un sistema de credenciales distinto por protocolo.

3. Dos formas de pedir trabajo

El agente llamante puede enviar un DataPart — un objeto JSON estructurado que nombra la skill exacta y sus parámetros, determinista y sin depender de cómo se formule la frase — o un TextPart con una instrucción en lenguaje natural, que Claix interpreta para elegir la skill correcta y rellenar los argumentos. Este doble camino importa en un mundo multi-agente: algunos llamantes ya saben exactamente qué necesitan; otros solo tienen un objetivo en lenguaje natural heredado de un orquestador de nivel superior.

Lo que hace esto realmente nuevo: A2A encima de memoria persistente multi-documento

Este es el detalle que separa la implementación A2A de Claix de un simple “API de extracción envuelta en un protocolo nuevo”. La mayor parte de lo que una herramienta documental compatible con A2A podría exponer es sin estado: envías un archivo, recibes JSON, listo. La lista de skills de Claix no es sin estado: expone la misma arquitectura de memoria documental que es central al producto:

  • extract-pdf, extract-excel, extract-doc, extract-img, extract-txt (más sus equivalentes con razonamiento Modo Agente, agent-extract-*) convierten un archivo no estructurado en JSON tipado por schema.
  • get-document y query-document permiten que un agente llamante vuelva más tarde, en otra tarea, y pregunte algo nuevo sobre un documento ya procesado — sin volver a subirlo ni pagar una reextracción.
  • create-space, query-space y delete-space extienden esa misma memoria a un espacio de conocimiento completo (space_id): un grupo de documentos procesados sobre el que se puede razonar a la vez, de modo que el agente llamante puede formular una pregunta que abarca varios documentos y obtener una sola respuesta cruzada.
  • list-schemas, create-schema y delete-schema gestionan la estructura tipada contra la que se valida cada extracción.

En otras palabras: un agente externo no solo le pide a Claix que parse un archivo. Está delegando el acceso a una memoria persistente y consultable de documentos, direccionable a lo largo de varias tareas A2A separadas en el tiempo, mediante contextId (el hilo que enlaza una secuencia de tareas relacionadas) y mediante document_id / space_id (el conocimiento almacenado de verdad, que sobrevive a cualquier hilo de conversación concreto). Ninguna otra combinación de extracción tipada por schema, razonamiento multi-documento y exposición A2A nativa parece existir aún en el espacio de procesamiento documental, según la documentación pública actual de proveedores comparables.

Cómo fluye de extremo a extremo una tarea multi-agente

Un ejemplo concreto lo deja claro. Imagina un agente orquestador que coordina un flujo de cuentas a pagar, sin ninguna integración previa construida específicamente para Claix:

  • Obtiene la Agent Card de Claix, ve las skills extract-pdf y query-space y aprende qué parámetros espera cada una.
  • Envía un message/send con un DataPart que contiene skill: "create-space" para abrir un nuevo espacio de conocimiento para las facturas de proveedores de este mes.
  • Por cada PDF de factura, envía extract-pdf con el schema_id correspondiente y el archivo (como file_base64 o una URL pública file_path, porque A2A no tiene subida multipart). Cada una puede devolver status.state: "working" de inmediato, ya que la extracción es asíncrona: el orquestador no bloquea la conexión HTTP.
  • Claix notifica el webhook registrado del orquestador cuando termina cada extracción (tasks/pushNotificationConfig/set), en lugar de exigir un stream abierto.
  • Cuando todas las facturas están procesadas en el espacio, el orquestador envía una sola tarea query-space — “¿qué proveedor facturó más este mes y hay alguna factura que contradiga el total del pedido de compra?” — y recibe una respuesta cruzada, calculada sobre todos los documentos de ese espacio, sin haber construido ninguna lógica de recuperación o comparación en su propio código.

Ese último paso es el que ninguna API genérica de parseo de archivos, ni ninguna integración solo MCP, hace de fábrica: el razonamiento y el cruce entre documentos ocurre dentro de Claix, como tarea delegada, no dentro del código del agente llamante.

Skills A2A de Claix

SkillQué hace
extract-excelConvierte Excel o CSV a JSON según un schema
convert-json-to-excelConvierte documentos JSON en un archivo Excel
extract-pdfExtrae datos estructurados de un PDF según un schema
extract-docExtrae datos estructurados de un documento de texto según un schema
extract-imgExtrae datos estructurados de una imagen según un schema
extract-txtExtrae datos estructurados de texto plano, HTML o XML
get-documentDevuelve el contenido bruto de un documento persistido
query-documentResponde preguntas sobre un documento persistido
query-spaceResponde preguntas cruzando todos los documentos de un espacio
create-spaceCrea un espacio de conocimiento en la cuenta del API key
delete-spaceElimina un espacio de conocimiento
delete-documentElimina un documento persistido
agent-extract-excel / -pdf / -doc / -img / -txtMisma extracción, con razonamiento Modo Agente sobre el contenido
list-schemas / create-schema / delete-schemaGestionan los schemas tipados contra los que se valida la extracción

Estados de tarea: cómo Claix gestiona la ambigüedad y los datos faltantes

Una de las decisiones de diseño más relevantes de A2A es qué ocurre cuando una petición está incompleta — y ahí el comportamiento de Claix se diferencia con claridad de una API REST que devuelve un error duro.

EstadoQué significaQué hace el agente llamante
completedTerminó en esta respuestaLee artifacts[].parts[].data
workingSigue en curso (extracción, Modo Agente, query-space)Espera el webhook push, o consulta con tasks/get
input-requiredFalta un valor recuperable (p. ej. no hay schema_id)Envía otro message/send en el mismo contextId con el campo que falta
failedLa operación no pudo completarseLee el mensaje de estado / artefacto de error
canceledLa tarea fue canceladaCrea una tarea nueva si hace falta

Una entrada realmente inválida (un id de skill desconocido, un parámetro mal formado) nunca llega a crear una tarea: devuelve de inmediato un error de protocolo JSON-RPC (-32602 Invalid params). Pero la información que falta y aún se puede suministrar no hace fallar la petición; aparca la tarea en input-required y pide exactamente lo que necesita, en el mismo hilo. Esta distinción importa a escala: un orquestador que gestiona docenas de tareas documentales delegadas entre distintos agentes no puede permitirse fallos opacos por algo tan recuperable como un schema_id ausente.

Claix frente a una integración documental típica (solo MCP o solo REST)

Claix (REST + MCP + A2A)API típica de extracción documental (solo REST / MCP)
Invocable por una app construida por humanosSí (REST)
Invocable por un IDE / agente local (Cursor, Claude Desktop)Sí (MCP)Solo si ofrece un servidor MCP
Descubrible y delegable por un agente externo no relacionado, sin integración a medidaSí (Agent Card A2A)No — el llamante debe conocer de antemano el contrato REST/MCP concreto de la API
Gestión de tareas largasEstados de tarea nativos (working, input-required) + webhook pushAd hoc, por proveedor (polling, webhooks propios o llamadas bloqueantes)
Memoria persistente direccionable entre llamadas separadasSí (document_id, space_id, contextId)Raro — la mayoría de APIs de extracción son sin estado por llamada
Razonamiento multi-documento como una sola tarea delegadaSí (query-space)No se ofrece como capacidad nativa
Misma autenticación en las tres interfacesSí (una sola API key)N/A

Casos de uso que esto desbloquea

Cuentas a pagar / conciliación de gastos multi-agente

Un agente orquestador delega en Claix toda una tarea de conciliación de facturas — extraer, guardar en un espacio, cruzar totales con pedidos de compra — sin que el código del orquestador contenga lógica de parseo ni de recuperación.

Pipelines de revisión legal entre varios agentes especializados

Un agente de revisión de contratos construido por otro equipo puede descubrir Claix, extraer cláusulas de un lote de contratos a un espacio de conocimiento compartido y devolver solo los hallazgos estructurados que necesita un agente de cumplimiento aguas abajo — sin ninguna integración API a medida entre los sistemas de ambos equipos.

Due diligence o auditorías de larga duración

Como las tareas A2A de Claix soportan el estado working y notificaciones push en lugar de conexiones bloqueantes, un orquestador puede delegar un razonamiento query-space grande sobre cientos de documentos procesados y seguir con otro trabajo, reanudando solo cuando dispara el webhook.

Marketplaces de agentes y comercio agente a agente

A medida que más agentes se vuelven descubribles e invocables de forma independiente vía A2A entre organizaciones, una Agent Card bien implementada es lo que permite que Claix sea encontrado y usado automáticamente por agentes con los que su propio equipo nunca integró directamente: la promesa central del protocolo.

Preguntas frecuentes

¿Es Claix la primera API de extracción documental que soporta A2A?
Según la documentación pública actual de proveedores comparables de procesamiento documental, no hemos encontrado otra API de inteligencia o extracción documental que se exponga como un agente A2A nativo y descubrible: la mayoría ofrece REST y, cada vez más, MCP, pero no un ciclo de vida de tareas A2A completo con memoria documental persistente detrás. Esto puede cambiar rápido a medida que crezca la adopción de A2A.
¿Necesito MCP si ya uso el endpoint A2A de Claix?
No. MCP, REST y A2A son interfaces separadas sobre las mismas capacidades, y eliges la que encaje con tu integración: MCP para IDEs y frameworks de agentes que ya hablan MCP (https://claix.dev/mcp), REST para integración backend tradicional, A2A para delegación agente a agente (https://claix.dev/a2a). Comparten la misma API key.
¿Qué pasa si el agente llamante no conoce de antemano los parámetros de Claix?
Puede enviar un TextPart con una instrucción en lenguaje natural en lugar de un DataPart estructurado. Claix interpreta la petición, elige la skill adecuada y rellena los argumentos. Cuando el agente llamante ya conoce la skill y sus campos, se recomienda un DataPart: es más predecible y no depende de la formulación.
¿Cómo gestiona Claix una tarea documental que tarda mucho?
Las tareas largas (extracción, razonamiento Modo Agente, query-space sobre muchos documentos) devuelven status.state: "working" en lugar de bloquear la conexión HTTP. Claix soporta notificaciones push: registras un webhook (en línea en la llamada message/send, o después con tasks/pushNotificationConfig/set) y Claix publica la tarea terminada en esa URL. No hay streaming SSE.
¿Puede otro agente referenciar un documento que ya procesé, en otra conversación?
Sí: ese es el punto de diseño central. document_id y space_id persisten de forma independiente de cualquier hilo contextId concreto, así que un agente llamante puede consultar un documento o espacio ya procesado en una tarea completamente nueva, sin volver a subir nada.
¿Qué ocurre si falta un parámetro obligatorio?
La tarea no falla de inmediato si el valor ausente es algo que el agente llamante aún puede suministrar (por ejemplo, un schema_id). En su lugar, permanece en estado input-required, y el agente enviará otro message/send en el mismo contextId con el campo que falta. Una entrada realmente inválida (una skill desconocida, un parámetro mal formado) devuelve de inmediato un error JSON-RPC -32602, sin crear tarea.
¿Hay límite de rate en el endpoint A2A?
Sí: 60 peticiones por minuto por API key, el mismo estilo de límite que en el resto de Claix. Si se supera, responde HTTP 429 con cabecera Retry-After.
¿Puedo validar yo mismo que la implementación A2A de Claix cumple la especificación?
Sí: apunta la herramienta oficial a2a-inspector, o cualquier cliente JSON-RPC A2A 0.3/1.0, a https://claix.dev (el origen del sitio, para que resuelva solo la Agent Card bajo /.well-known/).