Render ZPL from your AI assistant
OpenZPL speaks the Model Context Protocol. Connect Claude, Cursor or any MCP client and it can turn a ZPL label into a PNG or a PDF — right in the chat. No key, no account.
https://api.openzpl.com/mcp
Add it to your assistant
The server is remote and stateless, over HTTP. Add it the way your client adds a remote MCP server:
claude mcp add --transport http openzpl https://api.openzpl.com/mcp
Then ask: “render this ZPL and show me the label”.
{
"mcpServers": {
"openzpl": { "url": "https://api.openzpl.com/mcp" }
}
}
Add this to your client's MCP config, such as Cursor's ~/.cursor/mcp.json.
npx -y mcp-remote https://api.openzpl.com/mcp
For a client that only runs local (stdio) servers, this bridge connects it to the remote endpoint.
What it can do
Three render-only tools, backed by the same engine as the API and the viewer. It renders the ZPL you give it; it doesn't design the label for you.
| Tool | What it does |
|---|---|
render_zpl | Renders a label to a PNG image and shows it. |
zpl_to_pdf | Renders the ZPL to a PDF, one page per label. |
preview_url | Builds a shareable link that renders the label when opened in a browser. |
Each tool takes the zpl, and optional dpmm (6, 8, 12 or 24), width_in / height_in in inches and rotation.
Try it with curl
The endpoint is plain JSON-RPC 2.0, so you can call it without an assistant too:
curl -s https://api.openzpl.com/mcp -H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"render_zpl",
"arguments":{"zpl":"^XA^FO50,50^ADN,36,20^FDHi^FS^XZ"}}}'
Free, with a watermark
Renders over MCP are anonymous and free, so each one carries a small openzpl.com · free plan box in a corner and counts against the same daily allowance as the API, per IP address. For clean renders and higher limits, see pricing; a paid plan over MCP is coming.
Questions
Do I need an API key or an account?
No. The MCP server is free and needs no account. Renders use the free plan, so they carry a small openzpl.com mark and count against the same daily allowance as the API, per IP address.
Which assistants can use it?
Any client that speaks the Model Context Protocol over HTTP, such as Claude or Cursor. Point it at https://api.openzpl.com/mcp; for a client that only runs local servers, bridge it with npx mcp-remote https://api.openzpl.com/mcp.
What can it do?
Three tools: render a label to a PNG image, render it to a PDF, or build a shareable preview link. It renders the ZPL you give it; it doesn't design the label for you.
Is my ZPL stored?
No. The label is rendered and returned; the server doesn't keep the ZPL.
See also the HTTP API docs and comparison with mylabelmaker.