Labsco
brandkity logo

BrandKity MCP

โ˜… 2

from brandkity

Build entire brand kits with a single prompt

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedAccount requiredNeeds API keys

@brandkity/mcp โ€” BrandKity MCP Server

Model Context Protocol server for BrandKity โ€” create and manage brand kits from any AI agent (Claude Desktop, Cursor, Windsurf, or any MCP-compatible client).

Current Version: 1.4.3 โ€” MCP now available on Starter, Pro, and Agency plans

Available Tools (22)

ToolDescription
Workspace
get_workspaceGet workspace info (plan, kit count, storage)
Files
upload_fileUpload any local file to workspace storage โ†’ returns a public URL
list_filesList workspace files with type filter and pagination
Kits
list_kitsList all brand kits (filter by draft/published/all)
create_kitCreate a new kit โ†’ returns kit_id
get_kitGet a kit with all blocks and content
update_kitUpdate kit settings (name, color, template, logo_url, cover_image_url, white-label fields)
publish_kitPublish a kit โ†’ returns public URL
unpublish_kitUnpublish a kit (reverts to draft)
Blocks
list_blocksList all blocks in a kit with IDs and types
ensure_blockIdempotent โ€” returns existing block_id or creates a new block (preferred over add_block)
add_blockAdd a block unconditionally (use ensure_block instead to prevent duplicates)
update_blockUpdate block name/visibility
delete_blockPermanently delete a block and all its content
Content
add_colorsAdd color swatches to a Colors block
add_typographyAdd font entries to a Typography block
set_brand_storySet rich text content (brand story, tone of voice)
set_block_noteSet the editorial note displayed above any block
Upload
upload_assetUpload a local file into a block (logos, visuals, videos, etc.) with auto-retry
upload_assets_batchUpload multiple local files into the same block; deduplicates by file path
upload_kit_logoUpload and set the kit's header logo
upload_cover_imageUpload and set the kit's cover image

White-Label Branding (Pro+ Feature)

Customize your portal with custom favicon, social share image, and SEO metadata:

// Upload custom assets
const faviconUrl = await client.uploadFile('favicon.ico', faviconBuffer);
const ogImageUrl = await client.uploadFile('og-image.png', ogImageBuffer);

// Apply white-label branding
await client.updateKit('kit-id', {
  og_title: 'Acme Corp Brand Guidelines',
  og_description: 'Official brand assets and standards',
  custom_favicon_url: faviconUrl,
  og_image_url: ogImageUrl,
});

Fields:

  • og_title (string, max 100 chars) โ€” SEO title for social share
  • og_description (string, max 300 chars) โ€” SEO description
  • custom_favicon_url (string) โ€” CDN URL to favicon (ICO/PNG/SVG)
  • og_image_url (string) โ€” CDN URL to social share image (1200ร—630 px recommended)

Plan Requirements:

  • Free: White-label fields are read-only; MCP tool calls return 403
  • Starter/Pro/Agency: Full MCP access; white-label fields are read-write on Pro/Agency

Environment Variables

VariableRequiredDefaultDescription
BRANDKITY_API_KEYYesโ€”Personal Access Token (bk_live_...)
BRANDKITY_API_URLNohttps://brandkity.comAPI base URL (for local dev)

Typical Workflow

1. get_workspace       โ†’ verify connection, check plan and storage
2. list_kits           โ†’ confirm kit doesn't already exist
3. create_kit          โ†’ returns kit_id
4. ensure_block        โ†’ idempotent: returns existing block_id or creates a new one (for each block type)
5. add_colors          โ†’ populate the Colors block
6. add_typography      โ†’ populate the Typography block
7. upload_file         โ†’ upload font/logo/cover files to workspace storage
8. upload_asset        โ†’ upload logos, images, videos into blocks
9. set_brand_story     โ†’ write the brand story in a rich_text block
10. set_block_note     โ†’ add usage guidance to any block
11. publish_kit        โ†’ make the portal live

Reliability Notes (v1.4.0)

  • No duplicate blocks โ€” ensure_block is idempotent. Re-running a workflow never creates duplicate blocks.
  • Auto-retry on uploads โ€” upload_asset and upload_file retry up to 3 times on network errors with exponential backoff.
  • Size-aware timeouts โ€” Upload timeout scales with file size (60 s base + 20 s per 10 MB, max 10 min). Large files like 64 MB video assets are handled reliably.
  • Batch deduplication โ€” upload_assets_batch silently skips duplicate file_path entries so the same file is never uploaded twice in one batch.
  • Agent instructions โ€” The server now provides operating rules to AI clients at connection time, reducing duplicate operations from AI agents automatically.
  • White-label URL resolution โ€” CDN URLs in white-label fields are automatically resolved to asset IDs server-side; agents don't need to manage asset IDs directly.
  • Storage tracking โ€” All file uploads are tracked per workspace for accurate quota enforcement.