Tool Reference
ButterKit exposes 40 MCP tools across 5 namespaces. Every tool that operates on a document requires a documentId, which you obtain from document.list.
Document Tools
Manage open documents.
| Tool | Description |
|---|---|
document.list | List all open documents. Returns each document’s ID, file path, artboard count, and base language. |
document.open | Open a .butterkit file from disk. |
document.create | Create a new blank document. |
document.snapshot | Get a summary of a document’s state: artboard counts, languages, metadata languages. |
document.save | Save a document to disk. |
document.close | Close a document. |
Parameters
document.openrequirespath(absolute path to.butterkitfile).document.snapshot,document.save,document.closerequiredocumentId.
Design Tools
Create and modify artboards, text, devices, and backgrounds.
Read
| Tool | Description |
|---|---|
design.list_artboards | List all artboards with IDs, names, sizes, and variant info. |
design.get_artboard | Get full artboard detail: text blocks, image blocks, devices, background, camera. |
design.list_templates | List available design templates. Optionally filter by sizePresetId. |
design.list_size_presets | List artboard size presets (iPhone, iPad, Mac, etc.). |
Artboard CRUD
| Tool | Description |
|---|---|
design.create_artboard | Create a new artboard. Provide name and either sizePresetId or widthPx/heightPx. |
design.delete_artboard | Delete an artboard and all its language variants. Requires artboardId. |
design.apply_template | Apply a design template to an artboard (sets devices, background, text styles). Requires artboardId and templateId. |
Background
| Tool | Description |
|---|---|
design.set_background | Set artboard background. type is "color", "gradient", or "image". Provide colorHex for solid, or topHex/bottomHex for gradient. |
Text Blocks
| Tool | Description |
|---|---|
design.upsert_text_block | Create or update a text block. Omit textBlockId to create new. |
design.remove_text_block | Remove a text block by textBlockId. |
upsert_text_block Parameters
| Parameter | Description |
|---|---|
string | The text content. |
fontFamily | Font family name. |
weight | One of: ultralight, thin, light, regular, medium, semibold, bold, heavy, black. |
sizePt | Font size in points. |
colorHex | Text color as hex string. |
alignment | One of: leading, center, trailing. |
paddingTop | Top padding. |
paddingSides | Side padding. |
role | Text block role. |
3D Device Models
| Tool | Description |
|---|---|
design.upsert_device | Add or update a 3D device model. Omit modelId to add new. |
design.set_device_screenshot | Set the screenshot image on a device’s screen. Requires modelId and screenshotPath. |
design.remove_device | Remove a device model by modelId. |
upsert_device Parameters
| Parameter | Description |
|---|---|
assetName | Device asset (e.g. "iPhone15ProMax", "iPadPro129", "MacbookPro16"). |
deviceStyle | One of: "realistic", "clay", "uiOnly". |
clayColorHex | Clay color as hex (only applies when deviceStyle is "clay"). |
rotationDeg | Rotation as [x, y, z] in degrees. |
scale | Device scale factor. |
positionOffset | Position offset as [x, y, z]. |
Screenshot Folder
| Tool | Description |
|---|---|
design.link_screenshot_folder | Link a folder of screenshots that auto-map to devices by locale and device type. |
design.refresh_screenshots | Re-scan the linked folder and apply images to matching devices. |
Export Tools
Render artboards to images.
| Tool | Description |
|---|---|
design.export_artboards | Export artboards as PNG files to a directory. Set multiplier for scale (e.g. 2.0 for @2x). Optionally filter by artboardIds. |
design.export_preview | Render a single artboard and return it as a base64-encoded PNG for visual inspection. |
Localization Tools
Manage languages, translations, and App Store metadata.
Languages
| Tool | Description |
|---|---|
localization.list_languages | List existing and available languages with variant counts. |
localization.set_base_language | Set the base (source) language code for the document. |
localization.add_language | Add a target language. Creates variant artboards for all base artboards. Set autoTranslate (default true) to auto-translate text. |
localization.remove_language | Remove a language and all its variant artboards. |
Translation
| Tool | Description |
|---|---|
localization.set_translated_text | Manually set translated text on a variant artboard’s text block. Requires artboardId, textBlockId, translatedString. |
localization.translate_artboard | Queue auto-translation of a base artboard’s text into a target language. Requires artboardId and languageCode. |
App Store Metadata
| Tool | Description |
|---|---|
localization.get_metadata | Get App Store metadata (description, promotionalText, whatsNew) for a language. |
localization.set_metadata | Set metadata fields. |
localization.list_metadata_languages | List languages that have metadata configured. |
localization.translate_metadata | Auto-translate base metadata into a target language. |
set_metadata Parameters
| Parameter | Limit |
|---|---|
description | Max 4,000 characters |
promotionalText | Max 170 characters |
whatsNew | Max 4,000 characters |
App Store Connect Tools
Upload screenshots and metadata to App Store Connect. Requires API credentials configured in ButterKit > Settings > App Store Connect.
| Tool | Description |
|---|---|
asc.check_credentials | Check whether ASC API credentials are configured. |
asc.test_connection | Test the ASC API connection. |
asc.list_apps | List all apps accessible with the configured API key. |
asc.list_versions | List App Store versions for an app. Requires appId. Optional platform (IOS, MAC_OS, IPADOS). |
asc.create_version | Create a new App Store version. Requires appId and versionString. |
asc.upload_screenshots | Render artboards and upload as screenshots. Requires documentId, appStoreVersionId, locale. |
asc.upload_metadata | Upload metadata for a locale. Requires documentId, appStoreVersionId, locale. |
ID Reference
All IDs are obtained from the corresponding list tools:
| ID | Obtained from |
|---|---|
documentId | document.list or document.open |
artboardId | design.list_artboards |
templateId | design.list_templates |
sizePresetId | design.list_size_presets |
appStoreVersionId | asc.list_versions |
Language Codes
- Translation: ISO 639-1 codes (e.g.
"en","es","fr","ja","de"). - App Store Connect: Apple locale format (e.g.
"en-US","fr-FR","ja").
Quick Help
- Need more help? Browse the Documentation
- Check out our Templates & Add-ons
- Join us on Discord for quick help
- Any other questions? Get in touch