Elige la credencial adecuada
Se mantienen
list_models, get_balance, chat_completion, generate_image, generate_video, get_task con clave API. El mismo nombre puede usar otro esquema con un token personal: consulta tools/list tras conectar.
Crea un token y conecta
- En Panel → Agent, abre Personal MCP.
- Pon un nombre, selecciona los permisos necesarios y una caducidad de 1 a 365 días, 30 días por defecto.
- Para
models:invokeoutilities:invoke, vincula una clave API activa propia. Se mantienen sus restricciones de modelos, presupuesto y RPM. Consultar la cuenta no exige saldo positivo. - Al crearlo, copia el token
mcp_user_a la configuración secreta del cliente. No lo incluyas en código, chats ni registros. Revócalo en el mismo panel cuando ya no lo necesites.
Authorization. El cliente negocia la versión del protocolo. OAuth no está implementado; los clientes que solo aceptan OAuth no pueden conectar. La tabla contiene datos de conexión, no un archivo específico de un cliente.
Consulta las herramientas antes de llamarlas
Tras inicializar, llama aget_capabilities con {} y lee tools/list. Devuelve audience: user, ownership: self, scopes, herramientas permitidas y oauth: false. Las demás herramientas personales usan input, incluso cuando no necesitan parámetros.
Permisos
Los permisos se eligen en la web. MCP no puede crear autorizaciones, ampliar sus propios permisos ni convertir una clave en credencial de administrador. Cada llamada comprueba permisos y propiedad, aunque la herramienta esté oculta.usage:content exige además una petición explícita y registro de contenido activado en la clave.
Escrituras, resultados y reintentos seguros
Cada escritura exige unidempotencyKey único para esa intención: 1–191 caracteres ASCII imprimibles sin espacios. Guárdalo antes de llamar. Si pierdes la respuesta, repite herramienta, entrada y clave. Cambiar la entrada con la misma clave produce idempotency_conflict. Cada paso de carga necesita su clave.
structuredContent y como texto JSON en content. La primera ejecución devuelve la estructura siguiente. Una repetición devuelve replayed: true y un pequeño receipt con identificadores disponibles, sin el resultado completo ni el secreto de una clave.
execution_pending (409) indica que la primera llamada sigue sin resolverse. execution_unknown (409) o status: unknown indica que el efecto podría haber ocurrido. Consulta get_execution y después la tarea, pedido o acción. No uses una clave nueva para saltarte estos estados. Una ejecución MCP completada puede contener una tarea o aprobación web aún pendiente.
Modelos y utilidades
Elige un ID público conlist_models → get_model_schema. body admite toda la solicitud HTTP JSON compatible con el modelo. El ID va en body.model; generate_content requiere en su lugar el model exterior. Solo edit_image admite archivos (image, image[], mask); los demás medios usan URL publicadas.
task_id y consulta get_task. Con stream: true, los eventos se recopilan en el resultado MCP final; usa la API HTTP para streaming SDK en vivo. El UUID v4 opcional client_request_id relaciona solicitudes de vídeo y es distinto de idempotencyKey. Los modelos pueden consumir créditos.
La recopilación de resultados del modelo se limita a 8 MiB y 300 segundos. Si se interrumpe o supera un límite, el comprobante conserva cualquier request_id conocido. Revisa get_execution y la solicitud o tarea existente antes de actuar; no crees otra solicitud de pago ni una nueva clave de idempotencia para sustituir una llamada sin resolver. Desconectar el cliente no significa que una tarea ya aceptada se haya cancelado.
Usa list_utilities → get_utility_schema → run_utility para las 32 utilidades. Mantienen sus requisitos y cuotas; algunas operaciones por lotes exigen una cuenta de pago elegible. Pon valores en parameters e ID de archivos propios en files. Las salidas binarias o grandes son archivos temporales. Archivos y salidas no JSON también requieren files:write.
Subir y recuperar archivos
- Llama a
begin_uploadcon nombre, tipo MIME y tamaño exacto en bytes; máximo 250 MiB. - Llama a
upload_chunkconindexdesde cero ydataBase64. Cada bloque decodificado admite 1 MiB; los índices deben ser consecutivos desde cero. - Llama a
finish_uploadconfile_idy SHA-256 opcional en minúsculas. Esperastatus: ready. - Pasa el ID a una herramienta compatible.
get_artifactdevuelve metadatos o bytes Base64 si indicasoffset. Siguenext_offsethastanull. El enlace exige iniciar sesión como propietario.
upload_image y upload_media publican por separado: sus URL se pueden compartir. Publica solo archivos que quieras hacer accesibles mediante esas URL.
Antes de leer el contenido, se comprueban la propiedad, el estado listo, la cantidad y el tamaño de los archivos. Cada referencia cuenta para los límites, incluso los ID repetidos.
upload_media: máximo 20 archivos / 250 MiB en total.upload_image: un archivo de hasta 50 MiB.edit_image: máximo 20 archivos entre todos los campos, incluido como máximo unmask; 50 MiB por archivo / 100 MiB en total. También se aplican los límites por array del esquema.run_utility: aplica los límites de cantidad, tamaño individual y total deget_utility_schema, con un máximo absoluto de 250 MiB en total, aunque el catálogo permita más.
Confirmación web y pagos
- Secreto de clave:
start_reveal_key_action→ usuario apruebaconfirmation_url→reveal_api_keycon elidde la acción comoaction_id. La aprobación se vincula a esa clave y credencial, caduca 15 minutos después de crear la acción y se usa una sola vez.create_api_keysolo devuelve metadatos. - Cancelar suscripción:
cancel_subscriptioninicia la confirmación. El usuario la ejecuta en la web. Compruebaget_account_actiony la suscripción antes de informar que terminó. - Contraseña/eliminación:
start_account_actionconpassword_changeodelete_account. El usuario introduce códigos y contraseñas en la web, nunca en el asistente. Eliminar revoca el acceso y cierra la sesión; no sigas consultando MCP después. - Pago:
list_billing_products→create_checkout→ usuario paga →get_payment_status. Un enlace no prueba el pago. - Mensajes reales:
resend_invoiceytest_credit_alertenvían correo o webhook. Úsalos solo por solicitud expresa.
Gestiona errores sin duplicar trabajo
Los fallos de conexión/autenticación pueden ser errores HTTP. Un fallo de herramienta estableceisError: true; revisa structuredContent.error.code, status, execution_id y receipt. Una repetición puede devolver un status de ejecución no completado.
Primeros pasos de solo lectura
- Gasto:
get_balance→summarize_usage→ solicitudes individuales conlist_usage. - Fallo:
diagnose_requestcontask_id; revisa error y reembolso antes de otra llamada al modelo. - Integración:
list_models→get_model_schema→get_api_guide, sin ejecutar modelos. - Seguridad:
list_api_keys→get_api_key→list_login_records.
from incluido y to excluido. Por defecto 30 días, máximo 366. Solo cubren registros conservados; un día ausente no prueba uso cero. get_overview.timezoneOffset usa minutos de JavaScript getTimezoneOffset (UTC menos hora local), por defecto 0. Las listas y resúmenes siguen en UTC.
En summarize_usage, creditsCharged y netCreditsCharged son el cargo neto conservado. linkedRefundCredits cubre reembolsos conocidos de tareas asíncronas vinculadas. knownGrossCredits suma esos reembolsos al neto y no representa un gasto bruto completo. totalTokens, averageLatencyMs, pending, processing describen las solicitudes conservadas coincidentes.
Consulta la referencia completa, la autenticación y los errores HTTP API.