MCP server for professional print and color workflows — 2400+ Pantone colors, CMYK/RGB conversion, ink/cost estimation, ICC profiles, spot color separation, and more.
Project description
mcp-print
Professional print & color workflow tools for AI assistants
2400+ Pantone colors • CMYK/RGB conversion • Ink & cost estimation • ICC profiles • Spot color separation • Barcode coverage • Delta E • Paper weights
Works 100% offline — no API keys needed
Install • Configure • Tools • Examples • Contributing
Who is this for?
| Role | Use case |
|---|---|
| Print designers | Check Pantone-to-CMYK conversions without leaving your editor |
| Prepress engineers | Estimate ink costs, verify color accuracy (Delta E), analyze ICC profiles |
| Packaging teams | Convert paper weights, separate spot vs process colors, cost entire print runs |
| Brand managers | Find the closest Pantone match to any HEX color |
Install
pip install mcp-print
Requires Python 3.10+. Zero external dependencies beyond the MCP SDK.
Configure with Claude Code
Add to your Claude Code MCP config (~/.claude/settings.json or project .mcp.json):
{
"mcpServers": {
"print": {
"command": "python",
"args": ["-m", "mcp_print"]
}
}
}
Restart Claude Code — all ten tools will be available immediately.
Tools
Color & Pantone
| Tool | Description |
|---|---|
pantone_to_cmyk_tool |
Convert a Pantone name to CMYK + HEX. Fuzzy matching — "485C", "pantone 485", "Warm Red" all work |
pantone_search_tool |
Find the closest Pantone colors to any HEX or CMYK value (top N matches by Delta E) |
cmyk_to_rgb_tool |
Convert CMYK values (0-100) to RGB (0-255) + HEX |
color_delta_e_tool |
Calculate Delta E (CIE76) between two CMYK colors with quality interpretation |
spot_color_separator_tool |
Given a list of design colors, recommend which should be spot vs process |
Print Production
| Tool | Description |
|---|---|
ink_consumption_tool |
Estimate ink grams/kg and cost for a print run (offset, flexo, gravure, screen, digital) |
print_cost_estimator_tool |
Full job cost breakdown: ink + plates + makeready + run cost |
barcode_ink_coverage_tool |
Ink coverage % for Code 128, EAN-13, QR, and Data Matrix barcodes |
Utilities
| Tool | Description |
|---|---|
icc_profile_info_tool |
Parse ICC/ICM profile metadata (color space, device class, version, PCS) from any .icc file |
paper_weight_converter_tool |
Convert between GSM, lb text, and lb cover |
Usage Examples
Once configured, just ask Claude naturally:
Pantone Lookup
"What's the CMYK breakdown for Pantone 485 C?"
Fuzzy matching accepts any format: "485C", "pantone 485", "485 coated", "Warm Red"
{ "name": "Pantone 485 C", "c": 0, "m": 95, "y": 100, "k": 0, "hex": "#FF0D0D" }
Reverse Pantone Search
"What Pantone colors are closest to #DA291C?"
{
"matches": [
{ "name": "Pantone 485 C", "c": 0, "m": 95, "y": 100, "k": 0, "hex": "#FF0D0D" },
{ "name": "Pantone 485 M", "c": 1, "m": 93, "y": 99, "k": 2, "hex": "#FA0E03" }
],
"search_type": "hex #DA291C"
}
Color Conversion
"Convert CMYK 100/44/0/0 to RGB"
{ "r": 0, "g": 143, "b": 255, "hex": "#008FFF" }
Ink Estimation
"How much ink for 10,000 A4 flyers at 35% coverage on offset?"
{ "ink_grams": 327.44, "ink_kg": 0.3274, "cost_estimate_usd": 8.19 }
Full Print Job Costing
"Cost estimate: 5,000 A4 flyers, 4-color offset, 120gsm, double-sided"
{
"total_cost_usd": 628.14,
"cost_per_unit_usd": 0.1256,
"breakdown": {
"ink": 11.34,
"plates": 280.00,
"makeready": 200.00,
"run_cost": 136.80
}
}
Color Matching QC
"Compare brand blue (100/72/0/18) vs proof (98/70/2/20) — is the Delta E acceptable?"
{ "delta_e": 3.41, "interpretation": "fair — noticeable difference" }
| Delta E | Quality |
|---|---|
| < 1 | Excellent — imperceptible |
| 1 - 3 | Good — barely perceptible |
| 3 - 6 | Fair — noticeable |
| > 6 | Poor — obvious difference |
Spot vs Process Recommendation
"Should these colors be spot or process?"
{
"spot_colors": [
{ "nearest_pantone": "Pantone 485 C", "delta_e": 0.0, "reason": "Close match — use spot for accuracy" }
],
"process_colors": [
{ "nearest_pantone": "Pantone 375 C", "delta_e": 8.2, "reason": "No close match — reproduce as CMYK" }
]
}
ICC Profile Inspection
"What color space does this ICC profile use?"
{
"profile_name": "ISOcoated_v2",
"color_space": "CMYK",
"device_class": "Output (Printer)",
"version": "2.4.0",
"pcs": "XYZ"
}
Barcode Ink Coverage
"Ink coverage for an EAN-13 barcode at 37mm x 26mm?"
{
"coverage_percent": 52.0,
"recommended_ink": "Process Black (K: 100)",
"print_method_suggestion": "offset — good resolution for medium modules"
}
Paper Weight Conversion
"What's 80 lb text in GSM?"
{ "value": 118.42, "from_unit": "lb_text", "to_unit": "gsm" }
Pantone Database
The built-in database contains 2,415 Pantone colors:
| Series | Range | Description |
|---|---|---|
| Numeric | 100–699 | Yellows, oranges, reds, pinks, purples, blues, greens, grays, browns |
| 7000 series | 7400–7547 | Extended gamut colors |
| Named | — | Black, White, Warm Red, Reflex Blue, Process Blue, Cool/Warm Grays 1–11, Hexachrome series |
Every color is available in three finishes: Coated (C), Uncoated (U), and Matte (M).
Fuzzy matching handles format variations — "485C", "pantone 485", "485 coated" all resolve correctly.
Development
git clone https://github.com/kcgdz/mcp-print.git
cd mcp-print
pip install -e .
pip install pytest
pytest tests/ -v
65 passed in 0.15s
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp_print-0.2.2.tar.gz.
File metadata
- Download URL: mcp_print-0.2.2.tar.gz
- Upload date:
- Size: 59.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
253fd1aa62e2ae3bde3def21b367dccd628ac79a7b78fe0fe3e6515886b01f48
|
|
| MD5 |
a35147bbdb52373671c58f9c244c1d0a
|
|
| BLAKE2b-256 |
d62768bc2155aef6d75a7b2f2c42b1c1964fb19aa8b8f1a4a6b1bb99b03940ca
|
File details
Details for the file mcp_print-0.2.2-py3-none-any.whl.
File metadata
- Download URL: mcp_print-0.2.2-py3-none-any.whl
- Upload date:
- Size: 51.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3e49ecca0aa103b3b211526bde537c4c786778c17725a7345fdbead135c3be16
|
|
| MD5 |
9ecad45a7a5d6c6dd1aa19b9c875e0a7
|
|
| BLAKE2b-256 |
4a0888044c4b6ac7b5f1317414dd9a3df6a942cfd4a4547671604cc730affd21
|