Packaging design with 3D mockups and print-ready dieline PDFs
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Tell it the product and the packaging, and get a finished packaging design in the member's Creadal account: a professionally laid-out ready design for that model with the brand, product name and label facts filled in, a preview picture, the 3D look, a print PDF link and a link to open it in the Creadal editor. Optionally makes a product photo with AI for the label (that uses one AI image from the member's plan). Pick the model with list_packaging_models (id or slug).
The packaging model's id or slug, e.g. 'pouch-stand-up' or 'tuck-end-box'.
The product's name as it should read on the pack.
Storage note.
A short line under the name.
Website or social handle.
Language of the names and label texts: en (default), tr or ar.
The brand.
How to use or prepare.
Best before or expiry text.
What the product is, in a sentence: helps pick the best ready design.
Ingredients or materials.
Maker or distributor name and address.
Net weight or volume, e.g. '250 g' or '500 ml'.
Optional: a ready design id to start from instead of the best match.
Optional: describe a product photo to make with AI for the label (uses one AI image from the plan).
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Tell it the product and the packaging, and get a finished packaging design in the member's Creadal account: a professionally laid-out ready design for that model with the brand, product name and label facts filled in, a preview picture, the 3D look, a print PDF link and a link to open it in the Creadal editor. Optionally makes a product photo with AI for the label (that uses one AI image from the member's plan). Pick the model with list_packaging_models (id or slug).
| Argument | Type | Description |
|---|---|---|
| model* | string | The packaging model's id or slug, e.g. 'pouch-stand-up' or 'tuck-end-box'. |
| storage | string | Storage note. |
| tagline | string | A short line under the name. |
| website | string | Website or social handle. |
| language | string | Language of the names and label texts: en (default), tr or ar. |
| brand_name | string | The brand. |
| directions | string | How to use or prepare. |
| best_before | string | Best before or expiry text. |
| description | string | What the product is, in a sentence: helps pick the best ready design. |
| ingredients | string | Ingredients or materials. |
| manufacturer | string | Maker or distributor name and address. |
| net_quantity | string | Net weight or volume, e.g. '250 g' or '500 ml'. |
| product_name* | string | The product's name as it should read on the pack. |
| ready_design | string | Optional: a ready design id to start from instead of the best match. |
| product_photo | string | Optional: describe a product photo to make with AI for the label (uses one AI image from the plan). |
{
"type": "object",
"required": [
"model",
"product_name"
],
"properties": {
"model": {
"type": "string",
"description": "The packaging model's id or slug, e.g. 'pouch-stand-up' or 'tuck-end-box'."
},
"storage": {
"type": "string",
"description": "Storage note."
},
"tagline": {
"type": "string",
"description": "A short line under the name."
},
"website": {
"type": "string",
"description": "Website or social handle."
},
"language": {
"enum": [
"en",
"tr",
"ar"
],
"type": "string",
"description": "Language of the names and label texts: en (default), tr or ar."
},
"brand_name": {
"type": "string",
"description": "The brand."
},
"directions": {
"type": "string",
"description": "How to use or prepare."
},
"best_before": {
"type": "string",
"description": "Best before or expiry text."
},
"description": {
"type": "string",
"description": "What the product is, in a sentence: helps pick the best ready design."
},
"ingredients": {
"type": "string",
"description": "Ingredients or materials."
},
"manufacturer": {
"type": "string",
"description": "Maker or distributor name and address."
},
"net_quantity": {
"type": "string",
"description": "Net weight or volume, e.g. '250 g' or '500 ml'."
},
"product_name": {
"type": "string",
"description": "The product's name as it should read on the pack."
},
"ready_design": {
"type": "string",
"description": "Optional: a ready design id to start from instead of the best match."
},
"product_photo": {
"type": "string",
"description": "Optional: describe a product photo to make with AI for the label (uses one AI image from the plan)."
}
}
}Create a share link for a design (view/comment/edit, optional password, expiry, and audience label for per-link analytics). Returns the share URL and the ?embed=1 iframe URL. Requires the 'export' scope.
| Argument | Type | Description |
|---|---|---|
| mode | string | Defaults to view. |
| label | string | Audience name for per-link analytics, e.g. 'Investors'. |
| designId* | string | The design id. |
| password | string | Optional passcode viewers must enter. |
| expiresAt | string | Optional RFC3339 expiry. |
{
"type": "object",
"required": [
"designId"
],
"properties": {
"mode": {
"enum": [
"view",
"comment",
"edit"
],
"type": "string",
"description": "Defaults to view."
},
"label": {
"type": "string",
"description": "Audience name for per-link analytics, e.g. 'Investors'."
},
"designId": {
"type": "string",
"description": "The design id."
},
"password": {
"type": "string",
"description": "Optional passcode viewers must enter."
},
"expiresAt": {
"type": "string",
"description": "Optional RFC3339 expiry."
}
}
}Make a social media post or ad in the member's Creadal account from a professionally designed ready template: headline, supporting line, offer, call-to-action button, brand and website filled in, the member's own picture (a product photo or an app or website screenshot, given as a public https link) placed in the template's picture frame, and their logo (a public https link, PNG with transparency is best) in place of the brand name. Returns a preview picture and a link to open and edit it in the Creadal editor. Use this, not generate_presentation, for posts, stories and ads. Optionally makes the picture with AI instead (uses one AI image from the member's plan).
| Argument | Type | Description |
|---|---|---|
| cta | string | The button text, e.g. 'Start free'. |
| offer | string | An offer, price or detail line, e.g. 'Free for 14 days'. |
| format | string | square 1080x1080 (default), portrait 1080x1350, story 1080x1920, landscape 1200x628 (link ads), wide 1280x720. |
| kicker | string | A small line above the headline, e.g. 'New' or the product category. |
| website | string | Website or social handle. |
| headline* | string | The main line, short (2 to 6 words reads best). |
| language | string | Language of the template texts left as they are: en (default) or tr. |
Get download URLs for a design's server-side exports (PDF and PNG). Fetch them with the same Authorization bearer key. Requires the 'export' scope.
| Argument | Type | Description |
|---|---|---|
| designId* | string | The design id. |
{
"type": "object",
"required": [
"designId"
],
"properties": {
"designId": {
"type": "string",
"description": "The design id."
}
}
}A download link for a design's print-ready PDF (and a PNG), valid for 24 hours, to send to a printer or keep.
| Argument | Type | Description |
|---|---|---|
| designId* | string | The design id. |
{
"type": "object",
"required": [
"designId"
],
"properties": {
"designId": {
"type": "string",
"description": "The design id."
}
}
}Give the size of a box, label, pouch, sack or pillow pack in millimetres and get its print-ready dieline (cut and fold lines, bleed) as PDF and SVG links, ready for the printer or any design software. Same engine as the free dieline generator on creadal.com. Free, no account needed. Sizes: box = length, width, height; label (wraps a bottle or jar) = diameter, height; pouch = width, height, optional gusset; sack = width, height, optional gusset; pillow = width, height, optional depth.
| Argument | Type | Description |
|---|---|---|
| kind* | string | What to make the dieline of. |
| depth | number | Depth of a pillow pack, mm. |
| width | number | Box depth, or the width of a pouch, sack or pillow pack, mm. |
| gusset | number | Bottom gusset of a pouch, or side gusset of a sack, mm. |
| height | number | Height, mm. |
| length | number | Box length (front width), mm. |
| overlap | number | Label overlap, mm (default 8). |
| diameter | number | Container diameter for a label, mm. |
Generate a complete, editable presentation or document from a prompt (for a social post, story or ad use create_social_design instead: it starts from a designed template and places the member's own picture and logo). Waits for the result when generation is quick; otherwise returns a job to poll with get_job. The composed deck contains laid-out text, a theme, and speaker notes; per-slide images are generated in the creadal editor. Requires the 'generate' scope.
| Argument | Type | Description |
|---|---|---|
| motion | string | Entrance motion on the slides; defaults to subtle. |
| prompt* | string | The brief, e.g. 'a 6-slide pitch deck for an eco water bottle'. |
| sources | array | Grounding material the outline is based on. |
| themeId | string | A built-in theme id from list_themes (e.g. 'theme-slate'); omit for an auto-picked look. |
| language | string | Write all text in this language, e.g. 'Spanish'. |
| pageCount | integer | |
| designType | string | Defaults to deck. |
| templateId | string | A template id from list_templates: the deck is composed on that template's layout system and theme. |
One of the member's designs: its title, a preview picture and links to open it in the editor and to download its print PDF.
| Argument | Type | Description |
|---|---|---|
| designId* | string | The design id (from list_my_designs or create_packaging_design). |
{
"type": "object",
"required": [
"designId"
],
"properties": {
"designId": {
"type": "string",
"description": "The design id (from list_my_designs or create_packaging_design)."
}
}
}Fetch a design's open-format file (creadal.desing JSON): pages, nodes, theme, speaker notes. Large files are summarized instead of inlined. Requires the 'read' scope.
| Argument | Type | Description |
|---|---|---|
| designId* | string | The design id. |
{
"type": "object",
"required": [
"designId"
],
"properties": {
"designId": {
"type": "string",
"description": "The design id."
}
}
}Poll a generation or export job by id. A completed generation job's result carries designId and editorUrl.
| Argument | Type | Description |
|---|---|---|
| jobId* | string | The job id returned by generate_presentation. |
{
"type": "object",
"required": [
"jobId"
],
"properties": {
"jobId": {
"type": "string",
"description": "The job id returned by generate_presentation."
}
}
}The member's Creadal plan and what is left of it this period (AI images, AI video seconds), with a link to upgrade.
No arguments.
{
"type": "object",
"properties": {}
}The member's latest Creadal designs in the connected workspace, newest first, each with a link to open it in the editor.
| Argument | Type | Description |
|---|---|---|
| limit | integer | How many (default 20). |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "How many (default 20)."
}
}
}Browse the packaging you can design on Creadal: boxes, pouches, bottle and jar labels, cans, cups, bags, sacks, pillow packs, mugs, t-shirts, tote bags, keychains and sneakers. Each model comes with its sizes, a photo-real preview picture and its page. Use it to pick the model for create_packaging_design or to show someone what is possible. Free, no account needed.
| Argument | Type | Description |
|---|---|---|
| query | string | Optional words to narrow the list, e.g. 'coffee pouch', 'tuck end box', 'jar'. |
| category | string | Optional category: boxes, labels, cans, jars, cups, pouches, bags, pillow-packs, mugs, t-shirts, tote-bags, keychains, sneakers. |
| language | string | Language of the names and label texts: en (default), tr or ar. |
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Optional words to narrow the list, e.g. 'coffee pouch', 'tuck end box', 'jar'."
},
"category": {
"type": "string",
"description": "Optional category: boxes, labels, cans, jars, cups, pouches, bags, pillow-packs, mugs, t-shirts, tote-bags, keychains, sneakers."
},
"language": {
"enum": [
"en",
"tr",
"ar"
],
"type": "string",
"description": "Language of the names and label texts: en (default), tr or ar."
}
}
}List the templates visible to this key's workspace (built-ins and workspace templates). Pass an id as generate_presentation's templateId to compose on that template's layout system and theme.
| Argument | Type | Description |
|---|---|---|
| query | string | Optional search text. |
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Optional search text."
}
}
}List the built-in theme catalog (id, name, style group, six palette slots, font pair). Pass an id as generate_presentation's themeId.
No arguments.
{
"type": "object",
"properties": {}
}| logo_url | string | Optional: a public https link to the logo (PNG with transparency is best). |
| image_fit | string | cover fills the frame (photos, default); contain shows the whole picture (screenshots). |
| image_url | string | Optional: a public https link to the picture to show (product photo or screenshot). |
| brand_name | string | The brand, shown where the template has its brand name (and under the logo when there is no logo). |
| description | string | What is advertised and for whom, in a sentence: helps pick the best template. |
| subheadline | string | A supporting line under the headline. |
| template_id | string | Optional: a template id to use instead of the best match. |
| image_prompt | string | Optional: describe a picture to make with AI when there is no image_url (uses one AI image from the plan). |
{
"type": "object",
"required": [
"headline"
],
"properties": {
"cta": {
"type": "string",
"description": "The button text, e.g. 'Start free'."
},
"offer": {
"type": "string",
"description": "An offer, price or detail line, e.g. 'Free for 14 days'."
},
"format": {
"enum": [
"square",
"portrait",
"story",
"landscape",
"wide"
],
"type": "string",
"description": "square 1080x1080 (default), portrait 1080x1350, story 1080x1920, landscape 1200x628 (link ads), wide 1280x720."
},
"kicker": {
"type": "string",
"description": "A small line above the headline, e.g. 'New' or the product category."
},
"website": {
"type": "string",
"description": "Website or social handle."
},
"headline": {
"type": "string",
"description": "The main line, short (2 to 6 words reads best)."
},
"language": {
"type": "string",
"description": "Language of the template texts left as they are: en (default) or tr."
},
"logo_url": {
"type": "string",
"description": "Optional: a public https link to the logo (PNG with transparency is best)."
},
"image_fit": {
"enum": [
"cover",
"contain"
],
"type": "string",
"description": "cover fills the frame (photos, default); contain shows the whole picture (screenshots)."
},
"image_url": {
"type": "string",
"description": "Optional: a public https link to the picture to show (product photo or screenshot)."
},
"brand_name": {
"type": "string",
"description": "The brand, shown where the template has its brand name (and under the logo when there is no logo)."
},
"description": {
"type": "string",
"description": "What is advertised and for whom, in a sentence: helps pick the best template."
},
"subheadline": {
"type": "string",
"description": "A supporting line under the headline."
},
"template_id": {
"type": "string",
"description": "Optional: a template id to use instead of the best match."
},
"image_prompt": {
"type": "string",
"description": "Optional: describe a picture to make with AI when there is no image_url (uses one AI image from the plan)."
}
}
}{
"type": "object",
"required": [
"kind"
],
"properties": {
"kind": {
"enum": [
"box",
"label",
"pouch",
"sack",
"pillow"
],
"type": "string",
"description": "What to make the dieline of."
},
"depth": {
"type": "number",
"maximum": 200,
"minimum": 0,
"description": "Depth of a pillow pack, mm."
},
"width": {
"type": "number",
"maximum": 1200,
"minimum": 10,
"description": "Box depth, or the width of a pouch, sack or pillow pack, mm."
},
"gusset": {
"type": "number",
"maximum": 400,
"minimum": 0,
"description": "Bottom gusset of a pouch, or side gusset of a sack, mm."
},
"height": {
"type": "number",
"maximum": 1600,
"minimum": 10,
"description": "Height, mm."
},
"length": {
"type": "number",
"maximum": 600,
"minimum": 10,
"description": "Box length (front width), mm."
},
"overlap": {
"type": "number",
"maximum": 60,
"minimum": 0,
"description": "Label overlap, mm (default 8)."
},
"diameter": {
"type": "number",
"maximum": 400,
"minimum": 10,
"description": "Container diameter for a label, mm."
}
}
}| brandPalette | array | Brand hex colors to ground the theme in. |
{
"type": "object",
"required": [
"prompt"
],
"properties": {
"motion": {
"enum": [
"subtle",
"none"
],
"type": "string",
"description": "Entrance motion on the slides; defaults to subtle."
},
"prompt": {
"type": "string",
"description": "The brief, e.g. 'a 6-slide pitch deck for an eco water bottle'."
},
"sources": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"text"
],
"properties": {
"name": {
"type": "string",
"description": "Source name."
},
"text": {
"type": "string",
"description": "Source text (untrusted reference material)."
}
}
},
"maxItems": 8,
"description": "Grounding material the outline is based on."
},
"themeId": {
"type": "string",
"description": "A built-in theme id from list_themes (e.g. 'theme-slate'); omit for an auto-picked look."
},
"language": {
"type": "string",
"description": "Write all text in this language, e.g. 'Spanish'."
},
"pageCount": {
"type": "integer",
"maximum": 40,
"minimum": 1
},
"designType": {
"enum": [
"deck",
"doc",
"poster",
"social"
],
"type": "string",
"description": "Defaults to deck."
},
"templateId": {
"type": "string",
"description": "A template id from list_templates: the deck is composed on that template's layout system and theme."
},
"brandPalette": {
"type": "array",
"items": {
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}$"
},
"maxItems": 12,
"description": "Brand hex colors to ground the theme in."
}
}
}