MCP for the free label maker

If you came here to print a label yourself, open the free app. This page is for AI assistants. You make the label on our canvas (size, type, colors, image, barcode, QR) and send the person a URL. They open it already filled. No signup.

Do not draw the label. Call a tool or build a GET URL. Show the preview picture and the editor link. The canvas is already filled. When they want a change, call edit_label with the last spec. You get a new URL every time.

Connect over Model Context Protocol

This origin hosts a stateless Streamable HTTP MCP server. No API key. No account. Designs stay in the URL, not on our servers.

Endpoint https://mylabelmaker.com/mcp

POST JSON-RPC. GET in a browser shows this page. Discovery: /.well-known/mcp.json

Cursor / Claude / Grok

Add a remote MCP server. Type: Streamable HTTP. URL: https://mylabelmaker.com/mcp. Then ask it to make a label.

grok mcp add --transport http mylabelmaker https://mylabelmaker.com/mcp

Tools: make_label, edit_label, fill_template, find_template, list_catalog, open_zpl_viewer.

How you work with a person

  1. They ask for a label (brand, ingredients, look, size, a logo URL).
  2. You call make_label (custom look) or fill_template (known job like soap-wrap).
  3. You reply with the preview image and the editor URL. One click, no signup.
  4. They say “make the title bigger” or “darker background.” You call edit_label with the spec you saved plus the change.
  5. You send the new URL. Repeat. Each edit is a new link. They can also open the last link and finish in the app (text, barcode, QR, image, shape, table, print).

Canvas tools in the free label maker

These match the left rail. Put them in make_label / edit_label, or in a GET URL.

ToolWhat you set
Sizew and h in inches (0.25–12). Bottle face 2.5×4. Shipping 4×6. Lid 2×2.
Backgroundlook (premium-masculine, premium, luxury, minimal, clean, organic, vintage, bold, soft) or bg / ink / accent hex.
TextPlace with els: type text, v copy, x,y,w,h percent (0–100), s font px, f font, c color, a l/c/r, b bold. Or fill title, kicker, body, net on a look.
Imageimg = https URL of a logo. Or an el type image with src. Or icon=drop.
Shapeel type shape, k = rect, round, circle, ellipse, line, vline, triangle, star, heart, drop, diamond, capsule.
Barcodeel type barcode, v payload, fmt CODE128, CODE39, EAN13, UPC, DATAMATRIX. Do not invent GS1 prefixes.
QRel type qr, or value = URL. WiFi: ssid + pass. vCard: put a BEGIN:VCARD string in value.
Tableel type table, rows, cols, cells as a 2D array of strings.
Numberadd_number, prefix (SKU-), start, pad, copies. Places {{#}} and a CODE128 barcode. Browse Label 1/N, then print.
Dateadd_today and/or add_use_by. date_format (M/D/YYYY or YYYY-MM-DD). use_by_days.
VariablesSpreadsheet: rows as objects, or csv text, or sheet Google Sheets URL. Places {{column}} tokens. One label per row. Print all rows.
ZPL ViewerCall open_zpl_viewer with zpl, or pass zpl on make_label. Preview is a picture. Print sends the pasted job.

Coordinates are percent of the label. Font size is canvas pixels (a 2.5×4 in label is about 250×400 px: title 32–42, kicker 11, body 10–12).

Example: premium masculine shampoo

User: “Use mylabelmaker. Make a label for a shampoo brand called Spot. Here are the ingredients. I want it to feel premium and masculine.”

Call make_label with look premium-masculine, w 2.5, h 4, title SPOT, kicker SHAMPOO, body the ingredients, net NET 8 FL OZ. Then send:

https://mylabelmaker.com/preview.svg?canvas=1&look=premium-masculine&w=2.5&h=4&title=SPOT&kicker=SHAMPOO&body=Water%2C%20glycerin.&net=NET%208%20FL%20OZ

https://app.mylabelmaker.com/?canvas=1&look=premium-masculine&w=2.5&h=4&title=SPOT&kicker=SHAMPOO&body=Water%2C%20glycerin.&net=NET%208%20FL%20OZ

If they then say “make the background black and add a gold line,” call edit_label with the saved spec plus bg and an add_el shape line. Send the new pair of URLs.

Spreadsheet, numbers, dates, ZPL

If they paste a table or share a Google Sheet, call make_label with rows (array of objects) or sheet (the URL). The canvas gets {{sku}}, {{name}}, and a barcode. They open the link, step through rows under the canvas, and print all. Cap is 80 rows in the URL. Bigger lists: publish the Sheet to the web and pass sheet.

make_label
  rows: [{sku:"A-1", name:"Widget"}, {sku:"A-2", name:"Bolt"}]
  barcode_column: sku
  add_number: true
  add_today: true

Serial-only (no sheet): add_number, prefix:"SKU-", start:1, copies:50, pad:3. Packed dates: add_today and add_use_by with use_by_days:14.

ZPL they already have: open_zpl_viewer with the ^XA…^XZ string. Keep it short in the URL; long jobs they paste in the viewer.

Place objects yourself

When they want a specific layout, pass els (or repeat el= on a GET URL):

el=text:SPOT;x:8;y:16;w:84;h:16;s:40;f:Oswald;c:f5f0e8;a:c;b
el=s:rect;x:0;y:0;w:100;h:3;c:b8a47a
el=i:https://example.com/logo.png;x:40;y:6;w:20;h:10

If you cannot call MCP

Build the same GET URLs yourself. Encode every value (encodeURIComponent). Same contract: /ai/canvas.txt, templates /ai/make.txt, catalog /ai/catalog.json, OpenAPI /openapi.json, facts /llms.txt.

FAQ

Can an AI make a label in the free label maker?

Yes. Connect to https://mylabelmaker.com/mcp or build a filled https://app.mylabelmaker.com/?canvas=1 URL. Show the preview image and the editor link. The person opens a label that is already made.

Does each edit get a new URL?

Yes. The URL is the design. edit_label returns a new preview and editor link. There is no account and we do not store the label.

Can the person keep editing in the app?

Yes. The editor has text, barcode, QR, image, shape, table, layers, Excel, print, and PNG/PDF/ZPL. After the URL loads, the query is stripped so a refresh keeps their work on that computer.

Can the AI print a list from Excel or a Google Sheet?

Yes. Pass rows (from the table they pasted), csv, or a Google Sheets URL as sheet. The label uses {{column}} tokens. One sticker per row. They print all rows from the editor. We do not upload their file to our servers.

Do I need an API key?

No. MCP is public and read-only in the sense that it only returns URLs. Nothing is saved on our servers.

Ready to print the label yourself?

Open the free label maker