Skip to main content

MCP server for professional print and color workflows — 2400+ Pantone colors, CMYK/RGB conversion, ink/cost estimation, ICC profiles, spot color separation, preflight checks, substrate simulation, and more.

Project description

mcp-print

Professional print & color workflow tools for AI assistants

PyPI version Python License: MIT CI

2400+ Pantone colors • CMYK/RGB conversion • Ink & cost estimation • ICC profiles • Spot color separation • Barcode coverage • Delta E • Paper weights • Preflight checks • Substrate simulation

Works 100% offline — no API keys needed

InstallConfigureToolsExamplesContributing


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, run preflight checks
Packaging teams Convert paper weights, separate spot vs process colors, cost entire print runs, simulate substrate shifts
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 twelve 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
preflight_check_tool Pre-press file validation — checks color mode, resolution, bleed, fonts, ink coverage, and transparency
substrate_simulator_tool Simulate CMYK color shifts on different paper substrates (dot gain, absorption, tint)

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" }
Pantone CMYK lookup example

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"
}
Barcode ink coverage analysis example

Paper Weight Conversion

"What's 80 lb text in GSM?"

{ "value": 118.42, "from_unit": "lb_text", "to_unit": "gsm" }

Preflight Check

"Validate my file for offset printing: CMYK, 300 DPI, 3mm bleed, fonts embedded"

{
  "status": "pass",
  "checks": [
    { "name": "color_mode", "status": "pass", "message": "CMYK is correct for offset." },
    { "name": "resolution", "status": "pass", "message": "300 DPI meets the minimum of 300 DPI for offset." },
    { "name": "bleed", "status": "pass", "message": "3.0 mm bleed meets the 3.0 mm minimum for offset." },
    { "name": "fonts", "status": "pass", "message": "All fonts are embedded." },
    { "name": "ink_coverage", "status": "pass", "message": "Total ink coverage 280% is within safe limits." },
    { "name": "transparency", "status": "pass", "message": "No transparency detected." }
  ],
  "summary": "6 passed, 0 warnings, 0 failed out of 6 checks.",
  "recommendation": "File is ready for production."
}

Checks color mode, resolution, bleed, font embedding, total ink coverage, and transparency against the target print method (offset, digital, flexo, gravure, screen).

Check Fail Warning
Color mode RGB/spot for offset/flexo/gravure/screen RGB for digital
Resolution Below 75% of method minimum Below method minimum
Bleed No bleed Below method minimum
Fonts Not embedded
Ink coverage > 340% > 300%
Transparency Present (needs flattening)

Substrate Simulation

"How will CMYK 50/30/20/10 look on newsprint vs glossy coated?"

{
  "original": { "c": 50, "m": 30, "y": 20, "k": 10, "hex": "#73A1B8" },
  "simulated": { "c": 57.5, "m": 38.3, "y": 29.8, "k": 31.9, "hex": "#4A6B7A" },
  "substrate": "newsprint",
  "print_method": "offset",
  "adjustments": { "dot_gain_applied": 30, "absorption_k_added": 16.2 },
  "delta_e_from_original": 21.11,
  "warning": "Severe color shift — this substrate may not be suitable for color-critical work."
}

Six substrate profiles with different dot gain, absorption, and paper tint characteristics:

Substrate Dot gain (offset) Tint Typical use
glossy_coated 12% None Magazines, brochures
matte_coated 18% Slight warm Art books, reports
uncoated 22% Warm Letterheads, books
newsprint 30% Yellow/gray Newspapers, flyers
kraft 25% Strong brown Packaging, bags
recycled 25% Slight gray Eco-friendly prints

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
108 passed in 0.19s

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

mcp_print-0.3.0.tar.gz (150.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_print-0.3.0-py3-none-any.whl (57.5 kB view details)

Uploaded Python 3

File details

Details for the file mcp_print-0.3.0.tar.gz.

File metadata

  • Download URL: mcp_print-0.3.0.tar.gz
  • Upload date:
  • Size: 150.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for mcp_print-0.3.0.tar.gz
Algorithm Hash digest
SHA256 2761f21250d14ee2be34d4e8aae9166f7d0a562f8b2f74f27073565ce17519f0
MD5 8d819bb34cf5039386607051ffbb1e4e
BLAKE2b-256 a67d11aa0ed47727c1d7faf0ed55041246bfc3b08bde777ffb0d230c8e7d37a0

See more details on using hashes here.

File details

Details for the file mcp_print-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: mcp_print-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 57.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for mcp_print-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b1675f6b02d72c6d04b977eab2d4bc94d0c55c0578e692bfd2eab5254481b001
MD5 fadd17a0d5798c304fa6b1b75cffbbf3
BLAKE2b-256 320f8c6e2eb8b2018dc1f1d8a721554086850a390144a7176f89fef589d2c5b8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page