Creadal

Packaging design with 3D mockups and print-ready dieline PDFs

사용해야 할까요

품질 및 안전성

A
설명 품질
97%
스키마 완전성
88%
이름 품질
100%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~2,534토큰 (도구 정의)
~1.2 KB일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 1.98%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "packaging": {
      "url": "https://creadal.com/mcp"
    }
  }
}

원격 엔드포인트

https://creadal.com/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (14)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢list_packaging_models(category, language, query)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "category": {
      "description": "Optional category: boxes, labels, cans, jars, cups, pouches, bags, pillow-packs, mugs, t-shirts, tote-bags, keychains, sneakers.",
      "type": "string"
    },
    "language": {
      "description": "Language of the names and label texts: en (default), tr or ar.",
      "enum": [
        "en",
        "tr",
        "ar"
      ],
      "type": "string"
    },
    "query": {
      "description": "Optional words to narrow the list, e.g. 'coffee pouch', 'tuck end box', 'jar'.",
      "type": "string"
    }
  }
}
🟢generate_dieline(depth, diameter, gusset, height, kind, ...)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "depth": {
      "description": "Depth of a pillow pack, mm.",
      "maximum": 200,
      "minimum": 0,
      "type": "number"
    },
    "diameter": {
      "description": "Container diameter for a label, mm.",
      "maximum": 400,
      "minimum": 10,
      "type": "number"
    },
    "gusset": {
      "description": "Bottom gusset of a pouch, or side gusset of a sack, mm.",
      "maximum": 400,
      "minimum": 0,
      "type": "number"
    },
    "height": {
      "description": "Height, mm.",
      "maximum": 1600,
      "minimum": 10,
      "type": "number"
    },
    "kind": {
      "description": "What to make the dieline of.",
      "enum": [
        "box",
        "label",
        "pouch",
        "sack",
        "pillow"
      ],
      "type": "string"
    },
    "length": {
      "description": "Box length (front width), mm.",
      "maximum": 600,
      "minimum": 10,
      "type": "number"
    },
    "overlap": {
      "description": "Label overlap, mm (default 8).",
      "maximum": 60,
      "minimum": 0,
      "type": "number"
    },
    "width": {
      "description": "Box depth, or the width of a pouch, sack or pillow pack, mm.",
      "maximum": 1200,
      "minimum": 10,
      "type": "number"
    }
  },
  "required": [
    "kind"
  ]
}
🟡create_packaging_design(best_before, brand_name, description, directions, ingredients, ...)

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).

입력 스키마

{
  "type": "object",
  "properties": {
    "best_before": {
      "description": "Best before or expiry text.",
      "type": "string"
    },
    "brand_name": {
      "description": "The brand.",
      "type": "string"
    },
    "description": {
      "description": "What the product is, in a sentence: helps pick the best ready design.",
      "type": "string"
    },
    "directions": {
      "description": "How to use or prepare.",
      "type": "string"
    },
    "ingredients": {
      "description": "Ingredients or materials.",
      "type": "string"
    },
    "language": {
      "description": "Language of the names and label texts: en (default), tr or ar.",
      "enum": [
        "en",
        "tr",
        "ar"
      ],
      "type": "string"
    },
    "manufacturer": {
      "description": "Maker or distributor name and address.",
      "type": "string"
    },
    "model": {
      "description": "The packaging model's id or slug, e.g. 'pouch-stand-up' or 'tuck-end-box'.",
      "type": "string"
    },
    "net_quantity": {
      "description": "Net weight or volume, e.g. '250 g' or '500 ml'.",
      "type": "string"
    },
    "product_name": {
      "description": "The product's name as it should read on the pack.",
      "type": "string"
    },
    "product_photo": {
      "description": "Optional: describe a product photo to make with AI for the label (uses one AI image from the plan).",
      "type": "string"
    },
    "ready_design": {
      "description": "Optional: a ready design id to start from instead of the best match.",
      "type": "string"
    },
    "storage": {
      "description": "Storage note.",
      "type": "string"
    },
    "tagline": {
      "description": "A short line under the name.",
      "type": "string"
    },
    "website": {
      "description": "Website or social handle.",
      "type": "string"
    }
  },
  "required": [
    "model",
    "product_name"
  ]
}
🟢list_my_designs(limit)

The member's latest Creadal designs in the connected workspace, newest first, each with a link to open it in the editor.

입력 스키마

{
  "type": "object",
  "properties": {
    "limit": {
      "description": "How many (default 20).",
      "maximum": 50,
      "minimum": 1,
      "type": "integer"
    }
  }
}
🟢get_design(designId)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "designId": {
      "description": "The design id (from list_my_designs or create_packaging_design).",
      "type": "string"
    }
  },
  "required": [
    "designId"
  ]
}
🟢export_print_pdf(designId)

A download link for a design's print-ready PDF (and a PNG), valid for 24 hours, to send to a printer or keep.

입력 스키마

{
  "type": "object",
  "properties": {
    "designId": {
      "description": "The design id.",
      "type": "string"
    }
  },
  "required": [
    "designId"
  ]
}
🟢get_quota

The member's Creadal plan and what is left of it this period (AI images, AI video seconds), with a link to upgrade.

입력 스키마

{
  "type": "object",
  "properties": {}
}
🟢generate_presentation(brandPalette, designType, language, motion, pageCount, ...)

Generate a complete, editable presentation (or document/poster/social set) from a prompt. 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.

입력 스키마

{
  "type": "object",
  "properties": {
    "brandPalette": {
      "description": "Brand hex colors to ground the theme in.",
      "items": {
        "pattern": "^#[0-9a-fA-F]{6}$",
        "type": "string"
      },
      "maxItems": 12,
      "type": "array"
    },
    "designType": {
      "description": "Defaults to deck.",
      "enum": [
        "deck",
        "doc",
        "poster",
        "social"
      ],
      "type": "string"
    },
    "language": {
      "description": "Write all text in this language, e.g. 'Spanish'.",
      "type": "string"
    },
    "motion": {
      "description": "Entrance motion on the slides; defaults to subtle.",
      "enum": [
        "subtle",
        "none"
      ],
      "type": "string"
    },
    "pageCount": {
      "maximum": 40,
      "minimum": 1,
      "type": "integer"
    },
    "prompt": {
      "description": "The brief, e.g. 'a 6-slide pitch deck for an eco water bottle'.",
      "type": "string"
    },
    "sources": {
      "description": "Grounding material the outline is based on.",
      "items": {
        "properties": {
          "name": {
            "description": "Source name.",
            "type": "string"
          },
          "text": {
            "description": "Source text (untrusted reference material).",
            "type": "string"
          }
        },
        "required": [
          "name",
          "text"
        ],
        "type": "object"
      },
      "maxItems": 8,
      "type": "array"
    },
    "templateId": {
      "description": "A template id from list_templates: the deck is composed on that template's layout system and theme.",
      "type": "string"
    },
    "themeId": {
      "description": "A built-in theme id from list_themes (e.g. 'theme-slate'); omit for an auto-picked look.",
      "type": "string"
    }
  },
  "required": [
    "prompt"
  ]
}
🟢get_job(jobId)

Poll a generation or export job by id. A completed generation job's result carries designId and editorUrl.

입력 스키마

{
  "type": "object",
  "properties": {
    "jobId": {
      "description": "The job id returned by generate_presentation.",
      "type": "string"
    }
  },
  "required": [
    "jobId"
  ]
}
🟢list_templates(query)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "query": {
      "description": "Optional search text.",
      "type": "string"
    }
  }
}
🟢list_themes

List the built-in theme catalog (id, name, style group, six palette slots, font pair). Pass an id as generate_presentation's themeId.

입력 스키마

{
  "type": "object",
  "properties": {}
}
🟢get_design_file(designId)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "designId": {
      "description": "The design id.",
      "type": "string"
    }
  },
  "required": [
    "designId"
  ]
}
🟢export_design(designId)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "designId": {
      "description": "The design id.",
      "type": "string"
    }
  },
  "required": [
    "designId"
  ]
}
🟡create_share_link(designId, expiresAt, label, mode, password)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "designId": {
      "description": "The design id.",
      "type": "string"
    },
    "expiresAt": {
      "description": "Optional RFC3339 expiry.",
      "type": "string"
    },
    "label": {
      "description": "Audience name for per-link analytics, e.g. 'Investors'.",
      "type": "string"
    },
    "mode": {
      "description": "Defaults to view.",
      "enum": [
        "view",
        "comment",
        "edit"
      ],
      "type": "string"
    },
    "password": {
      "description": "Optional passcode viewers must enter.",
      "type": "string"
    }
  },
  "required": [
    "designId"
  ]
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 14개