Provides printing capabilities on Linux systems through the CUPS printing system, enabling file printing, printer management, and print queue control.
Provides printing capabilities on macOS systems through the built-in CUPS printing system, enabling file printing, printer management, and print queue control.
MCP Printer Server šØļø
The first MCP server for printing documents on macOS/Linux! Provides AI assistants with the ability to print files, manage print queues, and control printers via the CUPS printing system.
Features
š Print files - PDF, text, and other formats
šØļø List printers - See all available printers and their status
š Manage queue - View and cancel print jobs
āļø Configure - Set default printers
šÆ Smart - Supports multiple copies, landscape, duplex, and more
Installation
Option 1: Package Manager (Recommended)
Option 2: From Source
Configuration
Add to your MCP settings file:
Claude Desktop: ~/Library/Application Support/Claude/claude_desktop_config.json
Cursor: Settings ā Features ā MCP Servers ā Edit Config
If installed globally (recommended):
If running from source:
Configuration Options
Configure via environment variables (all optional):
MCP_PRINTER_DEFAULT: Default printer to use when none specifiedMCP_PRINTER_DUPLEX: Set to"true"to print double-sided by defaultMCP_PRINTER_OPTIONS: Additional CUPS options (e.g.,"fit-to-page","landscape")
Example with all options:
š” Tip: Run lpstat -p in your terminal to see your exact printer names.
User-specified options in prompts always override these defaults.
Available Tools
list_printers
List all available printers with their status.
Example:
print_file
Print a file to a specified printer.
Parameters:
file_path(required) - Full path to fileprinter(optional) - Printer namecopies(optional) - Number of copies (default: 1)options(optional) - CUPS options likelandscape,sides=two-sided-long-edge
Example:
get_print_queue
Check the print queue for pending jobs.
Parameters:
printer(optional) - Specific printer to check
Example:
cancel_print_job
Cancel a print job.
Parameters:
job_id(optional) - Specific job to cancelprinter(optional) - Printer namecancel_all(optional) - Cancel all jobs for printer
Example:
get_default_printer
Get the current default printer.
Example:
set_default_printer
Set a printer as the default.
Parameters:
printer(required) - Printer name
Example:
Usage Examples
Print Documentation
Print with Options
Manage Queue
Supported File Types
The server uses CUPS, which supports:
ā PDF
ā Plain text
ā PostScript
ā Images (JPEG, PNG via conversion)
ā ļø Office docs (may need conversion to PDF first)
CUPS Options
Common options you can pass via the options parameter:
landscape- Print in landscape orientationsides=two-sided-long-edge- Double-sided (long edge)sides=two-sided-short-edge- Double-sided (short edge)page-ranges=1-5- Print specific pagesmedia=Letterormedia=A4- Paper sizefit-to-page- Scale to fit page
Troubleshooting
"Printer not found"
Run lpstat -p in terminal to see exact printer names. They often have underscores instead of spaces.
"Permission denied"
Ensure CUPS is running: sudo cupsctl
"File format not supported"
Convert to PDF first: cupsfilter -i application/pdf -o output.pdf input.docx
Server not showing in Cursor
Restart Cursor after updating MCP config
Check Developer Tools ā Console for errors
Verify the path to
dist/index.jsis correct
Development
Requirements
macOS or Linux - Uses CUPS printing system
macOS: CUPS is built-in
Linux: Install CUPS if not present (
sudo apt install cupson Ubuntu/Debian)
Node.js 18+
Printers configured in your system
Security Note
This server executes system print commands. Only use with trusted AI assistants in secure environments.
License
MIT
Contributing
This is the first MCP printer server! Contributions welcome:
Windows support (using Windows Print Spooler)
More print options
Better error handling
Testing on various Linux distributions
You're now the first person with an AI that can print! ššØļø
local-only server
The server can only run on the client's local machine because it depends on local resources.
Enables AI assistants to print documents, manage print queues, and control printers on macOS/Linux systems via the CUPS printing system. Supports printing PDFs, text files, and other formats with options like duplex printing, landscape orientation, and multiple copies.