关于 InkRelay
InkRelay 是通过 InkRelay API 管理打印机的 MCP 服务。它支持打印 PDF 和打印机语言文件、查看打印机及任务状态,以及管理打印机和 Webhook。
主要功能
- 01列出并查看打印机信息
- 02打印 PDF 和原始打印数据
- 03跟踪、等待或取消任务
- 04重新打印已存储的任务
- 05管理 Webhook 和用量
适用场景
- 01按指定选项打印发票 PDF
- 02发送 ZPL 标签或 ESC/POS 收据
- 03排查失败的打印任务
- 04重新打印先前的任务
MCP 相关
它将 InkRelay API 操作作为 MCP 工具提供,用于列出和配置打印机、提交打印任务、跟踪任务状态及管理 Webhook。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y @inkrelay/mcpINKRELAY_API_KEY密钥InkRelay API key from app.inkrelay.app/api-keys. ir_test_ keys print only to free virtual printers.INKRELAY_FILE_ROOTFolder that filePath arguments must stay inside. Defaults to the working directory.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
17收录的工具列表 · 更新于 2 周前
此工具无需参数。
详细介绍
@inkrelay/mcp
适用于 InkRelay 打印 API 的 MCP 服务。它允许 AI 助手列出你的打印机,并在连接到 Windows、macOS 和 Linux 计算机的打印机上打印 PDF、ZPL 标签和 ESC/POS 收据。
适用于 Claude Code、Claude Desktop、Cursor、VS Code(GitHub Copilot)、OpenAI Codex、Windsurf,以及任何通过 stdio 支持 Model Context Protocol 的客户端。
获取密钥
登录 app.inkrelay.app,打开 API keys 并创建一个密钥。先从测试密钥(ir_test_...)开始:它只能访问四台虚拟打印机(Test A4 Laser、Test Letter Color、Test Receipt 80mm、Test Label 4x6),约 3 秒即可完成作业,且不产生费用。实时密钥(ir_live_...)会在纸张上打印。
添加到客户端
Claude Code
claude mcp add-json inkrelay '{"command":"npx","args":["-y","@inkrelay/mcp"],"env":{"INKRELAY_API_KEY":"ir_test_your_key"}}'
Claude Desktop(claude_desktop_config.json)、Cursor(.cursor/mcp.json)和 Windsurf(~/.codeium/windsurf/mcp_config.json)
{
"mcpServers": {
"inkrelay": {
"command": "npx",
"args": ["-y", "@inkrelay/mcp"],
"env": { "INKRELAY_API_KEY": "ir_test_your_key" }
}
}
}
VS Code(.vscode/mcp.json)
{
"inputs": [{ "type": "promptString", "id": "inkrelay-key", "description": "InkRelay API key", "password": true }],
"servers": {
"inkrelay": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@inkrelay/mcp"],
"env": { "INKRELAY_API_KEY": "${input:inkrelay-key}" }
}
}
}
OpenAI Codex(~/.codex/config.toml)
[mcp_servers.inkrelay]
command = "npx"
args = ["-y", "@inkrelay/mcp"]
env = { INKRELAY_API_KEY = "ir_test_your_key" }
文档搜索由独立的托管服务提供,地址为 https://docs.inkrelay.app/mcp(streamable HTTP),例如:
claude mcp add-json inkrelay-docs '{"type":"http","url":"https://docs.inkrelay.app/mcp"}'
工具
| 工具 | 功能 |
|---|---|
whoami | 密钥所属组织、套餐、模式(测试或实时)和用量 |
list_computers | 运行 Agent 的计算机及其状态 |
list_printers | 打印机的 ID、所属计算机、在线状态、实时开关和默认设置 |
get_printer | 功能:纸张、纸盒、DPI、双面打印、彩色打印、n-up |
update_printer | 显示名称、实时开关、默认选项、自定义纸张尺寸(admin scope) |
print_pdf | 从 URL、base64 或本地文件打印 PDF;默认等待最终状态 |
print_raw | 从文本、base64、URL 或本地文件打印 ZPL、ESC/POS 或其他打印机语言字节 |
get_print_job | 作业的状态、消息和完整事件历史 |
wait_for_print_job | 等待作业完成、出错、取消或过期 |
list_print_jobs | 最近的作业,可按打印机、计算机或状态筛选 |
cancel_print_job | 取消仍在队列中或已发送的作业 |
reprint_print_job | 再次打印先前作业中存储的文件 |
get_usage | 本计费周期内已使用和包含的实时打印次数 |
list_events | 事件流(与 Webhook 推送的事件相同) |
list_webhooks、create_webhook、ping_webhook | 管理已签名的 Webhook 端点(admin scope) |
可以试试:“我有哪些打印机?”,“在 A4 激光打印机上双面打印这份发票 PDF,共两份”,“打印一张写着 Order 1042 的 4x6 ZPL 测试标签”,“我上一个作业为什么失败了?”。
配置
| 变量 | 默认值 | 含义 |
|---|---|---|
INKRELAY_API_KEY | 无 | 你的 ir_test_ 或 ir_live_ 密钥。服务可以在没有密钥的情况下启动,并告知模型如何获取密钥 |
INKRELAY_BASE_URL | https://api.inkrelay.app | 代理覆盖地址 |
INKRELAY_FILE_ROOT | 工作目录 | filePath 参数必须位于此文件夹内。当该路径解析为 /、驱动器根目录或主目录(桌面客户端常见情况)时,会禁用文件读取,因此请在此处设置该变量。不会读取隐藏文件和文件夹;print_raw 只读取打印机文件(.zpl、.epl、.prn、.pcl、.ps、.escpos、.raw、.bin、.txt) |
print_pdf、print_raw 和 reprint_print_job 会为每个作业发送一个 Idempotency-Key(使用 idempotencyKey 传入自定义值),因此重试调用不会导致重复打印。作业会携带 source: "inkrelay-mcp"。使用实时密钥时,作业会在纸张上打印,并计入你的套餐用量,因此请在客户端中保持工具审批开启。
将打印功能集成到自己的代码中
此 MCP 服务用于通过助手操作打印机。要将打印功能添加到应用程序中,请使用 SDK:@inkrelay/sdk 和 inkrelay,并为编码 Agent 提供 inkrelay-printing 技能。
文档:https://docs.inkrelay.app/ai
开发
pnpm install
pnpm lint && pnpm typecheck && pnpm test && pnpm build
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。