MCP server for Windows printer management and printing operations. Provides 30 tools for listing printers, printing files/text/images, managing print queues, and controlling printer settings.
Server has 30 well-named tools with consistent verb_noun patterns (list_, get_, print_, cancel_, etc.). All tools have descriptions (avg ~80 chars, within baseline 34-392). Input schemas are present and properly typed with JSON Schema. However, parameter descriptions are sparse or missing context; many lack guidance on constraints, formats, or when to use related tools. Output schemas are not documented, LLMs cannot predict response structure. Error handling is basic (ErrorResult calls) without recovery guidance or categorization. Tool annotations (readOnlyHint) are present on read-only tools, which is good. Composition is sound: tools are single-responsibility, names are clear and distinct. Security checks (printer filtering, path validation) are implemented. Overall: solid foundation with gaps in parameter documentation and output schema clarity.
Add a network printer
Cancel a print job
Get the name of the default printer
Get ink/toner levels for a printer
Get print history for a printer
Get status of a specific print job
Get the current print queue for a printer
Output schemas not documented. LLMs cannot predict response structure (fields, types, nested objects). Responses from list_printers, get_printer_details, get_print_queue, etc. lack documented schemas, forcing LLMs to infer structure and risking parsing errors.
Parameter descriptions are minimal or missing context. Many parameters (e.g., 'printer_name', 'job_id', 'file_path') lack guidance on format, constraints, or valid values. LLMs cannot validate input before calling.
Error handling lacks recovery guidance. ErrorResult() calls return error messages but do not suggest next steps (e.g., 'Printer not found. Try list_printers() to see available printers'). Agents cannot self-correct.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 63 | <=2025-11-25 | v2 |
Get detailed info and capabilities for a printer
Get error status and messages for a printer
Get the status of the print server
List supported paper sizes for a printer
List all installed printers with status, type, and category (photo printers marked as category=photo)
Pause a printer
Print test pages on all available printers
Print a file (PDF, images, text, Office docs)
Print HTML content
Print an image with photo-optimized settings. For best quality, use a photo printer (category=photo from list_printers)
Print Markdown content
Print multiple files in sequence
Print a test page on a specific printer
Print raw text content
Print content from a URL
Clear all jobs from a printer's queue
Remove a printer
Restart a print job
Resume a paused printer
Set the default printer
Set default print settings for a printer
Share a printer on the network
Test connectivity to a printer
No pagination support on list tools. list_printers, get_print_queue, get_print_history lack limit/offset or cursor parameters. Large result sets could exhaust context windows.
Destructive operations (purge_print_queue, remove_printer) lack confirmation or dry-run support. Agents could accidentally delete all print jobs or remove printers without user approval.