InkRelay

io.github.GauravBR由 GitHub 帳號 GauravBR 發布v0.1.1更新於 Nov 1, 2026

Print PDFs, ZPL labels and ESC/POS receipts on your printers and follow print jobs via InkRelay

已驗證STDIO僅桌面效率與工作流檔案與儲存

概覽

AI 產生的概覽

InkRelay MCP 讓助理列出你的印表機,列印 PDF、ZPL 標籤與 ESC/POS 收據,並追蹤與重新列印列印工作。

可以做什麼
  • 查看 API 金鑰所屬組織、方案、模式與用量,並列出電腦與印表機及其狀態與能力
  • 從網址、base64 或本機檔案列印 PDF,以及列印 ZPL、ESC/POS 等印表機語言原始資料
  • 檢視、等待、列出、取消與重新列印列印工作,包含完整事件紀錄
  • 查看計費週期內的用量並讀取事件串流
  • 管理簽章 webhook 端點(管理員權限),並更新印表機名稱、即時開關與預設選項
適用情境
適合希望助理在對話中直接驅動實際列印的情境:把發票或文件依雙面、份數等選項送到指定印表機,產生測試標籤與收據,或排查列印工作失敗的原因。
執行需求
以 stdio 方式在本機執行,通常透過 npx 啟動,因此需要 Node.js。需在 INKRELAY_API_KEY 提供 InkRelay API 金鑰,登入 InkRelay 網頁應用程式後建立;測試金鑰只能到達虛擬印表機。列印本機檔案時需設定 INKRELAY_FILE_ROOT,並需要連線至 InkRelay API 的網路存取。
安裝前請注意
正式金鑰會在紙上列印並計入方案用量,建議保持用戶端工具核准開啟。API 金鑰屬機密,透過 INKRELAY_API_KEY 傳入。相關工具可變更印表機設定、取消工作與建立 webhook。本機檔案讀取僅限 INKRELAY_FILE_ROOT,且當該路徑為磁碟根目錄或使用者主資料夾時會被停用。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 InkRelay,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

@inkrelay/mcp

MCP server for the InkRelay printing API. It lets an AI assistant list your printers and print PDFs, ZPL labels and ESC/POS receipts on printers attached to Windows, macOS and Linux computers.

Works with Claude Code, Claude Desktop, Cursor, VS Code (GitHub Copilot), OpenAI Codex, Windsurf and any client that speaks the Model Context Protocol over stdio.

Get a key

Sign in at app.inkrelay.app, open API keys and create one. Start with a test key (ir_test_...): it only reaches four virtual printers (Test A4 Laser, Test Letter Color, Test Receipt 80mm, Test Label 4x6), finishes jobs in about 3 seconds and costs nothing. A live key (ir_live_...) prints on paper.

Add it to your client

Claude Code

bash
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) and Windsurf (~/.codeium/windsurf/mcp_config.json)

json
{  "mcpServers": {    "inkrelay": {      "command": "npx",      "args": ["-y", "@inkrelay/mcp"],      "env": { "INKRELAY_API_KEY": "ir_test_your_key" }    }  }}

VS Code (.vscode/mcp.json)

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)

toml
[mcp_servers.inkrelay]command = "npx"args = ["-y", "@inkrelay/mcp"]env = { INKRELAY_API_KEY = "ir_test_your_key" }

Docs search is a separate hosted server at https://docs.inkrelay.app/mcp (streamable HTTP), for example:

bash
claude mcp add-json inkrelay-docs '{"type":"http","url":"https://docs.inkrelay.app/mcp"}'

Tools

ToolWhat it does
whoamiOrganization, plan, mode (test or live) and usage of the key
list_computersComputers running the agent and their state
list_printersPrinters with id, computer, online state, live switch and defaults
get_printerCapabilities: papers, trays, dpis, duplex, color, n-up
update_printerDisplay name, live switch, default options, custom paper sizes (admin scope)
print_pdfPrint a PDF from a URL, base64 or a local file; waits for the final state by default
print_rawPrint ZPL, ESC/POS or other printer language bytes from text, base64, a URL or a local file
get_print_jobA job with its state, message and full event history
wait_for_print_jobWait until a job is done, error, cancelled or expired
list_print_jobsRecent jobs, filtered by printer, computer or state
cancel_print_jobCancel a job that is still queued or sent
reprint_print_jobPrint an earlier job's stored file again
get_usageLive prints used and included this billing period
list_eventsThe event feed (the same events webhooks deliver)
list_webhooks, create_webhook, ping_webhookManage signed webhook endpoints (admin scope)

Things to try: "Which printers do I have?", "Print this invoice PDF on the A4 laser, two copies, duplex", "Print a 4x6 ZPL test label that says Order 1042", "Why did my last job fail?".

Configuration

VariableDefaultMeaning
INKRELAY_API_KEYnoneYour ir_test_ or ir_live_ key. The server starts without it and tells the model how to get one
INKRELAY_BASE_URLhttps://api.inkrelay.appOverride for a proxy
INKRELAY_FILE_ROOTthe working directoryFolder that filePath arguments must stay inside. File reads are off when this resolves to /, a drive root or the home folder (common for desktop clients), so set it there. Hidden files and folders are never read, and print_raw reads only printer files (.zpl, .epl, .prn, .pcl, .ps, .escpos, .raw, .bin, .txt)

print_pdf, print_raw and reprint_print_job send an Idempotency-Key on every job (pass your own with idempotencyKey), so a retried call never prints twice. Jobs carry source: "inkrelay-mcp". With a live key, jobs print on paper and count toward your plan, so keep tool approval on in your client.

Building printing into your own code

The MCP server is for operating printers from an assistant. To add printing to an application, use the SDKs, @inkrelay/sdk and inkrelay, and give your coding agent the inkrelay-printing skill.

Docs: https://docs.inkrelay.app/ai

Development

bash
pnpm installpnpm lint && pnpm typecheck && pnpm test && pnpm build

License

MIT

來源:mcp/README.md,提交 94633e6

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.1最新Oct 18, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分