認証
/apiへのすべてのリクエストには、Bearerトークンを含むAuthorizationヘッダーが必要です。取得方法は2通りあります。
OAuth(AIクライアント向けの推奨方法)
AIクライアントは初回接続時にDynamic Client Registrationを実行し、OAuthの同意画面へ案内します。/mcp/connectページがこれを自動で処理します。クライアントは30日間有効なアクセストークンを受け取ります。
APIキー
スクリプトやCIには、DesignerBoxアプリのアカウント / APIキーで個人用のAPIキーを生成します。キーはapikey_で始まり、ほかと同じくベアラートークンとして使います。
エンドポイント
すべてのツール呼び出しは、HTTPS POSTで単一のJSON-RPC 2.0エンドポイントに送られます。
ツール
list_designs
フォルダフィルターとページネーションを任意で指定して、現在のチームのデザインを一覧表示します。
引数
limitfolderId戻り値
designsを含むオブジェクト:[{id, title, folderId, brandProfileId, createdAt, updatedAt}]。最大でlimit件の結果。
例
{"jsonrpc":"2.0","method":"tools/call","id":1,
"params":{"name":"list_designs","arguments":{"limit":10}}}
get_design
タイトル、フォルダ、ブランドプロフィールの参照、作成日を含め、単一デザインの全メタデータを取得します。
引数
designId戻り値
全デザインメタデータを含むオブジェクト:id、title、folderId、brandProfileId、createdAt、updatedAt、および関連するプロバイダーデータ。
例
{"jsonrpc":"2.0","method":"tools/call","id":2,
"params":{"name":"get_design","arguments":{"designId":""}}}
search_designs
有効なチームのデザインのタイトルと説明を全文検索します。フィルター:limit(1〜100、デフォルト20)。
引数
querylimit戻り値
designsを含むオブジェクト:[{id, title, folderId, snippet, updatedAt}]。snippetには一致した箇所の文脈が含まれます。
例
{"jsonrpc":"2.0","method":"tools/call","id":3,
"params":{"name":"search_designs","arguments":{"query":"logo","limit":10}}}
list_brand_profiles
現在のチームのすべてのブランドプロフィールを、ボイス、テーマ、ニッチ、業種の項目とともに返します。
引数
引数なし。
戻り値
profilesを含むオブジェクト:[{id, name, brandVoice, mainThemes, primaryNiche, industry, isActive}]。
例
{"jsonrpc":"2.0","method":"tools/call","id":4,
"params":{"name":"list_brand_profiles","arguments":{}}}
list_folders
有効なチームのワークスペース内のフォルダを一覧表示します。list_designsを特定のフォルダに絞り込む際に便利です。
引数
引数なし。
戻り値
foldersを含むオブジェクト:[{id, name, designCount, createdAt}]。
例
{"jsonrpc":"2.0","method":"tools/call","id":5,
"params":{"name":"list_folders","arguments":{}}}
list_photo_packs
利用できるフォトパックを閲覧します。カテゴリラベルを絞り込むための任意の言語パラメータを受け付けます。
引数
language戻り値
packsを含むオブジェクト:[{id, name, category, imageCount, language}]。
例
{"jsonrpc":"2.0","method":"tools/call","id":6,
"params":{"name":"list_photo_packs","arguments":{}}}
list_teams
認証済みユーザーが所有または所属するチームを、現在有効なチームを示した上で返します。
引数
引数なし。
戻り値
currentTeamIdとteamsを含むオブジェクト:[{teamId, teamName, isCurrent}]。
例
{"jsonrpc":"2.0","method":"tools/call","id":7,
"params":{"name":"list_teams","arguments":{}}}
get_plan_limits
現在のサブスクリプションティアと、ティアごとの上限(ストレージとAIクレジット)を読み取ります。aiCreditsには、月ごとのサブスクリプションクレジット、単発クレジットパックによるpurchasedBalance、合計上限、残りの利用可能分が含まれます。変更系ツールを呼ぶ前に、呼び出しが成功するかを予測するのに役立ちます。
引数
引数なし。
戻り値
tier、isPaid、isTrial、upgradeUrl、limits.storage({limit, current, exceeded})、limits.aiCredits({monthly:{limit,current,exceeded}, purchasedBalance, total, available})、creditsAvailable({monthly, purchasedBalance, total})を含むオブジェクト。ULTRA Unlimitedの場合、limits.aiCredits.monthly.limitとlimits.aiCredits.totalはどちらも-1、limits.aiCredits.availableはnull、creditsAvailable.monthlyとcreditsAvailable.totalはどちらもnullになります。purchasedBalanceは常に数値です(パックがない場合はゼロ)。
例
{"jsonrpc":"2.0","method":"tools/call","id":8,
"params":{"name":"get_plan_limits","arguments":{}}}
get_plan
プラン名、請求サイクル(月次または年次)、Stripeのサブスクリプション状態、通貨、更新日、トライアル終了日、シート数を読み取ります。上限の使用状況を返すget_plan_limitsと組み合わせて使います。すべてのプランで利用でき、AIクレジットは消費しません。
引数
引数なし。
戻り値
tier、isPaid、isTrial、billingCycle(monthly、yearly、またはnull)、status(Stripeのサブスクリプション状態)、currency、renewalDate(ISO 8601)、trialEnd(ISO 8601またはnull)、quantity(シート数またはnull)、cancelAtPeriodEnd、upgradeUrlを含むオブジェクト。
例
{"jsonrpc":"2.0","method":"tools/call","id":43,
"params":{"name":"get_plan","arguments":{}}}
search_tools
フリーテキストのクエリ、カテゴリ、または目的でMCPツールカタログを検索します。カテゴリ、requiresScope、1行の説明、一致したユースケースタグを返します。すべてのプランで無料です(ディスカバリー用)。
引数
All optional. Call with no arguments to list all 43 tools.
querycategory戻り値
totalTools、matchCount、categories:[string[]]、tools:[{name, category, requiresScope, description, useCases, matchedOn: [name|category|description|use_case]}]を含むオブジェクト。
例
{"jsonrpc":"2.0","method":"tools/call","id":9,
"params":{"name":"search_tools",
"arguments":{"query":"brand profile"}}}
create_avatar有料プラン
テキストプロンプトからAIアバター画像を生成します。生成された画像のURLとタスクIDを返します。AIクレジットと有料プランが必要です。
引数
promptstyleclientRequestId戻り値
taskId、status、imageUrl(完成時)、creditsUsedを含むオブジェクト。
例
{"jsonrpc":"2.0","method":"tools/call","id":10,
"params":{"name":"create_avatar",
"arguments":{"prompt":"professional headshot, warm lighting"}}}
set_current_team
このBearerトークンの有効なチームを切り替えます。ユーザーはそのメンバーである必要があります。OAuthトークンに保存され、セッション内での変更は、同じ会話内の以降のツールに即時反映されます。
引数
teamId戻り値
teamId、teamName、persisted(OAuthならtrue、APIキーならfalse)、および任意のnoteを含むオブジェクト。
例
{"jsonrpc":"2.0","method":"tools/call","id":11,
"params":{"name":"set_current_team",
"arguments":{"teamId":"team_xxxxx"}}}
update_brand_profile
有効なブランドプロフィールを更新します。指定できる項目:brandVoice、mainThemes、contentGoals、contentTypes、primaryNiche、subNiches、industry、industries。それ以外は自動的に無視されます。
引数
brandVoiceOther patchable fields: mainThemes, contentGoals, contentTypes, primaryNiche, subNiches, industry, industries.
戻り値
profileId、name、updated:[更新された項目名]、および更新後のbrandVoice、mainThemes、contentGoals、contentTypes、primaryNiche、industryの現在値を含むオブジェクト。
例
{"jsonrpc":"2.0","method":"tools/call","id":12,
"params":{"name":"update_brand_profile",
"arguments":{"brandVoice":["bold","minimal"]}}}
アバター
list_avatars
現在のユーザーのアバター生成タスクを一覧表示します(チーム単位ではなくユーザー単位)。任意のステータスフィルターとlimit(デフォルト50、最大100)を指定できます。
引数
statuslimit例
{"jsonrpc":"2.0","method":"tools/call","id":13,
"params":{"name":"list_avatars","arguments":{"status":"completed"}}}
get_avatar
taskUUIDを指定して単一のアバタータスクの詳細を取得します。完了時には生成された画像を含むタスク状態を返します。teamIdが解決されると、チームをまたぐアクセスは拒否されます。
引数
taskUUID例
{"jsonrpc":"2.0","method":"tools/call","id":14,
"params":{"name":"get_avatar","arguments":{"taskUUID":""}}}
get_avatar_status
アバタータスクの進捗を確認します。簡易なステータス(status、progress、message)を返します。完了後に生成された画像を含む詳細を取得するにはget_avatarを使います。
引数
taskUUID例
{"jsonrpc":"2.0","method":"tools/call","id":15,
"params":{"name":"get_avatar_status","arguments":{"taskUUID":""}}}
テンプレート
list_templates
カテゴリ別にまとめたコンテンツテンプレートを一覧表示します。カタログ形式です(チーム単位ではありません)。languageを渡すと結果を1つのロケールに絞り込め、省略するとすべてのロケールが対象になります。本文全体はget_templateを使います。
引数
language例
{"jsonrpc":"2.0","method":"tools/call","id":16,
"params":{"name":"list_templates","arguments":{"language":"en"}}}
get_template
idまたはslugを指定して単一のテンプレートを取得します。コンテンツの下地として使うテンプレート本文を返します。idかslugのいずれかが必須です。
引数
idslug例
{"jsonrpc":"2.0","method":"tools/call","id":17,
"params":{"name":"get_template","arguments":{"slug":"hero-banner"}}}
アセット
list_assets
有効なチームのアセット(アップロード済みの画像、動画、ファイル)を一覧表示します。フォルダまたはMIMEタイプのプレフィックスで任意に絞り込めます。詳細はget_assetを使います。
引数
folderIdpagelimittype例
{"jsonrpc":"2.0","method":"tools/call","id":18,
"params":{"name":"list_assets","arguments":{"type":"image","limit":20}}}
get_asset
IDを指定して単一アセットの詳細を取得します。チームをまたぐアクセスは、基盤サービスによって拒否されます。
引数
id例
{"jsonrpc":"2.0","method":"tools/call","id":19,
"params":{"name":"get_asset","arguments":{"id":""}}}
list_brand_assets
有効なチームのブランドアセット(ロゴ、フォント、パレットのスウォッチなど)を一覧表示します。ブランドプロフィール、ファイルタイプ、カテゴリ、タグ、フリーテキスト検索で任意に絞り込めます。ボイスやテーマを表すブランドプロフィールとは別物です。
引数
brandProfileIdfileTypecategorytagssearch例
{"jsonrpc":"2.0","method":"tools/call","id":20,
"params":{"name":"list_brand_assets","arguments":{"category":"logo"}}}
AI生成
generate_image有料プラン
1枚以上のAI画像を同期的に生成します(約30秒)。画像1枚につき最低1AIクレジットを消費します。FREEティアは利用できません。5分以内の冪等な再試行にはclientRequestIdを渡します。生成された画像のURLをすぐに返します。
引数
promptmodelaspectRationumberResultsnegativePromptclientRequestId例
{"jsonrpc":"2.0","method":"tools/call","id":21,
"params":{"name":"generate_image",
"arguments":{"prompt":"sunset over the alps","aspectRatio":"16:9"}}}
generate_video有料プラン
AI動画生成タスクを送信します。すぐにtaskUUIDを返し、タスクは非同期で処理されます(BullMQベース)。完了の確認にはget_video_statusを使います。クレジットの消費量はモデルと長さから計算されます。FREEティアは利用できません。
引数
promptmodeltypedurationresolutionaspectRatioinputImagenegativePromptclientRequestId例
{"jsonrpc":"2.0","method":"tools/call","id":22,
"params":{"name":"generate_video",
"arguments":{"prompt":"a cat surfing","model":""}}}
get_video_status
動画生成タスクの進捗を確認します。完了時には最終的な動画のURLを含む完全なタスク状態を返します。BullMQのキューで支えられています(実際の非同期処理)。
引数
taskUUID例
{"jsonrpc":"2.0","method":"tools/call","id":23,
"params":{"name":"get_video_status","arguments":{"taskUUID":""}}}
ストック写真
search_stock_photos
Unsplash、Pexels、Pixabayのストック写真を同時に検索します。各プロバイダーの結果と、プロバイダーごとのエラーがあればそれも返します。検索のみで、一覧や閲覧はできません。
引数
querypageperPage例
{"jsonrpc":"2.0","method":"tools/call","id":24,
"params":{"name":"search_stock_photos","arguments":{"query":"mountains"}}}
コミュニティワークフローとパイプライン
list_community_workflows
公開されたコミュニティワークフローを一覧表示します。カテゴリで絞り込み、人気順、新着順、閲覧数順で並べ替え、mine、team、allの範囲を指定できます。グラフ全体はget_community_workflowを使います。
引数
pagelimitcategorysortsearchfilter例
{"jsonrpc":"2.0","method":"tools/call","id":25,
"params":{"name":"list_community_workflows","arguments":{"sort":"recent"}}}
get_community_workflow
コミュニティワークフローの詳細を、ノードグラフとエッジを含めて取得します。閲覧にはlist_community_workflowsを使います。
引数
id例
{"jsonrpc":"2.0","method":"tools/call","id":26,
"params":{"name":"get_community_workflow","arguments":{"id":""}}}
list_pipelines
有効なチームのパイプライン(ワークフローキャンバス)を一覧表示します。ノード数を含む簡易な形で返します。グラフ全体はget_pipelineを使います。
引数
pagelimitsort例
{"jsonrpc":"2.0","method":"tools/call","id":27,
"params":{"name":"list_pipelines","arguments":{}}}
get_pipeline
IDを指定して、有効なチームに限定したパイプライン(ワークフローキャンバス)を取得します。ノードとエッジのグラフをすべて返します。
引数
id例
{"jsonrpc":"2.0","method":"tools/call","id":28,
"params":{"name":"get_pipeline","arguments":{"id":""}}}
list_whiteboards
有効なチームに限定して、現在のユーザーのMySpaceホワイトボードを一覧表示します。一覧表示ではホワイトボードの内容は省かれます。内容には専用の読み取りエンドポイントを使います。
引数
引数なし。
例
{"jsonrpc":"2.0","method":"tools/call","id":29,
"params":{"name":"list_whiteboards","arguments":{}}}
会話とホワイトボード
list_conversations
有効なチームの、ユーザーのAIアシスタントチャット会話を一覧表示します。任意のステータスフィルター(activeまたはarchived)とタグフィルターを指定できます。メッセージ履歴全体はget_conversationを使います。
引数
statuspagelimittags例
{"jsonrpc":"2.0","method":"tools/call","id":30,
"params":{"name":"list_conversations","arguments":{"status":"archived"}}}
get_conversation
単一のAIアシスタント会話を、メッセージ履歴をすべて含めて取得します。ユーザーやチームをまたぐアクセスは、基盤サービスによって拒否されます。
引数
id例
{"jsonrpc":"2.0","method":"tools/call","id":31,
"params":{"name":"get_conversation","arguments":{"id":""}}}
ギャラリーとスキル
generate_design有料プラン
ソース画像にスキルを適用してギャラリーデザインを生成します(image-to-image)。同期処理で約30〜45秒。1回の呼び出しにつき1AIクレジットを消費します。FREEティアは利用できません。有効なskillIdの値はlist_skillsで確認します。5分以内の冪等な再試行にはclientRequestIdを渡します。
引数
sourceImageUrlskillIdclientRequestId例
{"jsonrpc":"2.0","method":"tools/call","id":32,
"params":{"name":"generate_design",
"arguments":{"sourceImageUrl":"https://example.com/photo.jpg","skillId":""}}}
list_galleries
有効なチームとユーザーのAIギャラリーアセット(generate_designで生成したデザイン)を一覧表示します。ページネーションと任意のカテゴリフィルターに対応します。簡易な形で返します:assetId、assetUrl、slug、displayName、galleryCategory、createdAt。
引数
limitpagecategory例
{"jsonrpc":"2.0","method":"tools/call","id":33,
"params":{"name":"list_galleries","arguments":{"limit":10}}}
list_skills
generate_designで利用できる有効なスキルを一覧表示します。skillId、name、type(imageまたはvideo)、group、categoryを返します。generate_designを呼ぶ前に、有効なskillIdの値を確認するために使います。
引数
type例
{"jsonrpc":"2.0","method":"tools/call","id":34,
"params":{"name":"list_skills","arguments":{"type":"image"}}}
シネマティック生成
generate_cinema_studio有料プラン
カメラボディ、レンズ、焦点距離、絞り、アスペクト比の組み合わせで、シネマティックなAI画像を生成します。同期処理で約30秒。画像1枚につき1AIクレジットを消費します。FREEティアは利用できません。referenceImageUrlを指定すると、reference-image(スタイル転送)モードに切り替わります。5分以内の冪等な再試行にはclientRequestIdを渡します。
引数
scenePromptcameraBodylensfocalLengthapertureaspectRatioimageCountreferenceImageUrlclientRequestId例
{"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}}}
非同期タスクの管理
cancel_avatar_task破壊的操作
保留中または処理中のアバター生成タスクをキャンセルします。サービス側の払い戻し処理により、すでに請求されたクレジットが返されます。終了状態のタスク(completedまたはfailed)はキャンセルできず、呼び出しは構造化されたエラーを返します。
引数
taskUUID例
{"jsonrpc":"2.0","method":"tools/call","id":36,
"params":{"name":"cancel_avatar_task","arguments":{"taskUUID":""}}}
cancel_video_task破壊的操作
保留中または処理中の動画生成タスクをキャンセルします。サービス側の払い戻し処理により、すでに請求されたクレジットが返されます。終了状態のタスク(completedまたはfailed)はキャンセルできず、呼び出しは構造化されたエラーを返します。
引数
taskUUID例
{"jsonrpc":"2.0","method":"tools/call","id":37,
"params":{"name":"cancel_video_task","arguments":{"taskUUID":""}}}
list_video_tasks
現在のユーザーの動画生成タスクを一覧表示します(ユーザー単位、list_avatarsと同様)。任意のステータスフィルター(pending、processing、completed、failed、cancelled)とlimit(デフォルト20、最大100)を指定できます。詳しい進捗確認にはget_video_statusを使います。
引数
statuslimit例
{"jsonrpc":"2.0","method":"tools/call","id":38,
"params":{"name":"list_video_tasks","arguments":{"status":"completed"}}}
単一取得の詳細
get_brand_profile
IDを指定して単一のブランドプロフィールの詳細を取得します。チームをまたぐアクセスは、汎用的なnot-foundとして拒否されます(存在の有無は漏らしません)。IDの列挙にはlist_brand_profilesを使います。
引数
brandProfileId例
{"jsonrpc":"2.0","method":"tools/call","id":39,
"params":{"name":"get_brand_profile","arguments":{"brandProfileId":""}}}
get_brand_asset
IDを指定して単一のブランドアセットの詳細を取得します。チームをまたぐアクセスは、汎用的なnot-foundとして拒否されます(存在の有無は漏らしません)。IDの列挙にはlist_brand_assetsを使います。
引数
brandAssetId例
{"jsonrpc":"2.0","method":"tools/call","id":40,
"params":{"name":"get_brand_asset","arguments":{"brandAssetId":""}}}
get_photo_pack
単一のフォトパックカテゴリを、その画像を含めて取得します。カタログ形式です(チーム単位ではありません)。任意の言語コードを指定でき、要求したロケールがない場合は英語にフォールバックします。
引数
categoryIdlanguage例
{"jsonrpc":"2.0","method":"tools/call","id":41,
"params":{"name":"get_photo_pack","arguments":{"categoryId":"3d-rendered-object"}}}
get_whiteboard
IDを指定して単一のホワイトボードを、コンテンツ全体を含めて取得します。ホワイトボードはユーザー単位(作成者のみ)で、ユーザーをまたぐアクセスは汎用的なnot-foundとして拒否されます。
引数
whiteboardId例
{"jsonrpc":"2.0","method":"tools/call","id":42,
"params":{"name":"get_whiteboard","arguments":{"whiteboardId":""}}}
MCPリソース
リソースは、クライアントがMCPのresources/readメソッドで取得できる読み取り専用のコンテキストです。Claudeは会話の開始時にこれらを取得するため、セッションごとに尋ねなくてもアカウント、チーム、ブランドのコンテキストを把握できます。
designerbox://account/summary
プラン、使用済みAIクレジット / 上限、デザイン数、有効なチーム名、フォルダ数。高速読み込みのため、各カウントは100が上限です。
designerbox://brand-profiles/active
現在のチームの有効なブランドプロフィール。LLMに関係する項目を返します:brandVoice、mainThemes、contentGoals、contentTypes、primaryNiche、industry。
designerbox://teams/current
現在のチームのメタデータ(teamId、teamName)と、totalTeamsAvailableの数。切り替えにはlist_teamsとset_current_teamを組み合わせます。
designerbox://recent-designs
有効なチームの最新デザイン10件を、Claudeのコンテキストにあらかじめ読み込みます。ツール呼び出しなしで、すぐにデザインライブラリを把握できます。
名前付きワークフロー
複数のツールを連携させるスラッシュメニューのショートカットです。ひとつ選べば、AIアシスタントが変更前に確認しながら、複数ステップの作業を進めます。
/weekly-design-batch
ブランドプロフィールと最近のデザインを読み取り、来週に向けたデザインテーマとフォルダの割り当てを提案します。
/audit-gallery
list_designsで最近のデザインを順に確認し、有効なブランドプロフィールから外れた項目を指摘します。読み取り専用です。
/brand-sync
デザインを有効なブランドプロフィールと照合し、不足や古くなった項目を洗い出します。更新案を提示し、変更前にあなたが承認します。
/regenerate-with-style
既存のデザインを別のスタイルで再生成します。get_assetを呼び、必要に応じてlist_skills、続いてgenerate_designを呼び出します。
ディスカバリーとOAuthのエンドポイント
標準に準拠したメタデータにより、あらゆるMCPクライアントが自動で設定できます。
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
