Connect AI to Your Printers

LabelInn MCP Server gives Claude, Cursor, VS Code, and any MCP-compatible AI assistant direct control over your thermal label printers. 103 tools, one Bearer token.

Quick Start

You need two things:

Transport: Streamable HTTP (POST/GET)  |  Auth: Bearer token  |  Tools: 103

Client Setup

Claude Desktop

Edit claude_desktop_config.json:

claude_desktop_config.json
{
  "mcpServers": {
    "labelinn": {
      "url": "https://labelinn.com/v1/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

Claude Code (CLI)

Terminal
claude mcp add labelinn \
  --transport http \
  --url https://labelinn.com/v1/mcp \
  --header "Authorization: Bearer YOUR_API_KEY"

Cursor

Create .cursor/mcp.json in your project root:

.cursor/mcp.json
{
  "mcpServers": {
    "labelinn": {
      "url": "https://labelinn.com/v1/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

VS Code (GitHub Copilot)

Create .vscode/mcp.json in your project:

.vscode/mcp.json
{
  "servers": {
    "labelinn": {
      "type": "http",
      "url": "https://labelinn.com/v1/mcp",
      "headers": {
        "Authorization": "Bearer ${input:labelinn-api-key}"
      }
    }
  }
}

Windsurf

Open Settings → MCP → Add Server:

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "labelinn": {
      "serverUrl": "https://labelinn.com/v1/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

Any MCP Client (Generic)

HTTP Request
POST https://labelinn.com/v1/mcp
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

{
  "jsonrpc": "2.0",
  "method": "tools/list",
  "id": 1
}

Available Tools

Every tool listed here works over the hosted endpoint. Here are the categories:

Running the local server as well? npx @labelinn/mcp-server adds around 25 further tools that only make sense on the machine the printers are attached to — USB enumeration, network scans, printer calibration, edge diagnostics. Those talk to the LabelInn desktop app directly, so the hosted endpoint cannot offer them.

🖨️ Printing

Print labels, ZPL, images, PDFs, raw data

15+ tools

🎨 Design

Create, edit, clone, render label templates

20+ tools

📦 Elements

Add text, barcodes, images, HTML, shapes

15+ tools

🔧 Fleet

Discover, configure, group, monitor printers

20+ tools

📋 Jobs

List, track, cancel, retry print jobs

10+ tools

🔗 Webhooks

Create, manage, test event webhooks

8+ tools

📊 Analytics

Usage stats, audit logs, compliance

12+ tools

⚙️ Rules

Automation rules, routing, triggers

12+ tools

HTML Variables and Row-Driven Symbols

Use get_design_binding_guide when an AI assistant is creating or preparing a design. It returns the exact syntax and examples below, so the assistant does not have to guess at variable names or symbol values.

HTML variable: Put {{printed_at}} or {{product_name}} in an HTML element. The token itself becomes the design variable name. Bind {{printed_at}} to the Date/Time source for the current time, an order date, or a formatted fixed date; otherwise provide the same key in print_label.data or workflow row data.

Row-driven symbols: Bind a Symbol element to a source containing a comma-separated list of catalogue keys, for example ghs/ghs02_flammable, ghs/ghs05_corrosive. A non-empty row value replaces that row's manually selected symbols and reflows the strip; an empty value keeps the manually selected symbols as fallback.

Example Prompts

Once connected, just talk to your AI assistant:

Examples
"List all my printers and their status"

"Create a 4x6 shipping label with a barcode for SKU ABC-123"

"Explain how to bind {{printed_at}} to the Date/Time source and list the variables this design accepts"

"Use a row field containing ghs/ghs02_flammable, ghs/ghs05_corrosive to drive this design's symbol strip"

"Print 50 copies of the product tag design with this CSV data"

"Show me print job stats for the last 7 days"

"Set up a webhook to notify me when any print job fails"

"Discover printers on the network and add them to a group"

Supported Clients

Claude Desktop

✓ Supported

Claude Code

✓ Supported

Cursor

✓ Supported

VS Code (Copilot)

✓ Supported

Windsurf

✓ Supported

Smithery

✓ Supported (OAuth)

Cline

✓ Supported

Any MCP Client

✓ Streamable HTTP

Technical Details