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.
| Tool | Description | Parameters |
|---|---|---|
get-user-info | Current user and organization info | None |
list-organizations | List organizations the user belongs to + which is active | None |
switch-organization | Switch the active organization for an OAuth connection | organizationId |
get-templates | List all available templates with controls | None |
get-assets | Search assets by natural language, plus optional filters and pagination | search?, collectionId?, tags?, uncategorized?, assetType?, insertProductId?, limit?, offset? |
get-asset | Get a single asset by ID | id |
get-tags | List all tags with asset counts | None |
generate-asset | Generate an image with AI | prompt, mode?, productImageType?, insertProductIds? |
upload-asset | Upload an image (URL or base64) into the library | imageUrl?, base64?, mimeType?, name?, collectionId? |
get-collections | List all collections | None |
create-collection | Create a new collection (optionally nested) | name, description?, parentId? |
update-collection | Rename / change a collection's description | collectionId, name?, description? |
move-collection | Move a collection to another parent or root | collectionId, parentId? |
delete-collection | Soft-delete a collection (assets stay in library) | collectionId |
add-asset-to-collection | File an asset into a collection | collectionId, assetId |
remove-asset-from-collection | Remove an asset from a collection | collectionId, assetId |
get-datasets | List bulk-create datasets with schema + row counts | None |
get-dataset | Get a dataset's schema + rows (paginated) | datasetId, offset?, limit? |
create-dataset | Create a dataset with columns + optional rows | name, columns, rows? |
add-dataset-rows | Append rows to a dataset (fill it) | datasetId, rows |
replace-dataset-rows | Replace all rows of a dataset | datasetId, rows |
upsert-dataset-rows | Update rows by id and/or insert new ones | datasetId, rows |
delete-dataset-rows | Delete specific rows by id | datasetId, rowIds |
update-dataset | Rename / change a dataset's column schema | datasetId, name?, columns? |
delete-dataset | Soft-delete a dataset | datasetId |
get-products | List all products from catalog | None |
get-color-palettes | List system and org color palettes | None |
get-brand-kit-elements | List reusable Brand Kit elements | category?, 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.
| Tool | Description | Parameters |
|---|---|---|
studio_get_document | Read the authoritative document snapshot | templateId?, designId? |
studio_get_capabilities | List editing conventions + every studio_call sub-tool | None |
studio_get_fonts | List org fonts + available weights | None |
studio_list_formats | List formats/sizes that may be added | None |
studio_create_template | Create a new, empty template | name, formatId, type? |
studio_get_screenshot | Render a PNG of a size/page | templateId?, designId?, sizeId?, pageId? |
studio_call | Run one high-level editor tool (dispatcher) | templateId?, designId?, tool, args? |
studio_apply_commands | Apply low-level editor commands | templateId?, designId?, commands |
studio_insert_brand_kit_element | Insert a Brand Kit element onto the canvas | templateId?, designId?, elementId |
studio_save_to_brand_kit | Save element(s) as a Brand Kit element | templateId?, 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.