Skip to main content

Tools Overview

The heycreo MCP server exposes the following tools. Each tool has typed input parameters (validated via Zod schemas) and structured output.

Data tools​

These tools read or create organization data and only need authentication, no editor session.

ToolDescriptionParameters
get-user-infoCurrent user and organization infoNone
list-organizationsList organizations the user belongs to + which is activeNone
switch-organizationSwitch the active organization for an OAuth connectionorganizationId
get-templatesList all available templates with controlsNone
get-assetsSearch assets by natural language, plus optional filters and paginationsearch?, collectionId?, tags?, uncategorized?, assetType?, insertProductId?, limit?, offset?
get-assetGet a single asset by ID (incl. custom field values)id
get-asset-fieldsList custom asset field definitions (metadata schema)None
get-tagsList all tags with asset countsNone
update-assetUpdate asset name, tags, folder, and/or custom fieldsassetId, name?, tagIds?, customFields?, …
generate-assetGenerate an image with AIprompt, mode?, productImageType?, insertProductIds?
upload-assetUpload a small image (URL or base64, max 12 MB) into the libraryimageUrl?, base64?, mimeType?, name?, collectionId?
begin-asset-uploadStart out-of-band upload for large/local files (ticket + curl multipart)name, mimeType, collectionId?, byteSize?
get-collectionsList all collectionsNone
create-collectionCreate a new collection (optionally nested)name, description?, parentId?
update-collectionRename / change a collection's descriptioncollectionId, name?, description?
move-collectionMove a collection to another parent or rootcollectionId, parentId?
delete-collectionSoft-delete a collection (assets stay in library)collectionId
add-asset-to-collectionFile an asset into a collectioncollectionId, assetId
remove-asset-from-collectionRemove an asset from a collectioncollectionId, assetId
get-datasetsList bulk-create datasets with schema + row countsNone
get-datasetGet a dataset's schema + rows (paginated)datasetId, offset?, limit?
create-datasetCreate a dataset with columns + optional rowsname, columns, rows?
add-dataset-rowsAppend rows to a dataset (fill it)datasetId, rows
replace-dataset-rowsReplace all rows of a datasetdatasetId, rows
upsert-dataset-rowsUpdate rows by id and/or insert new onesdatasetId, rows
delete-dataset-rowsDelete specific rows by iddatasetId, rowIds
update-datasetRename / change a dataset's column schemadatasetId, name?, columns?
delete-datasetSoft-delete a datasetdatasetId
get-productsList all products from catalogNone
create-productCreate a product/person catalog entryname, kind?, assetId?, imageUrl?, …
get-color-palettesList system and org color palettesNone
get-brand-kit-elementsList reusable Brand Kit elementscategory?, query?

Studio (design editor) tools​

These tools read and edit a heycreo design. You target a document, a template (templateId, from get-templates) or a free design (designId), and edits are applied and persisted server-side. No editor tab needs to be open; if someone is viewing the design, they see the changes live. A few tools are org-level and take no target. See the Studio tools page for the full workflow and the studio_call sub-tool list.

ToolDescriptionParameters
studio_get_documentRead the authoritative document snapshottemplateId?, designId?
studio_get_capabilitiesList editing conventions + every studio_call sub-toolNone
studio_get_fontsList org fonts + available weightsNone
studio_list_formatsList formats/sizes that may be addedNone
studio_create_templateCreate a new, empty templatename, formatId, type?
studio_get_screenshotRender a PNG of a size/pagetemplateId?, designId?, sizeId?, pageId?
studio_callRun one high-level editor tool (dispatcher)templateId?, designId?, tool, args?
studio_apply_commandsApply low-level editor commandstemplateId?, designId?, commands
studio_insert_brand_kit_elementInsert a Brand Kit element onto the canvastemplateId?, designId?, elementId, anchor?, x?, y?
studio_save_to_brand_kitSave element(s) as a Brand Kit elementtemplateId?, designId?, name, category?, elementIds

Common response patterns​

All tools return structured JSON. Successful responses typically contain the requested data directly. Error responses include an error field with a message.

Tools that return lists generally include a total or count field alongside the array. Write operations on a Studio document return { ok: true, applied: <n>, ... }, are persisted server-side, and are broadcast live to anyone viewing the design.