BrandKity MCP Server
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BRANDKITY_API_KEY | Yes | Personal Access Token (bk_live_...) | |
| BRANDKITY_API_URL | No | API base URL (for local dev) | https://brandkity.com |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_workspaceA | Returns the workspace associated with the API key. Use this to verify the connection and check workspace details like plan, kit count, and storage usage. |
| upload_fileA | Upload any file from the local filesystem to your BrandKity workspace storage (R2). Returns a public URL you can use in other tools. Common use cases: • Font files (.ttf, .otf, .woff, .woff2) → use returned URL in add_typography asset_url • Kit logo or cover image → use returned URL in update_kit logo_url/cover_image_url • General brand assets → manage from your file library Supported: images (PNG, JPG, SVG, WebP), video (MP4, WebM), fonts (TTF/OTF/WOFF/WOFF2), documents (PDF, DOCX, PPTX), ZIP. |
| list_filesA | List files in your workspace storage. Filter by type to find fonts, images, documents, etc. Returns public URLs for each file. |
| list_kitsA | List all brand kits in the workspace. Optionally filter by status (draft, published, or all). |
| create_kitA | Create a new brand kit. Returns the kit ID needed for subsequent operations like adding blocks and uploading assets. |
| get_kitA | Fetch a kit's full data including all blocks and their content. |
| update_kitA | Update a kit's top-level settings like name, accent color, template, tagline, logo, cover image, or white-label meta/favicon (Pro+). For logo_url and cover_image_url, pass CDN URLs returned by upload_file or upload_asset. For og_image_url and custom_favicon_url, pass CDN URLs from upload_file. |
| publish_kitB | Publish a kit, making its portal publicly accessible. Returns the public URL. |
| unpublish_kitA | Unpublish a kit, taking it offline. The kit remains in draft and can be re-published later. |
| list_blocksA | List all blocks in a kit with their IDs, types, names, and visibility. Use to find block_ids before adding content. |
| ensure_blockA | PREFERRED over add_block. Idempotent block creation: if a block of the given type already exists in the kit, returns its block_id without creating a duplicate. If no matching block exists, creates one and returns the new block_id. Use this for every block in your workflow so re-runs and retries never produce extra blocks. The "created" field in the response tells you whether a new block was created (true) or an existing one was returned (false). |
| add_blockA | IMPORTANT: prefer ensure_block over this tool — ensure_block is idempotent and prevents duplicates. add_block creates a new block unconditionally. Calling it twice creates two separate blocks of the same type. Only use add_block when you have already confirmed via list_blocks that no block of this type exists. Block types: • colors — brand palette swatches (use add_colors) • typography — font entries (use add_typography) • rich_text — brand story / guidelines text (use set_brand_story) • logos — logo variants uploaded as SVG/PNG (use upload_asset with block_type=logos) • visuals — brand photography / illustrations (use upload_asset with block_type=visuals) • videos — brand video assets (use upload_asset with block_type=videos) • icons — SVG icon library (use upload_asset with block_type=icons) • collaterals — downloadable files like PDFs (use upload_asset with block_type=collaterals) • resources — source files, Figma, ZIPs (use upload_asset with block_type=resources) |
| update_blockA | Update a block's name or visibility. To set the block note, use set_block_note instead. |
| delete_blockA | Permanently delete a block and all its content from a kit. This cannot be undone. |
| add_colorsA | Add color swatches to a Colors block. Valid fields per swatch: name (required), hex (required, #rrggbb), rgb ("R, G, B"), cmyk ("C, M, Y, K"), pantone. There is NO usage field on color swatches — put usage guidance in the block note via set_block_note instead. |
| add_typographyA | Add font entries to a Typography block. Four sources are supported: (1) "Google Fonts" — provide font_family, weights, usage. Fully automated. (2) "Adobe Fonts" — provide font_family + asset_url (Typekit CSS URL from fonts.adobe.com → Web Projects → Get embed code). (3) "Custom" — first upload the font file using upload_file tool, then pass asset_url (the returned URL) here. (4) "System" — provide font_family only (font must be available on the OS). |
| set_brand_storyA | Set the content of a Rich Text block. Use for brand story, tone of voice, brand values, do's & don'ts extracted from guidelines documents. Accepts plain text or basic HTML. |
| set_block_noteA | Set the sticky editorial note on any block (the "Block note" editor visible at the top of every block in the dashboard). Use this for usage guidance, rules, or context that applies to the whole block. For colors: "Electric Blue is always the primary CTA colour." For typography: "Never use Outfit below 600 weight." For logos: "Always use the SVG version on digital. Use reversed on dark backgrounds." |
| upload_assetA | Upload a file from the local filesystem into a block in BrandKity. Use for: logos (SVG/PNG/JPG), visuals (brand photos), videos (MP4/WebM), icons (SVG only), collaterals (PDF/images), and resources (ZIPs, source files). For custom font files, use upload_file → add_typography(asset_url) instead. |
| upload_assets_batchA | Batch upload multiple local files into a single block with one tool call. Duplicate file_path values in the list are automatically skipped — each unique path is uploaded only once. Use for logos, visuals, videos, collaterals, resources, and icons. For files larger than 50 MB, prefer uploading individually with upload_asset. If the batch partially fails, resubmit only the failed files. |
| upload_kit_logoA | Upload an image to set as the kit's main logo (shown in the portal header). This is different from the Logos block — this is the kit branding logo. Uploads the file to workspace storage and then sets logo_url on the kit. |
| upload_cover_imageA | Upload an image to set as the kit's hero/cover image (shown at the top of the portal for supported templates). Uploads the file to workspace storage and then sets cover_image_url on the kit. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/BrandKity/mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server