MCP Label Printer
An MCP server for printing labels with QR codes to Brother QL-810W printer via P-touch Editor Lite.
Prerequisites
- Python 3.10+ - Download
- Brother QL-810W printer connected via USB
- Editor Lite mode enabled on printer (green LED on)
Installation
-
Clone the repository:
git clone https://github.com/calumjs/MCP.Printer.git cd MCP.Printer -
Install the package:
pip install -e .This installs all dependencies (Pillow, qrcode, brother_ql, mcp).
-
Verify installation:
python -c "from mcp_label_printer.printer import print_label; print('OK')"
Printer Setup
- Connect Brother QL-810W via USB
- Press the Editor Lite button until the green LED turns ON
- The printer should appear as a USB drive (usually
D:\) - Verify
D:\PTLITE.PRNexists
MCP Configuration
Add to your MCP config file:
For Cursor (~/.cursor/mcp.json):
{
"mcpServers": {
"label-printer": {
"command": "mcp-label-printer"
}
}
}
Alternative (if command not found):
{
"mcpServers": {
"label-printer": {
"command": "python",
"args": ["-m", "mcp_label_printer.server"]
}
}
}
Restart your IDE after adding the config.
Usage
The server exposes one tool:
print_label
Print a label with QR code and text.
| Parameter | Required | Description |
|---|---|---|
url | Yes | URL to encode in QR code |
issue_number | Yes | Issue/PR number (e.g., "#1234") |
title | Yes | Issue/PR title |
description | No | Brief description |
Example prompt:
Print a label for issue #42 "Fix login bug" with URL https://github.com/org/repo/issues/42
How It Works
- Generates a QR code from the URL
- Creates a label image with QR code + text
- Converts to Brother QL raster format
- Writes to
D:\PTLITE.PRNwith proper padding (112,640 bytes) - Printer automatically prints when file is written
Troubleshooting
Nothing prints:
- Ensure Editor Lite LED is ON (green)
- Check
D:\drive exists and containsPTLITE.PRN - Try printing from P-touch Editor Lite app to verify printer works
Command not found:
- Ensure Python Scripts folder is in PATH
- Use the alternative config with
python -m mcp_label_printer.server
Wrong label size:
- This is configured for 62mm continuous labels (DK-22205)
