MCP

Tool reference

Every tool the DesignerBox MCP server exposes, with its inputs, return shape and a copy-paste example.

Authentication

Every request to /api requires an Authorization header with a Bearer token. You have two ways to get one.

OAuth (recommended for AI clients)

AI clients run Dynamic Client Registration on first connect, then walk the user through an OAuth consent screen. The /mcp/connect page handles this automatically. Your client receives a 30-day access token.

API key

For scripts and CI, generate a personal API key in the DesignerBox app under Account / API Keys. The key starts with apikey_ and is presented as a bearer token like any other.

Endpoint

All tool calls go to a single JSON-RPC 2.0 endpoint over HTTPS POST.

POST https://mcp.designerbox.ai/api

Tools

list_designs

List designs for the current team, with optional folder filter and pagination.

Arguments

limitnumber · optional · default 20
Maximum results to return (1-100, default 20).
folderIdstring · optional
Optional folder ID to filter designs to a specific folder.

Returns

An object with designs: [{id, title, folderId, brandProfileId, createdAt, updatedAt}]. Up to limit results.

Example

{"jsonrpc":"2.0","method":"tools/call","id":1,
 "params":{"name":"list_designs","arguments":{"limit":10}}}

get_design

Fetch full metadata for a single design including title, folder, brand profile references and creation date.

Arguments

designIdstring · required
DesignerBox design ID from a list call.

Returns

An object with full design metadata: id, title, folderId, brandProfileId, createdAt, updatedAt and any associated provider data.

Example

{"jsonrpc":"2.0","method":"tools/call","id":2,
 "params":{"name":"get_design","arguments":{"designId":""}}}

search_designs

Full-text search across design titles and descriptions for the active team. Filters: limit (1-100, default 20).

Arguments

querystring · required
Substring to search for (3-200 characters).
limitnumber · optional · default 20
Maximum results to return (1-100, default 20).

Returns

An object with designs: [{id, title, folderId, snippet, updatedAt}]. Snippet contains matching context.

Example

{"jsonrpc":"2.0","method":"tools/call","id":3,
 "params":{"name":"search_designs","arguments":{"query":"logo","limit":10}}}

list_brand_profiles

Return all brand profiles for the current team with voice, themes, niche and industry fields.

Arguments

No arguments.

Returns

An object with profiles: [{id, name, brandVoice, mainThemes, primaryNiche, industry, isActive}].

Example

{"jsonrpc":"2.0","method":"tools/call","id":4,
 "params":{"name":"list_brand_profiles","arguments":{}}}

list_folders

List folders in the active team workspace. Useful for targeting list_designs to a specific folder.

Arguments

No arguments.

Returns

An object with folders: [{id, name, designCount, createdAt}].

Example

{"jsonrpc":"2.0","method":"tools/call","id":5,
 "params":{"name":"list_folders","arguments":{}}}

list_photo_packs

Browse available photo packs. Accepts an optional language parameter to filter category labels.

Arguments

languagestring · optional
BCP-47 language code to filter photo pack category labels (e.g. en, de, es).

Returns

An object with packs: [{id, name, category, imageCount, language}].

Example

{"jsonrpc":"2.0","method":"tools/call","id":6,
 "params":{"name":"list_photo_packs","arguments":{}}}

list_teams

Return the teams the authenticated user owns or belongs to, with the currently active team flagged.

Arguments

No arguments.

Returns

An object with currentTeamId and teams: [{teamId, teamName, isCurrent}].

Example

{"jsonrpc":"2.0","method":"tools/call","id":7,
 "params":{"name":"list_teams","arguments":{}}}

get_plan_limits

Read the current subscription tier and per-tier quotas (storage and AI credits). The aiCredits bucket nests monthly subscription credits, purchasedBalance from one-off credit packs, total ceiling, and remaining available. Useful before mutating tools to predict whether the call will succeed.

Arguments

No arguments.

Returns

An object with tier, isPaid, isTrial, upgradeUrl, limits.storage ({limit, current, exceeded}), limits.aiCredits ({monthly:{limit,current,exceeded}, purchasedBalance, total, available}), and creditsAvailable ({monthly, purchasedBalance, total}). For ULTRA Unlimited, limits.aiCredits.monthly.limit and limits.aiCredits.total are both -1, limits.aiCredits.available is null, and creditsAvailable.monthly and creditsAvailable.total are both null. purchasedBalance is always a number (zero when no packs).

Example

{"jsonrpc":"2.0","method":"tools/call","id":8,
 "params":{"name":"get_plan_limits","arguments":{}}}

get_plan

Read plan name, billing cycle (monthly or yearly), Stripe subscription status, currency, renewal date, trial end, and seat count. Pairs with get_plan_limits which returns quota usage. Available on every plan with no AI credit cost.

Arguments

No arguments.

Returns

An object with tier, isPaid, isTrial, billingCycle (monthly or yearly or null), status (Stripe subscription status), currency, renewalDate (ISO 8601), trialEnd (ISO 8601 or null), quantity (seat count or null), cancelAtPeriodEnd, and upgradeUrl.

Example

{"jsonrpc":"2.0","method":"tools/call","id":43,
 "params":{"name":"get_plan","arguments":{}}}

search_tools

Search the MCP tool catalog by free-text query, category, or intent. Returns categories, requiresScope, one-line descriptions, and matched use-case tags. Free for all plans (discovery surface).

Arguments

All optional. Call with no arguments to list all 43 tools.

querystring · optional
Free-text search across tool names, descriptions, and use-case tags.
categorystring · optional
Filter to one category: designs, brand, teams, discovery, other.

Returns

An object with totalTools, matchCount, categories: [string[]], and tools: [{name, category, requiresScope, description, useCases, matchedOn: [name|category|description|use_case]}].

Example

{"jsonrpc":"2.0","method":"tools/call","id":9,
 "params":{"name":"search_tools",
           "arguments":{"query":"brand profile"}}}

create_avatarPaid plan

Generate an AI avatar image from a text prompt. Returns a URL to the generated image and the task ID. Requires AI credits and a paid plan.

Arguments

promptstring · required
Text description of the avatar to generate (10-500 characters).
stylestring · optional
Optional style hint passed to the image model (e.g. "photorealistic", "cartoon").
clientRequestIdstring · optional
Optional idempotency key. Same key within 5 minutes returns the cached result.

Returns

An object with taskId, status, imageUrl (when ready), and creditsUsed.

Example

{"jsonrpc":"2.0","method":"tools/call","id":10,
 "params":{"name":"create_avatar",
           "arguments":{"prompt":"professional headshot, warm lighting"}}}

set_current_team

Switch the active team for this Bearer token. The user must be a member. Persisted on the OAuth token; in-session mutation makes it effective immediately for subsequent tools in the same conversation.

Arguments

teamIdstring · required
Target teamId from list_teams. Membership is re-validated server-side.

Returns

An object with teamId, teamName, persisted (true if OAuth, false if API key) and an optional note.

Example

{"jsonrpc":"2.0","method":"tools/call","id":11,
 "params":{"name":"set_current_team",
           "arguments":{"teamId":"team_xxxxx"}}}

update_brand_profile

Patch the active brand profile. Allowed fields: brandVoice, mainThemes, contentGoals, contentTypes, primaryNiche, subNiches, industry, industries. Anything else is silently dropped.

Arguments

brandVoicearray<string> · optional
Array of brand-voice descriptors (e.g. ["bold", "minimal"]).

Other patchable fields: mainThemes, contentGoals, contentTypes, primaryNiche, subNiches, industry, industries.

Returns

An object with profileId, name, updated: [field names that were patched], and the current values of brandVoice, mainThemes, contentGoals, contentTypes, primaryNiche, industry after the patch.

Example

{"jsonrpc":"2.0","method":"tools/call","id":12,
 "params":{"name":"update_brand_profile",
           "arguments":{"brandVoice":["bold","minimal"]}}}

Avatars

list_avatars

List avatar generation tasks for the current user (user-scoped, not team-scoped). Optional status filter and limit (default 50, max 100).

Arguments

statusstring · optional
Optional avatar status filter: pending, generating, completed, failed, cancelled.
limitnumber · optional · default 50
Maximum results to return (1-100, default 20).

Example

{"jsonrpc":"2.0","method":"tools/call","id":13,
 "params":{"name":"list_avatars","arguments":{"status":"completed"}}}

get_avatar

Retrieve full detail for a single avatar task by taskUUID. Returns task state including generated images when complete. Cross-team access is rejected when teamId is resolved.

Arguments

taskUUIDstring · required
The avatar task UUID returned by create_avatar.

Example

{"jsonrpc":"2.0","method":"tools/call","id":14,
 "params":{"name":"get_avatar","arguments":{"taskUUID":""}}}

get_avatar_status

Poll an avatar task progress. Returns a slim status snapshot (status, progress, message). Use get_avatar to retrieve full detail including generated images once complete.

Arguments

taskUUIDstring · required
The avatar task UUID returned by create_avatar.

Example

{"jsonrpc":"2.0","method":"tools/call","id":15,
 "params":{"name":"get_avatar_status","arguments":{"taskUUID":""}}}

Templates

list_templates

List content templates grouped by category. Catalog-shaped (not team-scoped). Pass a language to restrict results to one locale; omit for all locales. Use get_template for the full body.

Arguments

languagestring · optional
BCP-47 language code to filter photo pack category labels (e.g. en, de, es).

Example

{"jsonrpc":"2.0","method":"tools/call","id":16,
 "params":{"name":"list_templates","arguments":{"language":"en"}}}

get_template

Retrieve a single template by id or slug. Returns the template body for use as a content scaffold. One of id or slug is required.

Arguments

idstring · optional
Template ID. Either id or slug is required.
slugstring · optional
Template slug. Either id or slug is required.

Example

{"jsonrpc":"2.0","method":"tools/call","id":17,
 "params":{"name":"get_template","arguments":{"slug":"hero-banner"}}}

Assets

list_assets

List assets (uploaded images, videos and files) for the active team. Optional filters by folder or MIME-type prefix. Use get_asset for full detail.

Arguments

folderIdstring · optional
Optional folder ID to filter designs to a specific folder.
pagenumber · optional · default 1
Page number (1-indexed). Default 1.
limitnumber · optional · default 30
Maximum results to return (1-100, default 20).
typestring · optional
Optional MIME-type prefix filter (for example "image" or "video").

Example

{"jsonrpc":"2.0","method":"tools/call","id":18,
 "params":{"name":"list_assets","arguments":{"type":"image","limit":20}}}

get_asset

Retrieve full detail for a single asset by ID. Cross-team access is rejected by the underlying service.

Arguments

idstring · required
Asset ID (Mongo _id) returned by list_assets.

Example

{"jsonrpc":"2.0","method":"tools/call","id":19,
 "params":{"name":"get_asset","arguments":{"id":""}}}

list_brand_assets

List brand assets (logos, fonts, palette swatches and similar) for the active team. Optional filters by brand profile, file type, category, tags or free-text search. Distinct from brand profiles, which describe voice and themes.

Arguments

brandProfileIdstring · optional
Optional brand profile ID to restrict assets to one profile.
fileTypestring · optional
Optional file-type filter (for example "png", "svg", "ttf").
categorystring · optional
Optional category label (for example "logo", "palette", "font").
tagsarray<string> · optional
Optional list of tag strings to narrow brand assets.
searchstring · optional
Optional free-text query across brand asset names.

Example

{"jsonrpc":"2.0","method":"tools/call","id":20,
 "params":{"name":"list_brand_assets","arguments":{"category":"logo"}}}

AI generation

generate_imagePaid plan

Generate one or more AI images synchronously (about 30 seconds). Costs at least 1 AI credit per image. FREE tier is blocked. Pass clientRequestId for idempotent retries within 5 minutes. Returns the generated image URLs immediately.

Arguments

promptstring · required
Text description of the image to generate (1-2000 characters).
modelstring · optional
Optional image model id. Defaults to the platform fallback chain.
aspectRatiostring · optional
Image aspect ratio: 1:1, 3:4, 4:3, 9:16, or 16:9.
numberResultsnumber · optional · default 1
How many images to generate (1-4). Default 1. Each image costs one credit.
negativePromptstring · optional
Optional words or phrases the model should avoid in the generated image.
clientRequestIdstring · optional
Optional idempotency key. Same key within 5 minutes returns the cached result.

Example

{"jsonrpc":"2.0","method":"tools/call","id":21,
 "params":{"name":"generate_image",
           "arguments":{"prompt":"sunset over the alps","aspectRatio":"16:9"}}}

generate_videoPaid plan

Submit an AI video generation task. Returns a taskUUID immediately; the task is processed asynchronously (BullMQ-backed). Use get_video_status to poll for completion. Credit cost is calculated from model and duration. FREE tier is blocked.

Arguments

promptstring · required
Text description of the video to generate (1-2000 characters).
modelstring · required
Video model id. See /api/v1/ai/video-models for available ids.
typestring · optional · default text-to-video
Generation mode: text-to-video (default), image-to-video, or audio-to-video.
durationnumber · optional
Requested video length in seconds (1-60). Defaults to the model default.
resolutionstring · optional
Optional resolution string (for example 720p, 1080p). Model-dependent.
aspectRatiostring · optional
Optional aspect ratio (for example 16:9, 9:16). Model-dependent.
inputImagestring · optional
Required for image-to-video mode: a public URL to the source image.
negativePromptstring · optional
Optional words or phrases the model should avoid in the generated video.
clientRequestIdstring · optional
Optional idempotency key. Same key within 5 minutes returns the cached result.

Example

{"jsonrpc":"2.0","method":"tools/call","id":22,
 "params":{"name":"generate_video",
           "arguments":{"prompt":"a cat surfing","model":""}}}

get_video_status

Poll a video generation task progress. Returns full task state including the final video URL when complete. Backed by a BullMQ queue (real async).

Arguments

taskUUIDstring · required
The video task UUID returned by generate_video.

Example

{"jsonrpc":"2.0","method":"tools/call","id":23,
 "params":{"name":"get_video_status","arguments":{"taskUUID":""}}}

Stock photos

search_stock_photos

Search stock photos across Unsplash, Pexels and Pixabay simultaneously. Returns results from each provider plus any per-provider errors. Search-only; no list or browse.

Arguments

querystring · required
Substring to search for (3-200 characters).
pagenumber · optional · default 1
Page number (1-indexed). Default 1.
perPagenumber · optional · default 20
Results per page (1-50). Default 20.

Example

{"jsonrpc":"2.0","method":"tools/call","id":24,
 "params":{"name":"search_stock_photos","arguments":{"query":"mountains"}}}

Community workflows and pipelines

list_community_workflows

List published community workflows. Filter by category, sort by popular, recent or views, and scope to mine, team or all. Use get_community_workflow for the full graph.

Arguments

pagenumber · optional · default 1
Page number (1-indexed). Default 1.
limitnumber · optional · default 20
Maximum results to return (1-100, default 20).
categorystring · optional · default all
Community workflow category filter. Use "all" for no category restriction.
sortstring · optional · default popular
Sort order: popular, recent, or views. Default popular.
searchstring · optional
Optional free-text query to narrow community workflows.
filterstring · optional · default all
Scope filter: all (everyone), mine (your published workflows), or team. Default all.

Example

{"jsonrpc":"2.0","method":"tools/call","id":25,
 "params":{"name":"list_community_workflows","arguments":{"sort":"recent"}}}

get_community_workflow

Retrieve full detail for a community workflow including its node graph and edges. Use list_community_workflows for browsing.

Arguments

idstring · required
Community workflow ID (Mongo _id) returned by list_community_workflows.

Example

{"jsonrpc":"2.0","method":"tools/call","id":26,
 "params":{"name":"get_community_workflow","arguments":{"id":""}}}

list_pipelines

List pipelines (workflow canvases) for the active team. Returns slim shape with node counts; use get_pipeline for the full graph.

Arguments

pagenumber · optional · default 1
Page number (1-indexed). Default 1.
limitnumber · optional · default 20
Maximum results to return (1-100, default 20).
sortstring · optional · default updatedAt
Pipeline sort order: updatedAt, createdAt, or name. Default updatedAt.

Example

{"jsonrpc":"2.0","method":"tools/call","id":27,
 "params":{"name":"list_pipelines","arguments":{}}}

get_pipeline

Retrieve a pipeline (workflow canvas) by ID, scoped to the active team. Returns the full node and edge graph.

Arguments

idstring · required
Pipeline ID (Mongo _id) returned by list_pipelines.

Example

{"jsonrpc":"2.0","method":"tools/call","id":28,
 "params":{"name":"get_pipeline","arguments":{"id":""}}}

list_whiteboards

List MySpace whiteboards for the current user, scoped to the active team. Whiteboard content is omitted from the list view; use the dedicated read endpoint for content.

Arguments

No arguments.

Example

{"jsonrpc":"2.0","method":"tools/call","id":29,
 "params":{"name":"list_whiteboards","arguments":{}}}

Conversations and whiteboards

list_conversations

List the user AI Assistant chat conversations for the active team. Optional status filter (active or archived) and tag filter. Use get_conversation for full message history.

Arguments

statusstring · optional · default active
Conversation status filter: active (default) or archived.
pagenumber · optional · default 1
Page number (1-indexed). Default 1.
limitnumber · optional · default 20
Maximum results to return (1-100, default 20).
tagsarray<string> · optional
Optional list of tag strings. Returns conversations matching any of the supplied tags.

Example

{"jsonrpc":"2.0","method":"tools/call","id":30,
 "params":{"name":"list_conversations","arguments":{"status":"archived"}}}

get_conversation

Retrieve a single AI Assistant conversation including its full message history. Cross-user and cross-team access is rejected by the underlying service.

Arguments

idstring · required
Conversation ID returned by list_conversations.

Example

{"jsonrpc":"2.0","method":"tools/call","id":31,
 "params":{"name":"get_conversation","arguments":{"id":""}}}

Galleries and skills

generate_designPaid plan

Generate a gallery design by applying a skill to a source image (image-to-image). Synchronous ~30-45s. Costs 1 AI credit per call. FREE tier is blocked. Use list_skills to discover valid skillId values. Pass clientRequestId for idempotent retries within 5 minutes.

Arguments

sourceImageUrlstring · required
Public URL of the source image to transform.
skillIdstring · required
Skill ID to apply. Call list_skills first to discover available IDs.
clientRequestIdstring · optional
Optional idempotency key. Same key within 5 minutes returns the cached result.

Example

{"jsonrpc":"2.0","method":"tools/call","id":32,
 "params":{"name":"generate_design",
           "arguments":{"sourceImageUrl":"https://example.com/photo.jpg","skillId":""}}}

list_galleries

List AI gallery assets (designs generated via generate_design) for the active team and user. Supports pagination and an optional category filter. Returns a slim shape: assetId, assetUrl, slug, displayName, galleryCategory, createdAt.

Arguments

limitnumber · optional · default 20
Maximum results to return (1-100, default 20).
pagenumber · optional · default 1
Page number (1-indexed). Default 1.
categorystring · optional
Optional gallery-category filter (for example "portrait", "landscape").

Example

{"jsonrpc":"2.0","method":"tools/call","id":33,
 "params":{"name":"list_galleries","arguments":{"limit":10}}}

list_skills

List active skills available for generate_design. Returns skillId, name, type (image or video), group and category. Use this to discover valid skillId values before calling generate_design.

Arguments

typestring · optional
Optional filter: image or video skills.

Example

{"jsonrpc":"2.0","method":"tools/call","id":34,
 "params":{"name":"list_skills","arguments":{"type":"image"}}}

Cinematic generation

generate_cinema_studioPaid plan

Generate cinematic AI images using a camera body, lens, focal length, aperture and aspect ratio combination. Synchronous ~30s. Costs 1 AI credit per image. FREE tier is blocked. Supply referenceImageUrl to switch to reference-image (style-transfer) mode. Pass clientRequestId for idempotent retries within 5 minutes.

Arguments

scenePromptstring · required
Scene description for the cinematic shot (1-2000 characters).
cameraBodystring · optional · default arri-alexa-65
Camera body ID controlling the rendering signature (for example "arri-alexa-65", "red-v-raptor", "sony-venice-2").
lensstring · optional · default panavision-primo
Lens descriptor ID (for example "classic-anamorphic", "master-prime", "panavision-primo").
focalLengthstring · optional · default fl-50
Focal length ID from fl-14 to fl-200 (covers 14mm through 200mm).
aperturestring · optional · default f-2.8
Aperture ID from f-1.2 to f-11.
aspectRatiostring · optional · default 16:9
Image aspect ratio: 16:9, 1:1, 9:16, or 4:3. Default 16:9.
imageCountnumber · optional · default 2
Number of cinematic frames to generate (1-4). Default 2. Each frame costs one credit.
referenceImageUrlstring · optional
Optional reference image URL. When supplied, switches to reference-image (style-transfer) mode.
clientRequestIdstring · optional
Optional idempotency key. Same key within 5 minutes returns the cached result.

Example

{"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}}}

Async task management

cancel_avatar_taskDestructive

Cancel a pending or in-flight avatar generation task. The service-side refund path returns previously-charged credits. Terminal-state tasks (completed or failed) cannot be cancelled; the call surfaces a structured error.

Arguments

taskUUIDstring · required
The avatar task UUID returned by create_avatar.

Example

{"jsonrpc":"2.0","method":"tools/call","id":36,
 "params":{"name":"cancel_avatar_task","arguments":{"taskUUID":""}}}

cancel_video_taskDestructive

Cancel a pending or in-flight video generation task. The service-side refund path returns previously-charged credits. Terminal-state tasks (completed or failed) cannot be cancelled; the call surfaces a structured error.

Arguments

taskUUIDstring · required
The video task UUID returned by generate_video.

Example

{"jsonrpc":"2.0","method":"tools/call","id":37,
 "params":{"name":"cancel_video_task","arguments":{"taskUUID":""}}}

list_video_tasks

List video generation tasks for the current user (user-scoped, parity with list_avatars). Optional status filter (pending, processing, completed, failed, cancelled) and limit (default 20, max 100). Use get_video_status for full polling detail.

Arguments

statusstring · optional
Optional status filter: pending, processing, completed, failed, cancelled.
limitnumber · optional · default 20
Maximum results to return (1-100, default 20).

Example

{"jsonrpc":"2.0","method":"tools/call","id":38,
 "params":{"name":"list_video_tasks","arguments":{"status":"completed"}}}

Single-fetch detail

get_brand_profile

Retrieve full detail for a single brand profile by ID. Cross-team access is rejected with a generic not-found (no existence leak). Use list_brand_profiles to enumerate IDs.

Arguments

brandProfileIdstring · required
Brand profile ID (uuid) returned by list_brand_profiles.

Example

{"jsonrpc":"2.0","method":"tools/call","id":39,
 "params":{"name":"get_brand_profile","arguments":{"brandProfileId":""}}}

get_brand_asset

Retrieve full detail for a single brand asset by ID. Cross-team access is rejected with a generic not-found (no existence leak). Use list_brand_assets to enumerate IDs.

Arguments

brandAssetIdstring · required
Brand asset ID (uuid) returned by list_brand_assets.

Example

{"jsonrpc":"2.0","method":"tools/call","id":40,
 "params":{"name":"get_brand_asset","arguments":{"brandAssetId":""}}}

get_photo_pack

Retrieve a single photo-pack category including its images. Catalog-shaped (not team-scoped). Optional language code; falls back to English when the requested locale is missing.

Arguments

categoryIdstring · required
Photo-pack category ID (for example "3d-rendered-object").
languagestring · optional · default en
BCP-47 language code to filter photo pack category labels (e.g. en, de, es).

Example

{"jsonrpc":"2.0","method":"tools/call","id":41,
 "params":{"name":"get_photo_pack","arguments":{"categoryId":"3d-rendered-object"}}}

get_whiteboard

Retrieve a single whiteboard by ID including its full content blob. Whiteboards are user-scoped (creator-only); cross-user access is rejected with a generic not-found.

Arguments

whiteboardIdstring · required
Whiteboard ID (uuid) returned by list_whiteboards.

Example

{"jsonrpc":"2.0","method":"tools/call","id":42,
 "params":{"name":"get_whiteboard","arguments":{"whiteboardId":""}}}

MCP Resources

Resources are read-only context the client can fetch via the MCP resources/read method. Claude pulls them at conversation start so it has account, team and brand context without you re-asking each session.

designerbox://account/summary

Plan, AI credits used / limit, design count, active team name, and folder count. Counts capped at 100 each for fast load.

designerbox://brand-profiles/active

The active brand profile for the current team. Returns LLM-relevant fields: brandVoice, mainThemes, contentGoals, contentTypes, primaryNiche, industry.

designerbox://teams/current

Current team metadata (teamId, teamName) plus totalTeamsAvailable count. Pair with list_teams + set_current_team to switch.

designerbox://recent-designs

The 10 most recent designs for the active team, pre-loaded into Claude's context so it has immediate design library awareness without a tool call.

Named workflows

Slash-menu shortcuts that orchestrate multiple tools. Pick one and let your AI assistant walk through a multi-step task with confirmation before mutating anything.

/weekly-design-batch

Read brand profile and recent designs, then propose design themes and folder targets for the coming week.

/audit-gallery

Walk recent designs via list_designs and flag items that drift from your active brand profile. Read-only.

/brand-sync

Compare designs against your active brand profile and surface gaps or stale fields. Suggests updates; you approve before anything changes.

/regenerate-with-style

Regenerate an existing design in a different style. Calls get_asset, then list_skills if needed, then generate_design.

Discovery and OAuth endpoints

Standards-compliant metadata so any MCP client can auto-configure.

  • GET /.well-known/oauth-protected-resource/api RFC 9728
  • GET /.well-known/oauth-authorization-server RFC 8414
  • GET /oauth/.well-known/openid-configuration OIDC
  • POST /oauth/reg Dynamic Client Registration (RFC 7591)
  • GET /oauth/auth Authorize (PKCE-S256 required)
  • POST /oauth/token Token exchange

Control your design workflow from any AI assistant

Search designs, browse photo packs, update brand profiles and generate avatars by chatting with Claude or Cursor. One secure connection, every DesignerBox feature.