printmcp — macOS printing MCP server: setup and usage
A CUPS wrapper that lets your coding agent list printers, check queues and send print jobs from a chat prompt.
claude mcp add printmcp -- npx -y @aernoud/printmcpWhat printmcp does
printmcp is an MCP server that hands your AI agent the macOS print system. Under the hood it shells out to CUPS tools: lp to submit a job, lpstat to enumerate printers and queues, lpoptions to read or change print settings. Everything runs on your machine. No API keys, no OAuth, no cloud round-trip.
The server starts with npx -y @aernoud/printmcp, so Node.js and npx need to be on your PATH. It belongs to the macos-mcp family but was split into its own package: printing is a shell wrapper rather than an AppleScript bridge. No printer configured in CUPS means the agent has nothing to work with.
Works with Claude, Codex, Cursor, GitHub Copilot, Windsurf, Cline, Zed and Gemini CLI. Each client gets its own add command or JSON config block.
What it helps with
- list printers available on the Mac
- send a document to print from an agent
- check whether a print queue is stuck
- target a specific printer for a job
- change print settings with
lpoptions
Example prompts for the agent
- List the printers on this Mac
- Send
report.pdfto the printer - Check if the print queue is stuck
How to install printmcp
Platform CLI
claude mcp add printmcp -- npx -y @aernoud/printmcpPlatform CLI
codex mcp add printmcp -- npx -y @aernoud/printmcpConfig file
{
"mcpServers": {
"printmcp": {
"command": "npx",
"args": [
"-y",
"@aernoud/printmcp"
]
}
}
}Config file
{
"servers": {
"printmcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@aernoud/printmcp"
]
}
}
}Platform CLI
gemini mcp add printmcp npx -y @aernoud/printmcpStep by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about printmcp
How do I install printmcp in Claude Code?
Run claude mcp add printmcp -- npx -y @aernoud/printmcp. The server is added to your Claude config and starts on the next launch.
What does printmcp do?
It gives an agent access to macOS printing through CUPS: printer discovery, queue status, job submission and print options.
What do I need for printmcp to work?
Node.js with npx, plus at least one printer configured in CUPS on your Mac. No API keys or cloud services are involved.