MCP server for the InkRelay printing API: list printers, print PDFs, ZPL labels and ESC/POS receipts, and follow print jobs
Inferred from the transports this listing declares (stdio). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.
INKRELAY_API_KEYAPI keyrequiredInkRelay API key from app.inkrelay.app/api-keys. ir_test_ keys print only to free virtual printers.
Declared by the author in the official MCP registry. Forge does not store, broker, or ever see these values — the config below is scaffolded with placeholders you fill in locally.
Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.
Read out of the source npm actually ships, at scan time. The package was never executed. Tools registered dynamically at runtime, or hidden inside bundled or minified code, can be missed — so this is a floor on the tool surface, not a complete census of it.
whoamiReturns the organization, plan, mode (test or live) and current usage behind INKRELAY_API_KEY. Call it first.Returns the organization, plan, mode (test or live) and current usage behind INKRELAY_API_KEY. Call it first.
No input schema was published for this tool.
list_computersLists the computers running the InkRelay agent, with their state (online, offline, disabled), OS and agent version.Lists the computers running the InkRelay agent, with their state (online, offline, disabled), OS and agent version.
No input schema was published for this tool.
list_printersLists printers with id, name, computer, online state, whether they are live (accept jobs) and their default options. Use get_printer for paper sizes, trays and other capabilities.Lists printers with id, name, computer, online state, whether they are live (accept jobs) and their default options. Use get_printer for paper sizes, trays and other capabilities.
No input schema was published for this tool.
get_printerReturns one printer with its capabilities (papers in tenths of a millimetre, bins, dpis, duplex, color, nup), default options and custom paper sizes.Returns one printer with its capabilities (papers in tenths of a millimetre, bins, dpis, duplex, color, nup), default options and custom paper sizes.
No input schema was published for this tool.
update_printerSets a printer's display name, live switch (enabled), default options, custom paper sizes (tenths of a millimetre; replaces the whole list) or remarks. Needs a key with the admin scope.Sets a printer's display name, live switch (enabled), default options, custom paper sizes (tenths of a millimetre; replaces the whole list) or remarks. Needs a key with the admin scope.
No input schema was published for this tool.
print_pdfPrints a PDF on a printer. Pass exactly one of url (public or signed http(s) URL, fetched once), base64, or filePath (a local file, read by this server). Up to 25 MB. With an ir_live_ key this prints on paper and counts toward the plan; with ir_test_ it runs on a virtual printer.Prints a PDF on a printer. Pass exactly one of url (public or signed http(s) URL, fetched once), base64, or filePath (a local file, read by this server). Up to 25 MB. With an ir_live_ key this prints on paper and counts toward the plan; with ir_test_ it runs on a virtual printer.
No input schema was published for this tool.
print_rawSends printer language bytes unchanged to a label or receipt printer, e.g. ZPL (^XA...^XZ) or ESC/POS. Pass exactly one of text (each character U+0000 to U+00FF becomes one byte, so \u001b is ESC), base64, url or filePath. Options do not apply. The OS queue must accept raw data (CUPS raw queue, or…Sends printer language bytes unchanged to a label or receipt printer, e.g. ZPL (^XA...^XZ) or ESC/POS. Pass exactly one of text (each character U+0000 to U+00FF becomes one byte, so \u001b is ESC), base64, url or filePath. Options do not apply. The OS queue must accept raw data (CUPS raw queue, or…
No input schema was published for this tool.
get_print_jobReturns a print job with its state, stateMessage and the time of each state change, plus its full event history.Returns a print job with its state, stateMessage and the time of each state change, plus its full event history.
No input schema was published for this tool.
wait_for_print_jobPolls a print job until it is done, error, cancelled or expired (or the timeout passes) and returns it.Polls a print job until it is done, error, cancelled or expired (or the timeout passes) and returns it.
No input schema was published for this tool.
list_print_jobsLists recent print jobs, newest first, optionally filtered by printer, computer or state.Lists recent print jobs, newest first, optionally filtered by printer, computer or state.
No input schema was published for this tool.
cancel_print_jobCancels a job that is still queued or sent. Once the agent has received it, the API answers 409 not_cancellable.Cancels a job that is still queued or sent. Once the agent has received it, the API answers 409 not_cancellable.
No input schema was published for this tool.
reprint_print_jobPrints the stored file of an earlier job again (files are kept 7 days), on the same printer or another one of the same mode.Prints the stored file of an earlier job again (files are kept 7 days), on the same printer or another one of the same mode.
No input schema was published for this tool.
get_usageReturns the plan, the live prints used and included this billing period, and earlier periods.Returns the plan, the live prints used and included this billing period, and earlier periods.
No input schema was published for this tool.
list_eventsReads the event feed (the same events webhooks deliver). For new events use dir asc with after set to the last nextCursor.Reads the event feed (the same events webhooks deliver). For new events use dir asc with after set to the last nextCursor.
No input schema was published for this tool.
list_webhooksLists the webhook endpoints of this key's mode.Lists the webhook endpoints of this key's mode.
No input schema was published for this tool.
create_webhookCreates an endpoint that receives signed events (Standard Webhooks HMAC). Returns the whsec_ signing secret once: tell the user to store it as INKRELAY_WEBHOOK_SECRET. Live endpoints need https. Needs the admin scope.Creates an endpoint that receives signed events (Standard Webhooks HMAC). Returns the whsec_ signing secret once: tell the user to store it as INKRELAY_WEBHOOK_SECRET. Live endpoints need https. Needs the admin scope.
No input schema was published for this tool.
ping_webhookQueues a signed test delivery with type ping to an endpoint. Needs the admin scope.Queues a signed test delivery with type ping to an endpoint. Needs the admin scope.
No input schema was published for this tool.
17 of 17 tools published a description.
Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.
MCP server for the InkRelay printing API: list printers, print PDFs, ZPL labels and ESC/POS receipts, and follow print jobs
Linked names open Forge’s index of every entry observed exposing that tool. Browse all indexed tools.
The crawl stopped at the depth-4 limit. Anything below that level was never resolved.
The crawl stopped at the 60-package limit. The rest of the tree was never resolved.
36 more resolved packages are not drawn here (display cap: 24). Every dependency carrying an advisory is drawn regardless of the cap. Full inventory (CycloneDX SBOM)
55 declared dependencies never landed in the tree. They are missing from Forge's resolution, not from the package.
+43 more not listed. The counts by reason above cover all of them.
Not followed: peerDependencies. This tree covers runtime dependencies only, so anything those pull in was never resolved.