Cuando migramos nuestro CRM a Attio, construimos nuestro propio toolkit MCP para automatizar los flujos de go-to-market. Como parte de eso, decidimos correr un benchmark comparando el toolkit de Attio de Arcade.dev contra el de Composio. En 8 consultas CRM, Arcade consumió 7,426 tokens en total mientras Composio consumió 747,083, una diferencia de más de 100x.

A esa escala, la elección del toolkit deja de ser un detalle de implementación y empieza a aparecer en tus costos de infraestructura y en la confiabilidad de los agentes. Aquí está el desglose completo del benchmark.

Benchmark

Poblamos un sandbox de CRM en Attio con 50 empresas (Fortune 50), 100 contactos (ejecutivos C-suite reales) y 50 deals en 6 etapas de pipeline. Luego corrimos 8 consultas CRM idénticas en dos toolkits MCP, Arcade y Composio, y registramos los tokens brutos de cada respuesta. Ambas pruebas usaron Claude Code como cliente con Claude Sonnet 4.6 como modelo.

Todos los datos de respuesta bruta, el script de seed del sandbox y los prompts exactos de evaluación son open source en github.com/ArcadeAI/attio-mcp-benchmark. Puedes reproducirlo tú mismo.

Resultados

Total de tokens en las 8 consultas:

ToolkitTotal de tokensPromedio por consulta
Arcade7,426928
Composio747,08393,385

Composio generó 100.6x más tokens de respuesta que Arcade para las mismas 8 consultas contra el mismo workspace.

Desglose por consulta:

#ConsultaArcadeComposioRatio
01Listar 25 empresas (solo nombre)902144,363160x
02Deals en etapa Nurture (nombre + etapa)97448,79250x
03Deals mayores a $50K (nombre + valor)1,07266,75262x
04Empresas con “Tech” en el nombre35448,103136x
05Empresas de tecnología (nombre + categorías)1,030165,958161x
06Deals antes de marzo 2026 (nombre + fecha + valor)1,600111,82970x
07Empresas de tecnología grandes (filtro compuesto)1,329159,032120x
08Deal de mayor valor (orden desc, límite 1)1652,25414x

Conteo de tokens vía tiktoken cl100k_base. Ambos toolkits se probaron en vivo contra el mismo workspace de Attio con los mismos datos seeded.

Por qué existe la brecha

Tres diferencias estructurales explican el delta de 100x:

1. Selección de campos vs. volcado completo del registro

Arcade requiere que los agentes especifiquen qué campos necesitan (nombre, valor, etapa). La respuesta solo contiene esos campos.

Composio devuelve todos los campos de cada registro: todos los atributos personalizados, todos los atributos integrados, sin forma de seleccionar campos específicos.

En este workspace, un solo registro de empresa se expande a ~5,800 tokens en el formato de respuesta de Composio. En el de Arcade, el mismo registro con solo el nombre seleccionado es ~30 tokens.

2. Metadatos temporales en cada campo

Composio envuelve cada valor de atributo con los metadatos completos de la API de Attio: active_from , active_until , attribute_type , created_byobjetos actor y anotaciones de tipo. Esta es la respuesta bruta de la API v2 de Attio pasada sin modificaciones.

Arcade aplana todo esto a pares clave-valor. El nombre de una empresa es "Apple Inc."no un objeto anidado con timestamps y referencias a actores.

3. La recuperación de errores consume más contexto

La consulta 07 (filtro compuesto: empresas de tecnología con más de 1K empleados) requirió 4 llamadas a herramientas en Composio vs. 1 en Arcade:

  • Primer intento fallido: $inoperador no soportado en campos select
  • Segundo intento fallido: valores de opción 501-1000no existen en este workspace
  • Llamada de descubrimiento de esquema: descargó el esquema completo de atributos de empresa (~40 atributos) solo para conocer los títulos reales de las opciones (5K-10K , 10K-50Ketc.)
  • Tercer intento exitoso con los valores de opción correctos

Arcade lo resolvió en una sola llamada. El contexto total consumido durante la resolución de Q07 en Composio fue significativamente mayor que lo que quedó guardado en disco.

Qué significa esto para los agentes

A la tasa de tokens de Arcade, un agente puede correr las 8 consultas del benchmark y consumir el 3.7% de una ventana de contexto de 200K.

A la tasa de Composio, las mismas 8 consultas consumen el 373% de una ventana de 200K; las respuestas no caben en un solo contexto. Solo la respuesta del primer batch fue de 467K tokens.

En flujos de trabajo de agentes con múltiples pasos, donde el agente necesita consultar, razonar y actuar en varias operaciones CRM, el espacio disponible en el contexto determina si el agente completa la tarea o pierde el hilo. La investigación sobre el rendimiento de LLMs con contextos largos (Lost in the Middle, Liu et al. 2023) muestra que la precisión se degrada conforme crece el input, sobre todo cuando la información relevante queda enterrada en el medio de inputs largos.

El costo a escala

Usando los promedios de tokens por consulta de este benchmark (928 para Arcade, 93,385 para Composio) con el precio de input de Claude Sonnet 4.6 ($3/M tokens):

EscalaConsultas/mesArcadeComposioAhorro mensualAhorro anual
Equipo pequeño (10 agentes, 50 consultas/día)15,000$42$4,202$4,161$49,928
Mercado medio (25 agentes, 100 consultas/día)75,000$209$21,012$20,803$249,633
Enterprise (100 agentes, 200 consultas/día)600,000$1,670$168,093$166,423$1,997,071

Estos son solo los costos de tokens de input, la diferencia marginal entre los dos toolkits por los datos de respuesta de herramientas. Los costos totales del agente (system prompts, razonamiento, tokens de output) se suman igual en ambos lados.

En el nivel de mercado medio, la elección del toolkit por sí sola podría costar un cuarto de millón de dólares al año. A escala enterprise, podría ser $2M. Y eso es con precios de Sonnet. Para agentes corriendo en Opus 4.6 ($15/M), multiplica esas cifras por 5x.

Metodología

  • Sandbox: 50 empresas, 100 personas, 50 deals, 26 atributos personalizados (15 en empresas, 11 en deals). Poblado vía scripts/seed_workspace.py.
  • Cliente: Claude Code con Claude Sonnet 4.6
  • Consultas: 8 prompts de evaluación que cubren lista, filtro por estado, filtro numérico, búsqueda de texto, filtro por selección, comparación de fechas, filtro compuesto y ordenamiento con límite
  • Medición: tiktoken cl100k_base sobre las respuestas JSON brutas completas guardadas en disco

Reprodúcelo tú mismo:

git clone https://github.com/ArcadeAI/attio-mcp-benchmark
cd attio-mcp-benchmark

# Seed a sandbox (requires Attio API key)
ATTIO_API_KEY=your_key python3 scripts/seed_workspace.py

# Run evals (see evals/*.md for the 8 prompts)
# Connect your toolkit's MCP server and run each prompt

# Count tokens
pip3 install tiktoken
python3 scripts/count_tokens.py