一个跨平台的打印机AI MCP服务器,支持Windows、macOS和Linux系统,提供打印机管理、状态查询和文件打印功能。
- 🌍 跨平台支持: Windows、macOS、Linux
- 🖨️ 打印机管理: 获取打印机列表、状态查询
- 📄 文件打印: 支持多种文件格式打印
- 🔧 打印机属性: 获取详细打印机配置信息
- 📊 任务管理: 打印任务状态查询和取消
- 🚀 MCP协议: 基于FastMCP构建,支持AI助手集成
- Python 3.10+
- Windows: 建议Windows 10以上
- macOS/Linux: CUPS支持
# 克隆项目
git clone https://github.com/NullYing/printer-ai-mcp.git
cd printer-ai-mcp
# 安装依赖
uv syncpython main.pyget_printer_list() -> dict返回系统中所有可用的打印机列表。
printer_status(index: int = None) -> dict获取指定打印机的状态信息。如果不指定index,则返回默认打印机状态。
printer_attrs(index: int = None) -> dict获取打印机的详细配置属性(仅macOS/Linux支持)。
print_file(index: int = None, file_path: str = None, options: dict = None) -> dict使用指定打印机打印文件。支持自定义打印选项。
所有API都返回统一格式的响应:
{
"code": 200,
"msg": "success",
"data": {
// 具体数据内容
}
}在你的MCP配置文件中添加:
{
"mcpServers": {
"printerAIMcp": {
"url": "http://127.0.0.1:8000/mcp",
"headers": {}
}
}
}printer-ai-mcp/
├── main.py # MCP服务器主文件
├── local_printer/ # 本地打印机模块
│ ├── __init__.py
│ ├── cups.py # macOS/Linux CUPS支持
│ └── windows.py # Windows打印机支持
├── network_printer/ # 网络打印机模块(待开发)
│ └── __init__.py
├── pyproject.toml # 项目配置
└── README.md # 项目说明
我们欢迎社区贡献!您可以通过以下方式帮助我们:
- ⭐ 给项目点星 表示您的支持,帮助其他人发现这个项目
- 🐛 报告Bug 通过提交详细的issue来报告问题
- 💡 建议新功能 或改进,通过GitHub issues提出
- 🔧 提交Pull Request 修复bug或添加新功能
- 📖 改进文档 帮助其他用户更好地理解项目
- 🧪 在不同平台测试 并报告兼容性问题
您的贡献让这个项目变得更好。感谢您的支持!
MIT License