Printer AI MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Printer AI MCPPrint the file at /home/user/report.pdf"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Printer AI MCP
A cross-platform printer AI MCP server that supports Windows, macOS, and Linux systems, providing printer management, status queries, and file printing capabilities.
Features
π Cross-platform Support: Windows, macOS, Linux
π¨οΈ Printer Management: Get printer list, status queries
π File Printing: Support multiple file format printing
π§ Printer Attributes: Get detailed printer configuration information
π Task Management: Print job status queries and cancellation
π MCP Protocol: Built on FastMCP, supports AI assistant integration
Related MCP server: MCPOSprint
System Requirements
Python 3.10+
Windows: Recommended Windows 10 or above
macOS/Linux: CUPS support
Installation
Using uv Installation
# Clone the project
git clone https://github.com/NullYing/printer-ai-mcp.git
cd printer-ai-mcp
# Install dependencies
uv syncUsing Docker
docker compose up -dUsage
Start MCP Server
python main.pyAvailable MCP Tools
1. Get Printer List
get_printer_list() -> dictReturns a list of all available printers in the system.
2. Get Printer Status
printer_status(index: int = None) -> dictGets the status information of the specified printer. If no index is specified, returns the default printer status.
3. Get Printer Attributes
printer_attrs(index: int = None) -> dictGets detailed configuration attributes of the printer (macOS/Linux only).
4. Print File
print_file(index: int = None, file_path: str = None, options: dict = None) -> dictPrints files using the specified printer. Supports custom print options.
Parameters:
index: Printer index (1-based). IfNone, uses the default printerfile_path: Path to the file to printoptions: Print options dict (optional), format differs by platform:
Windows uses Device Mode (DEVMODE) parameters with dm prefix:
{
"dmCopies": 2,
"dmOrientation": 1,
"dmColor": 2,
"dmPaperSize": 9,
"dmDuplex": 1,
"dmDefaultSource": 7,
"dmMediaType": 0,
"dmPrintQuality": -4,
"dmCollate": 1
}Option | Type | Description |
| int | Number of copies |
| int |
|
| int |
|
| int | Paper size constant ( |
| int |
|
| int | Paper source / bin |
| int | Media type |
| int | Print quality ( |
| int |
|
Linux and macOS use CUPS with IPP standard options:
{
"copies": "2",
"media": "A4",
"orientation_requested": "3",
"print_color_mode": "color",
"sides": "one-sided",
"print_quality": "4",
"page_ranges": "1-5,10-15",
"number_up": "1"
}Option | Type | Description |
| str | Number of copies |
| str | Paper size (e.g., |
| str |
|
| str |
|
| str |
|
| str |
|
| str | Page ranges (e.g., |
| str | Pages per sheet |
API Response Format
All APIs return responses in a unified format:
{
"code": 200,
"msg": "success",
"data": {
// Specific data content
}
}Configuration
MCP Configuration Example
Add to your MCP configuration file:
{
"mcpServers": {
"printerAIMcp": {
"url": "http://127.0.0.1:8000/mcp",
"headers": {}
}
}
}Development
Project Structure
printer-ai-mcp/
βββ main.py # MCP server main file
βββ local_printer/ # Local printer module
β βββ __init__.py
β βββ cups.py # macOS/Linux CUPS support
β βββ windows.py # Windows printer support
βββ network_printer/ # Network printer module (to be developed)
β βββ __init__.py
βββ Dockerfile # Docker image build file
βββ docker-compose.yml # Docker Compose deployment config
βββ pyproject.toml # Project configuration
βββ README.md # Project documentationContributing
We welcome contributions from the community! Here are several ways you can help:
β Star this repository to show your support and help others discover this project
π Report bugs by opening an issue with detailed information about the problem
π‘ Suggest new features or improvements through GitHub issues
π§ Submit pull requests to fix bugs or add new functionality
π Improve documentation to help other users understand the project better
π§ͺ Test on different platforms and report compatibility issues
Your contributions help make this project better for everyone. Thank you for your support!
License
MIT License
See Also
Printer AI Skills
If you prefer a CLI + AI Skill approach instead of running an MCP server, check out printer-ai-skills. It provides a standalone printer-ai CLI tool that AI assistants (OpenClaw / Cursor / Claude) can drive directly through SKILL.md β no server process needed. Same cross-platform printing capabilities, lighter deployment.
Related Links
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/NullYing/Printer-AI-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server