Autenticacion
Cada solicitud a /api requiere un encabezado Authorization con un token Bearer. Tienes dos formas de obtener uno.
OAuth (recomendado para clientes de IA)
Los clientes de IA realizan el registro dinamico de clientes en la primera conexion. La pagina /mcp/connect lo hace automaticamente. Tu cliente recibe un token de acceso de 30 dias.
Clave de API
Para scripts y CI, genera una clave de API personal en la aplicacion DesignerBox bajo Cuenta / Claves de API. La clave comienza con apikey_.
Endpoint
Todas las llamadas a herramientas van a un unico endpoint JSON-RPC 2.0 via HTTPS POST.
Herramientas
list_designs
Listar disenos del equipo actual, con filtro de carpeta opcional y paginacion.
Argumentos
limitfolderIdDevuelve
Un objeto con designs: [{id, title, folderId, brandProfileId, createdAt, updatedAt}].
Ejemplo
{"jsonrpc":"2.0","method":"tools/call","id":1,
"params":{"name":"list_designs","arguments":{"limit":10}}}
get_design
Obtener metadatos completos de un diseno incluyendo titulo, carpeta, referencias de perfil de marca y fecha de creacion.
Argumentos
designIdDevuelve
Un objeto con metadatos completos del diseno: id, title, folderId, brandProfileId, createdAt, updatedAt.
Ejemplo
{"jsonrpc":"2.0","method":"tools/call","id":2,
"params":{"name":"get_design","arguments":{"designId":""}}}
search_designs
Busqueda de texto completo en titulos y descripciones de disenos del equipo activo.
Argumentos
querylimitDevuelve
Un objeto con designs: [{id, title, folderId, snippet, updatedAt}].
Ejemplo
{"jsonrpc":"2.0","method":"tools/call","id":3,
"params":{"name":"search_designs","arguments":{"query":"logo","limit":10}}}
list_brand_profiles
Devolver todos los perfiles de marca del equipo actual con voz, temas, nicho e industria.
Argumentos
Sin argumentos.
Devuelve
Un objeto con profiles: [{id, name, brandVoice, mainThemes, primaryNiche, industry, isActive}].
Ejemplo
{"jsonrpc":"2.0","method":"tools/call","id":4,
"params":{"name":"list_brand_profiles","arguments":{}}}
list_folders
Listar carpetas en el espacio de trabajo del equipo activo. Util para limitar list_designs a una carpeta especifica.
Argumentos
Sin argumentos.
Devuelve
Un objeto con folders: [{id, name, designCount, createdAt}].
Ejemplo
{"jsonrpc":"2.0","method":"tools/call","id":5,
"params":{"name":"list_folders","arguments":{}}}
list_photo_packs
Explorar paquetes de fotos disponibles. Acepta parametro de idioma opcional para etiquetas de categoria.
Argumentos
languageDevuelve
Un objeto con packs: [{id, name, category, imageCount, language}].
Ejemplo
{"jsonrpc":"2.0","method":"tools/call","id":6,
"params":{"name":"list_photo_packs","arguments":{}}}
list_teams
Devolver los equipos a los que pertenece el usuario autenticado, con el equipo activo marcado.
Argumentos
Sin argumentos.
Devuelve
Un objeto con currentTeamId y teams: [{teamId, teamName, isCurrent}].
Ejemplo
{"jsonrpc":"2.0","method":"tools/call","id":7,
"params":{"name":"list_teams","arguments":{}}}
get_plan_limits
Leer el nivel de suscripcion actual y las cuotas por nivel (almacenamiento y creditos de IA). El bloque aiCredits anida los creditos mensuales de la suscripcion, purchasedBalance de paquetes puntuales, total y disponible restante. Disponible en todos los planes.
Argumentos
Sin argumentos.
Devuelve
Un objeto con tier, isPaid, isTrial, upgradeUrl, limits.storage ({limit, current, exceeded}), limits.aiCredits ({monthly:{limit,current,exceeded}, purchasedBalance, total, available}) y creditsAvailable ({monthly, purchasedBalance, total}). Con ULTRA Unlimited, limits.aiCredits.monthly.limit y limits.aiCredits.total valen -1, limits.aiCredits.available es null, y creditsAvailable.monthly y creditsAvailable.total son null. purchasedBalance siempre es un numero (cero cuando no hay packs).
Ejemplo
{"jsonrpc":"2.0","method":"tools/call","id":8,
"params":{"name":"get_plan_limits","arguments":{}}}
get_plan
Leer nombre del plan, ciclo de facturacion (mensual o anual), estado de la suscripcion de Stripe, moneda, fecha de renovacion, fin de prueba y numero de asientos. Combina con get_plan_limits. Disponible en todos los planes sin coste de creditos de IA.
Argumentos
Sin argumentos.
Devuelve
Un objeto con tier, isPaid, isTrial, billingCycle (mensual o anual o null), status (estado de Stripe), currency, renewalDate (ISO 8601), trialEnd (ISO 8601 o null), quantity (asientos o null), cancelAtPeriodEnd y upgradeUrl.
Ejemplo
{"jsonrpc":"2.0","method":"tools/call","id":43,
"params":{"name":"get_plan","arguments":{}}}
search_tools
Buscar el catalogo de herramientas MCP por texto, categoria o intencion. Devuelve categorias, scope y descripciones.
Argumentos
All optional. Call with no arguments to list all 43 tools.
querycategoryDevuelve
Un objeto con totalTools, matchCount, categories y tools: [{name, category, requiresScope, description, useCases, matchedOn: [name|category|description|use_case]}].
Ejemplo
{"jsonrpc":"2.0","method":"tools/call","id":9,
"params":{"name":"search_tools",
"arguments":{"query":"brand profile"}}}
create_avatarPlan de pago
Generar una imagen de avatar de IA a partir de un prompt de texto. Requiere creditos de IA y un plan de pago.
Argumentos
promptstyleclientRequestIdDevuelve
Un objeto con taskId, status, imageUrl (cuando listo) y creditsUsed.
Ejemplo
{"jsonrpc":"2.0","method":"tools/call","id":10,
"params":{"name":"create_avatar",
"arguments":{"prompt":"professional headshot, warm lighting"}}}
set_current_team
Cambiar el equipo activo para este token Bearer. El usuario debe ser miembro. Efecto inmediato para herramientas posteriores.
Argumentos
teamIdDevuelve
Un objeto con teamId, teamName, persisted y una nota opcional.
Ejemplo
{"jsonrpc":"2.0","method":"tools/call","id":11,
"params":{"name":"set_current_team",
"arguments":{"teamId":"team_xxxxx"}}}
update_brand_profile
Actualizar el perfil de marca activo. Campos permitidos: brandVoice, mainThemes, contentGoals, contentTypes, primaryNiche, subNiches, industry, industries.
Argumentos
brandVoiceOther patchable fields: mainThemes, contentGoals, contentTypes, primaryNiche, subNiches, industry, industries.
Devuelve
Un objeto con profileId, name, updated: [nombres de campos cambiados] y los valores actuales despues del patch.
Ejemplo
{"jsonrpc":"2.0","method":"tools/call","id":12,
"params":{"name":"update_brand_profile",
"arguments":{"brandVoice":["bold","minimal"]}}}
Avatares
list_avatars
Lista tareas de generación de avatares para el usuario actual (en ámbito de usuario, no de equipo). Filtro de estado opcional y límite (predeterminado 50, máximo 100).
Argumentos
statuslimitEjemplo
{"jsonrpc":"2.0","method":"tools/call","id":13,
"params":{"name":"list_avatars","arguments":{"status":"completed"}}}
get_avatar
Recupera el detalle completo de una tarea de avatar por taskUUID. Devuelve el estado de la tarea, incluyendo las imágenes generadas al completarse. Cuando la teamId está resuelta, los accesos entre equipos se rechazan.
Argumentos
taskUUIDEjemplo
{"jsonrpc":"2.0","method":"tools/call","id":14,
"params":{"name":"get_avatar","arguments":{"taskUUID":""}}}
get_avatar_status
Consulta el progreso de una tarea de avatar. Devuelve un estado breve (status, progress, message). Usa get_avatar para el detalle completo.
Argumentos
taskUUIDEjemplo
{"jsonrpc":"2.0","method":"tools/call","id":15,
"params":{"name":"get_avatar_status","arguments":{"taskUUID":""}}}
Plantillas
list_templates
Lista plantillas de contenido agrupadas por categoría. Forma de catálogo (no es por equipo). Pasa un idioma para restringir a una localización; omítelo para todos los idiomas. Usa get_template para el cuerpo completo.
Argumentos
languageEjemplo
{"jsonrpc":"2.0","method":"tools/call","id":16,
"params":{"name":"list_templates","arguments":{"language":"en"}}}
get_template
Recupera una plantilla por id o slug. Devuelve el cuerpo de la plantilla para usarla como esquema de contenido. Es necesario uno entre id y slug.
Argumentos
idslugEjemplo
{"jsonrpc":"2.0","method":"tools/call","id":17,
"params":{"name":"get_template","arguments":{"slug":"hero-banner"}}}
Activos
list_assets
Lista activos (imágenes, vídeos y archivos subidos) del equipo activo. Filtros opcionales por carpeta o prefijo MIME. Usa get_asset para el detalle completo.
Argumentos
folderIdpagelimittypeEjemplo
{"jsonrpc":"2.0","method":"tools/call","id":18,
"params":{"name":"list_assets","arguments":{"type":"image","limit":20}}}
get_asset
Recupera el detalle completo de un activo por ID. El servicio subyacente rechaza accesos entre equipos.
Argumentos
idEjemplo
{"jsonrpc":"2.0","method":"tools/call","id":19,
"params":{"name":"get_asset","arguments":{"id":""}}}
list_brand_assets
Lista activos de marca (logos, fuentes, paletas y similares) del equipo activo. Filtros opcionales por perfil de marca, tipo de archivo, categoría, etiquetas o búsqueda libre. Distinto de los perfiles de marca, que describen voz y temas.
Argumentos
brandProfileIdfileTypecategorytagssearchEjemplo
{"jsonrpc":"2.0","method":"tools/call","id":20,
"params":{"name":"list_brand_assets","arguments":{"category":"logo"}}}
Generación con IA
generate_imagePlan de pago
Genera una o varias imágenes IA de forma síncrona (~30 segundos). Cuesta al menos 1 crédito por imagen. El plan FREE está bloqueado. Pasa clientRequestId para reintentos idempotentes durante 5 minutos. Devuelve las URL de las imágenes inmediatamente.
Argumentos
promptmodelaspectRationumberResultsnegativePromptclientRequestIdEjemplo
{"jsonrpc":"2.0","method":"tools/call","id":21,
"params":{"name":"generate_image",
"arguments":{"prompt":"sunset over the alps","aspectRatio":"16:9"}}}
generate_videoPlan de pago
Envía una tarea de generación de vídeo IA. Devuelve un taskUUID inmediatamente; la tarea se procesa de forma asíncrona (respaldada por BullMQ). Usa get_video_status para sondear. El coste en créditos se calcula por modelo y duración. El plan FREE está bloqueado.
Argumentos
promptmodeltypedurationresolutionaspectRatioinputImagenegativePromptclientRequestIdEjemplo
{"jsonrpc":"2.0","method":"tools/call","id":22,
"params":{"name":"generate_video",
"arguments":{"prompt":"a cat surfing","model":""}}}
get_video_status
Consulta el progreso de una tarea de generación de vídeo. Devuelve el estado completo y la URL final del vídeo al completarse. Respaldado por una cola BullMQ (asíncrono real).
Argumentos
taskUUIDEjemplo
{"jsonrpc":"2.0","method":"tools/call","id":23,
"params":{"name":"get_video_status","arguments":{"taskUUID":""}}}
Fotos de stock
search_stock_photos
Busca fotografías de stock simultáneamente en Unsplash, Pexels y Pixabay. Devuelve resultados de cada proveedor más errores por proveedor. Solo búsqueda; no hay listado.
Argumentos
querypageperPageEjemplo
{"jsonrpc":"2.0","method":"tools/call","id":24,
"params":{"name":"search_stock_photos","arguments":{"query":"mountains"}}}
Workflows comunitarios y pipelines
list_community_workflows
Lista workflows publicados por la comunidad. Filtra por categoría, ordena por populares, recientes o vistas, y limita a propios, de equipo o todos. Usa get_community_workflow para el grafo completo.
Argumentos
pagelimitcategorysortsearchfilterEjemplo
{"jsonrpc":"2.0","method":"tools/call","id":25,
"params":{"name":"list_community_workflows","arguments":{"sort":"recent"}}}
get_community_workflow
Recupera el detalle completo de un workflow comunitario incluyendo su grafo de nodos y aristas. Usa list_community_workflows para explorar.
Argumentos
idEjemplo
{"jsonrpc":"2.0","method":"tools/call","id":26,
"params":{"name":"get_community_workflow","arguments":{"id":""}}}
list_pipelines
Lista pipelines (canvases de workflow) del equipo activo. Devuelve una forma reducida con conteo de nodos; usa get_pipeline para el grafo completo.
Argumentos
pagelimitsortEjemplo
{"jsonrpc":"2.0","method":"tools/call","id":27,
"params":{"name":"list_pipelines","arguments":{}}}
get_pipeline
Recupera un pipeline (canvas de workflow) por ID, en el ámbito del equipo activo. Devuelve el grafo completo de nodos y aristas.
Argumentos
idEjemplo
{"jsonrpc":"2.0","method":"tools/call","id":28,
"params":{"name":"get_pipeline","arguments":{"id":""}}}
list_whiteboards
Lista los whiteboards de MySpace del usuario actual, en el ámbito del equipo activo. El contenido del whiteboard se omite en la vista de lista; usa el endpoint dedicado de lectura para el contenido.
Argumentos
Sin argumentos.
Ejemplo
{"jsonrpc":"2.0","method":"tools/call","id":29,
"params":{"name":"list_whiteboards","arguments":{}}}
Conversaciones y whiteboards
list_conversations
Lista las conversaciones del Asistente IA del usuario para el equipo activo. Filtro opcional de estado (active o archived) y de etiquetas. Usa get_conversation para el historial completo.
Argumentos
statuspagelimittagsEjemplo
{"jsonrpc":"2.0","method":"tools/call","id":30,
"params":{"name":"list_conversations","arguments":{"status":"archived"}}}
get_conversation
Recupera una conversación del Asistente IA con su historial completo de mensajes. Los accesos entre usuarios y entre equipos son rechazados por el servicio.
Argumentos
idEjemplo
{"jsonrpc":"2.0","method":"tools/call","id":31,
"params":{"name":"get_conversation","arguments":{"id":""}}}
Galerias y skills
generate_designPlan de pago
Genera un diseno de galeria aplicando un skill a una imagen fuente (image-to-image). Sincrono ~30-45s. Cuesta 1 credito de IA por llamada. El tier FREE esta bloqueado. Usa list_skills para descubrir valores skillId validos. Pasa clientRequestId para reintentos idempotentes dentro de 5 minutos.
Argumentos
sourceImageUrlskillIdclientRequestIdEjemplo
{"jsonrpc":"2.0","method":"tools/call","id":32,
"params":{"name":"generate_design",
"arguments":{"sourceImageUrl":"https://example.com/photo.jpg","skillId":""}}}
list_galleries
Lista los assets de galeria IA (disenos generados con generate_design) del equipo y usuario activos. Soporta paginacion y un filtro de categoria opcional. Devuelve una forma reducida: assetId, assetUrl, slug, displayName, galleryCategory, createdAt.
Argumentos
limitpagecategoryEjemplo
{"jsonrpc":"2.0","method":"tools/call","id":33,
"params":{"name":"list_galleries","arguments":{"limit":10}}}
list_skills
Lista los skills activos disponibles para generate_design. Devuelve skillId, name, type (image o video), group y category. Usalo para descubrir valores skillId validos antes de llamar a generate_design.
Argumentos
typeEjemplo
{"jsonrpc":"2.0","method":"tools/call","id":34,
"params":{"name":"list_skills","arguments":{"type":"image"}}}
Generacion cinematografica
generate_cinema_studioPlan de pago
Genera imagenes IA cinematograficas usando una combinacion de cuerpo de camara, objetivo, distancia focal, apertura y proporcion. Sincrono ~30s. Cuesta 1 credito de IA por imagen. El tier FREE esta bloqueado. Pasa referenceImageUrl para cambiar a modo referencia-imagen (transferencia de estilo). Pasa clientRequestId para reintentos idempotentes dentro de 5 minutos.
Argumentos
scenePromptcameraBodylensfocalLengthapertureaspectRatioimageCountreferenceImageUrlclientRequestIdEjemplo
{"jsonrpc":"2.0","method":"tools/call","id":35,
"params":{"name":"generate_cinema_studio",
"arguments":{"scenePrompt":"a wide shot of a foggy harbour at dawn","aspectRatio":"16:9","imageCount":2}}}
Gestion de tareas asincronas
cancel_avatar_taskDestructivo
Cancela una tarea de generacion de avatar pendiente o en curso. El reembolso del lado del servicio devuelve los creditos previamente cobrados. Las tareas en estado final (completed o failed) no se pueden cancelar; la llamada devuelve un error estructurado.
Argumentos
taskUUIDEjemplo
{"jsonrpc":"2.0","method":"tools/call","id":36,
"params":{"name":"cancel_avatar_task","arguments":{"taskUUID":""}}}
cancel_video_taskDestructivo
Cancela una tarea de generacion de video pendiente o en curso. El reembolso del lado del servicio devuelve los creditos previamente cobrados. Las tareas en estado final (completed o failed) no se pueden cancelar; la llamada devuelve un error estructurado.
Argumentos
taskUUIDEjemplo
{"jsonrpc":"2.0","method":"tools/call","id":37,
"params":{"name":"cancel_video_task","arguments":{"taskUUID":""}}}
list_video_tasks
Lista las tareas de generacion de video del usuario actual (por usuario, paridad con list_avatars). Filtro de estado opcional (pending, processing, completed, failed, cancelled) y limite (predeterminado 20, max 100). Usa get_video_status para detalle completo de polling.
Argumentos
statuslimitEjemplo
{"jsonrpc":"2.0","method":"tools/call","id":38,
"params":{"name":"list_video_tasks","arguments":{"status":"completed"}}}
Detalle de obtencion unitaria
get_brand_profile
Recupera el detalle completo de un unico perfil de marca por ID. El acceso entre equipos se rechaza con un not-found generico (sin fuga de existencia). Usa list_brand_profiles para enumerar IDs.
Argumentos
brandProfileIdEjemplo
{"jsonrpc":"2.0","method":"tools/call","id":39,
"params":{"name":"get_brand_profile","arguments":{"brandProfileId":""}}}
get_brand_asset
Recupera el detalle completo de un unico asset de marca por ID. El acceso entre equipos se rechaza con un not-found generico (sin fuga de existencia). Usa list_brand_assets para enumerar IDs.
Argumentos
brandAssetIdEjemplo
{"jsonrpc":"2.0","method":"tools/call","id":40,
"params":{"name":"get_brand_asset","arguments":{"brandAssetId":""}}}
get_photo_pack
Recupera una unica categoria de photo-pack incluyendo sus imagenes. Forma de catalogo (no por equipo). Codigo de idioma opcional; recurre a ingles si el locale solicitado falta.
Argumentos
categoryIdlanguageEjemplo
{"jsonrpc":"2.0","method":"tools/call","id":41,
"params":{"name":"get_photo_pack","arguments":{"categoryId":"3d-rendered-object"}}}
get_whiteboard
Recupera un unico whiteboard por ID incluyendo su blob de contenido completo. Los whiteboards son por usuario (solo creador); el acceso entre usuarios se rechaza con un not-found generico.
Argumentos
whiteboardIdEjemplo
{"jsonrpc":"2.0","method":"tools/call","id":42,
"params":{"name":"get_whiteboard","arguments":{"whiteboardId":""}}}
Recursos MCP
Los recursos son contexto de solo lectura que el cliente puede obtener via el metodo MCP resources/read. Claude los carga al inicio de la conversacion.
designerbox://account/summary
Plan, creditos de IA usados / limite, cantidad de disenos, nombre del equipo activo y cantidad de carpetas.
designerbox://brand-profiles/active
El perfil de marca activo del equipo actual con campos relevantes para LLM.
designerbox://teams/current
Metadatos del equipo actual (teamId, teamName) y cantidad total de equipos disponibles.
designerbox://recent-designs
Los 10 disenos mas recientes del equipo activo, precargados en el contexto de Claude.
Flujos de trabajo predefinidos
Atajos del menu de comandos que encadenan multiples herramientas. Elige uno y deja que tu asistente realice una tarea de varios pasos con confirmacion antes de cambiar algo.
/weekly-design-batch
Lee el perfil de marca y los disenos recientes, luego propone temas y objetivos de carpeta para la semana que viene.
/audit-gallery
Recorre los disenos recientes con list_designs y marca los que se desvian del perfil de marca activo. Solo lectura.
/brand-sync
Compara disenos con el perfil de marca activo y detecta vacios. Sugiere actualizaciones; apruebas antes de que cambie algo.
/regenerate-with-style
Regenera un diseno existente en un estilo diferente. Llama get_asset, luego list_skills si es necesario, luego generate_design.
Endpoints de discovery y OAuth
Metadatos compatibles con estandares para que cualquier cliente MCP pueda autoconfigurarse.
GET /.well-known/oauth-protected-resource/apiRFC 9728GET /.well-known/oauth-authorization-serverRFC 8414GET /oauth/.well-known/openid-configurationOIDCPOST /oauth/regDynamic Client Registration (RFC 7591)GET /oauth/authAuthorize (PKCE-S256 required)POST /oauth/tokenToken exchange
