Tu key decide lo que ve el asistente
tools/listsólo devuelve las herramientas que los scopes de la key permiten. Con una key de sólo lectura, el asistente ni siquiera sabe que existecreate_call.- Cada
tools/callvuelve a comprobar el scope. Un cliente que llama a una herramienta que no se le mostró recibe un errorinsufficient_scope, no el resultado.
Catálogo de herramientas
Las herramientas de lectura llevan la anotación MCP
readOnlyHint. Las tres que actúan sobre llamadas reales llevan destructiveHint y openWorldHint, así que los clientes que respetan las anotaciones pueden preguntarte antes de correrlas; update_agent, publish_agent y assign_phone_number también llevan destructiveHint, porque cambian lo que usan las llamadas en vivo. Cómo funciona la confirmación de las tres está en Seguridad y gasto.
Pide resúmenes, no páginas
Las herramientas están hechas para que el asistente obtenga su respuesta en pocas llamadas:- Las herramientas de lista devuelven 50 elementos por omisión, hasta 100 por llamada, aceptan los filtros de la tabla y devuelven un
next_cursorpara la página siguiente. - Las listas dejan fuera los campos pesados:
list_callsno incluye transcripciones. Pide una llamada conget_callcuando necesites lo que se dijo. get_call_statscontesta preguntas agregadas («¿cuántas llamadas fallaron ayer?», «¿qué agente gastó más esta semana?») en una sola llamada, en vez de paginar cientos de llamadas. Cuenta hasta 1,000 llamadas por rango; si había más, lo dice contruncated: truey el total real encalls_in_range, para que el asistente acote el rango.
Límites de peticiones
El MCP no tiene un límite aparte: usa el bucket de tu cuenta, el mismo que la API.- Cada llamada a una herramienta cuenta como una petición contra el límite por minuto de tu plan, una vez, nunca más.
initialize,tools/listy el resto del protocolo no cuentan.- En las tres herramientas que piden confirmación sólo cuenta la llamada que se ejecuta. El paso de confirmación no.
- El tope por IP de la API aplica a toda petición, también a
initializeytools/list.
get_call_stats, no.
Errores
Cuando una herramienta falla, el servidor no rompe la sesión MCP: devuelve un resultado de herramienta normal conisError: true y el mismo sobre que la API, como structuredContent y como texto:
error y decidir qué hacer: esperar tras un rate_limit_exceeded, decirte que la key necesita otro scope tras un insufficient_scope, corregir un argumento tras un invalid_body, pedir un token nuevo tras un invalid_confirmation, o detenerse tras un key_budget_exhausted. La lista completa de códigos está en Errores. Si nos reportas un problema, mándanos el request_id.
Un resultado exitoso trae su JSON igual: en structuredContent y como texto.
Una key que falta, inválida o revocada nunca llega a las herramientas: la petición HTTP misma se rechaza con 401.