Koskamo

Drint MCP

An official MCP server for Drint that allows AI assistants to find 3D packaging mockups, list and generate dielines (FEFCO/ECMA), and open user projects in a 3D viewer. It supports tools for searching mockups, retrieving dieline files, managing projects, and reviewing inbox items, with authentication required for account-specific actions.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Drint MCP logo, by DrintVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by Drint
MCP endpoint (Streamable HTTP)
https://drint.io/mcp
Vendor documentation

What you can do with it

  • Find ready 3D mockups for boxes, bags, and labels
  • Generate PDF/AI/SVG dielines from FEFCO codes
  • Open and view user projects in 3D
  • Send projects to 3D Studio for scene building

Source and maintenance

Vendor evidenceRegistry 1.0.0

Protocol and capabilities

Server
drint 0.1.0
MCP protocol
2025-06-18
Tools
10 advertised
Resources
1 advertised
Resource templates
0 advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  },
  "resources": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Drint is a packaging and print mockup library (boxes, paper bags, cartons, bottles, jars, labels, mugs, apparel, signage…). Use search_mockups to find models for what the user wants, then open_mockup to show one in 3D. For print-ready dielines at an exact size: list_dielines finds structures and FEFCO / ECMA codes ("0201", "A20.20.03.01") with a link to design on them in Drint (no account); get_dieline gives the PDF / AI or SVG die (the user's Drint account: Free has 1 a month, Pro unlimited), make_dieline the die-maker's DXF / CF2 files (Pro); the user is asked to sign in. With their account: list_my_projects / open_my_project for their own designs, review_inbox for Hộp duyệt (work handed on to 3D Studio or Drint AI and results waiting), send_to_3d_studio for a link that sends a project to 3D Studio. Pass the user's language as lang. Never invent model ids: take them from search_mockups.

Tools

10 advertised

search_mockups — Find mockups
Advertised by the server during the last successful anonymous check.
Advertised read-only

Search Drint's library of ready 3D packaging and print mockups (about a thousand models: paper boxes, rigid gift boxes, paper bags, shipping cartons, bottles, jars, cans, cups, labels, flexible pouches, mugs, apparel, signage, posters, books, calendars). Use a few plain words for the product, e.g. "kraft paper bag", "tuck end box", "hộp quà Tết", "chai mỹ phẩm". Returns models with id, name, size in mm and a picture; shows them as a grid the user can click to open in 3D.

search_mockups input schema
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "lang": {
      "enum": [
        "zh-Hant",
        "fil",
        "tet",
        "vi",
        "en",
        "zh",
        "ja",
        "ko",
        "mn",
        "th",
        "km",
        "lo",
        "my",
        "id",
        "ms",
        "hi",
        "ur",
        "bn",
        "ne",
        "si",
        "ta",
        "dz",
        "dv",
        "kk",
        "uz",
        "ky",
        "tg",
        "tk",
        "fa",
        "ps",
        "ar",
        "he",
        "tr",
        "az",
        "hy",
        "ka",
        "el",
        "es",
        "pt",
        "fr"
      ],
      "type": "string",
      "description": "The user's language (vi, en, th, zh…). Default en."
    },
    "limit": {
      "type": "integer",
      "maximum": 20,
      "minimum": 1,
      "description": "How many models (default 8)."
    },
    "query": {
      "type": "string",
      "description": "What to look for, a few words, English or Vietnamese."
    }
  },
  "additionalProperties": false
}
search_mockups annotations
{
  "title": "Find mockups",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
open_mockup — Open a 3D mockup
Advertised by the server during the last successful anonymous check.
Advertised read-only

Show one Drint mockup in an interactive 3D viewer the user can rotate, zoom, recolour and resize. Take the id from search_mockups. Optional: colour (a colour or material name, or its number from 0), and a custom size in millimetres (length, width, height).

open_mockup input schema
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "The model id from search_mockups, e.g. \"gift-ceramic-30\"."
    },
    "lang": {
      "enum": [
        "zh-Hant",
        "fil",
        "tet",
        "vi",
        "en",
        "zh",
        "ja",
        "ko",
        "mn",
        "th",
        "km",
        "lo",
        "my",
        "id",
        "ms",
        "hi",
        "ur",
        "bn",
        "ne",
        "si",
        "ta",
        "dz",
        "dv",
        "kk",
        "uz",
        "ky",
        "tg",
        "tk",
        "fa",
        "ps",
        "ar",
        "he",
        "tr",
        "az",
        "hy",
        "ka",
        "el",
        "es",
        "pt",
        "fr"
      ],
      "type": "string",
      "description": "The user's language (vi, en, th, zh…). Default en."
    },
    "colour": {
      "type": [
        "string",
        "integer"
      ],
      "description": "A colour / material name the model offers, or its number (0 = first)."
    },
    "width_mm": {
      "type": "number",
      "maximum": 5000,
      "minimum": 10
    },
    "height_mm": {
      "type": "number",
      "maximum": 5000,
      "minimum": 10
    },
    "length_mm": {
      "type": "number",
      "maximum": 5000,
      "minimum": 10
    }
  },
  "additionalProperties": false
}
open_mockup annotations
{
  "title": "Open a 3D mockup",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_dielines — Find dieline structures
Advertised by the server during the last successful anonymous check.
Advertised read-only

List the packaging structures Drint draws as print-ready dielines (tuck end boxes, auto-lock bottoms, mailers, FEFCO cartons, paper bags, rigid boxes, drawers, pillow boxes, sleeves, pouches, cups, labels…), with each one's type id and default size in mm, and find standard die codes: about 180 FEFCO (corrugated, e.g. 0201, 0427) and ECMA (folding cartons, e.g. A20.20.03.01) codes. Optional query: a code or a few words ("0201", "reverse tuck", "crash lock", "hộp nắp gài", "bag"). Each comes with a link that starts a Drint design on that die.

list_dielines input schema
{
  "type": "object",
  "properties": {
    "lang": {
      "type": "string",
      "description": "The user's language (vi, en, th, zh…). Default en."
    },
    "query": {
      "type": "string",
      "description": "A few words, English or Vietnamese. Empty: all of them."
    }
  },
  "additionalProperties": false
}
list_dielines annotations
{
  "title": "Find dieline structures",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_dieline — Get a dieline
Advertised by the server during the last successful anonymous check.

Draw a print-ready dieline at an exact size in the signed-in person's Drint space and return a download link (valid one hour): PDF / AI (cut and crease as spot colours with dimensions, opens in Illustrator) or SVG (CUT / CREASE layers). Give a standard code (FEFCO "0201", "0427"; ECMA "A20.20.03.01", "A60.20.00.01") or a Drint type id from list_dielines. Length, width, height are the inside size in mm. The Free plan has 1 of these a month, Pro unlimited. For the die-maker's DXF or CF2 files use make_dieline.

get_dieline input schema
{
  "type": "object",
  "properties": {
    "code": {
      "type": "string",
      "description": "A FEFCO or ECMA code, e.g. \"0201\", \"FEFCO 0427\", \"A20.20.03.01\". Give this or type."
    },
    "lang": {
      "type": "string",
      "description": "The user's language (vi, en, th, zh…). Default en."
    },
    "name": {
      "type": "string",
      "description": "A short file name, e.g. the product. Optional."
    },
    "type": {
      "type": "string",
      "description": "A Drint type id from list_dielines, e.g. \"rte\", \"bag\", \"pillow\". Give this or code."
    },
    "format": {
      "enum": [
        "pdf",
        "svg"
      ],
      "type": "string",
      "description": "Default pdf."
    },
    "width_mm": {
      "type": "number",
      "maximum": 5000,
      "minimum": 5
    },
    "height_mm": {
      "type": "number",
      "maximum": 5000,
      "minimum": 5
    },
    "length_mm": {
      "type": "number",
      "maximum": 5000,
      "minimum": 5
    }
  },
  "additionalProperties": false
}
get_dieline annotations
{
  "title": "Get a dieline",
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": false,
  "destructiveHint": false
}
make_dieline — Make a die-maker file
Advertised by the server during the last successful anonymous check.

Draw a production dieline in the signed-in person's Drint space at an exact size and return a download link (valid one hour): DXF (for CAD and cutting tables) or CF2 (for die-makers, ArtiosCAD). Give a FEFCO / ECMA code or a type from list_dielines. Length, width, height are the inside size in mm. It counts as one die download on the space's plan, as in the Drint studio (Free has none: then it says so; the PDF / SVG die is get_dieline).

make_dieline input schema
{
  "type": "object",
  "properties": {
    "code": {
      "type": "string",
      "description": "A FEFCO or ECMA code, e.g. \"0201\", \"A20.20.03.01\". Give this or type."
    },
    "lang": {
      "type": "string",
      "description": "The user's language (vi, en, th, zh…). Default en."
    },
    "name": {
      "type": "string",
      "description": "A short file name, e.g. the product. Optional."
    },
    "type": {
      "type": "string",
      "description": "The structure's type id from list_dielines, e.g. \"rte\", \"rsc\", \"bag\". Give this or code."
    },
    "format": {
      "enum": [
        "dxf",
        "cf2",
        "pdf"
      ],
      "type": "string",
      "description": "Default dxf. (pdf: counted as get_dieline's.)"
    },
    "width_mm": {
      "type": "number",
      "maximum": 5000,
      "minimum": 5
    },
    "height_mm": {
      "type": "number",
      "maximum": 5000,
      "minimum": 5
    },
    "length_mm": {
      "type": "number",
      "maximum": 5000,
      "minimum": 5
    }
  },
  "additionalProperties": false
}
make_dieline annotations
{
  "title": "Make a die-maker file",
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": false,
  "destructiveHint": false
}
list_my_projects — My Drint projects
Advertised by the server during the last successful anonymous check.
Advertised read-only

List the signed-in person's own Drint projects (in the space they allowed this app to use): name, products, last change, and their thumbnails in a grid they can click to open in 3D. Optional query: words of the name.

list_my_projects input schema
{
  "type": "object",
  "properties": {
    "lang": {
      "type": "string",
      "description": "The user's language (vi, en, th, zh…). Default en."
    },
    "limit": {
      "type": "integer",
      "maximum": 40,
      "minimum": 1,
      "description": "Default 12."
    },
    "query": {
      "type": "string",
      "description": "Words of the project name. Optional."
    }
  },
  "additionalProperties": false
}
list_my_projects annotations
{
  "title": "My Drint projects",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
open_my_project — Open my project in 3D
Advertised by the server during the last successful anonymous check.
Advertised read-only

Show one of the signed-in person's Drint projects in 3D with its own design printed on it, in a viewer they can rotate and open in Drint. Take the id from list_my_projects. A project with several products (a set) can name one with product (its number from 0). On the Free plan the product wears Drint's watermark grid, as in the studio.

open_my_project input schema
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "The project id from list_my_projects."
    },
    "lang": {
      "type": "string",
      "description": "The user's language (vi, en, th, zh…). Default en."
    },
    "product": {
      "type": "integer",
      "minimum": 0,
      "description": "Which product of a set (0 = first). Optional."
    }
  },
  "additionalProperties": false
}
open_my_project annotations
{
  "title": "Open my project in 3D",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
review_inbox — My Drint review inbox
Advertised by the server during the last successful anonymous check.
Advertised read-only

Hộp duyệt, the signed-in person's review inbox in Drint: the work their space handed on to Drint 3D Studio (scenes, renders) or Drint AI (design edits, pictures, films), and the results that came back and wait to be accepted into the project. Each job has its project, status and, once done, its result pictures (links valid ten minutes). Accepting happens in Drint: each job has a link that opens its project with Hộp duyệt up. Optional: project (an id from list_my_projects), waiting_only.

review_inbox input schema
{
  "type": "object",
  "properties": {
    "lang": {
      "type": "string",
      "description": "The user's language (vi, en, th, zh…). Default en."
    },
    "limit": {
      "type": "integer",
      "maximum": 30,
      "minimum": 1,
      "description": "Default 10."
    },
    "project": {
      "type": "string",
      "description": "Only the jobs of this project (id from list_my_projects). Optional."
    },
    "waiting_only": {
      "type": "boolean",
      "description": "Only the jobs whose results wait to be accepted. Default false."
    }
  },
  "additionalProperties": false
}
review_inbox annotations
{
  "title": "My Drint review inbox",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
send_to_3d_studio — Send a project to Drint 3D Studio
Advertised by the server during the last successful anonymous check.
Advertised read-only

Prepare one of the signed-in person's Drint projects for Drint 3D Studio, where its whole product set is staged and rendered as photo-real scenes that come back to the project's Hộp duyệt. Returns a link: it opens the project in Drint with the hand-on menu up, and the person clicks "Dựng cảnh ở 3D Studio" — the products and their artwork are built in their browser, so this tool cannot send them by itself. Take the id from list_my_projects.

send_to_3d_studio input schema
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "The project id from list_my_projects."
    },
    "lang": {
      "type": "string",
      "description": "The user's language (vi, en, th, zh…). Default en."
    }
  },
  "additionalProperties": false
}
send_to_3d_studio annotations
{
  "title": "Send a project to Drint 3D Studio",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
my_drint — My Drint account
Advertised by the server during the last successful anonymous check.
Advertised read-only

Who is signed in to Drint, which space this app works in, its plan, and how many PDF / SVG dies and DXF / CF2 die downloads are left this month. Useful when a Drint tool reports a plan limit.

my_drint input schema
{
  "type": "object",
  "properties": {
    "lang": {
      "type": "string",
      "description": "The user's language (vi, en, th, zh…). Default en."
    }
  },
  "additionalProperties": false
}
my_drint annotations
{
  "title": "My Drint account",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

1 advertised

Drint mockup viewer

Advertised by the server during the last successful anonymous check.

Drint mockup viewer URI
ui://drint/mockup-v1.html

MIME type: text/html;profile=mcp-app

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
1143 ms
95th percentile latency
1143 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 1143 ms · metadata changed · 10 tool(s), 1 resource(s), 0 resource template(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http drint-mcp https://drint.io/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add drint-mcp --url https://drint.io/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable drint-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "drint-mcp": {
      "url": "https://drint.io/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "drint-mcp": {
      "type": "streamableHttp",
      "url": "https://drint.io/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start drint-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "drint-mcp": {
      "type": "http",
      "url": "https://drint.io/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http drint-mcp https://drint.io/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "drint-mcp": {
      "url": "https://drint.io/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "drint-mcp": {
      "serverUrl": "https://drint.io/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Drint MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Drint MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing