Printdash
REMOTE · API.PRINTDASH.IO
Online printing for Australia: products, exact prices, quotes, artwork checks and orders.
Available components
Last scanned (19 hours ago)
Scores higher than 55% of remote servers
Reachable. Last reached 4 Nov 2026.
Category E-commerce
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security63
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (set_context). See how to fix → View diagnostics → Fail
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability81
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 9225 tokens (~124/item across 74 items; 58 tools + 16 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management20
- Stability observed for 6 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage93
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 75% of tool parameters carry a description.Partial
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 6 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 60 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
- Supports UI / widget rendering.Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Nov 26 +1
- The server rewrote its instructions, which are the text every model session reads security
- Tool “get_mockup” rewrote its description, which is the text the model reads security
- First check of Capabilities: pass functional
- New resource “Printdash card” functional
- 2 Nov 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “get_artwork_guide” rewrote its description, which is the text the model reads security
- Tool “get_artwork_requirements” rewrote its description, which is the text the model reads security
- “get_artwork_requirements” reworded the description of “configuration” cosmetic
- 1 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.
- 30 Oct 26 +1
- Stability: unverified → 0.03 ▲ functional
- 29 Oct 26 67
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 4 Nov 2026 · Probed https://api.printdash.io/functions/v1/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=api.printdash.io | CN=WE1,O=Google Trust Services,C=US | 29 Oct 2026 | 27 Jan 2027 | ECDSA 256 | ECDSA-SHA256 | a6a3e7e70812d58c0e4c7288dc32f26e |
| SANs: api.printdash.io | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of api.printdash.io. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| io. | present | 38690 | 8 | Verified |
| printdash.io. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains; preload |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://api.printdash.io/functions/v1/mcp | Verified | 200 | |
| http (plaintext) | http://api.printdash.io/functions/v1/mcp | HTTPS enforced | 301 | https://api.printdash.io/functions/v1/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
add_to_cart Add a job to the cart ~171
Prices one job with Printdash's pricing engine (product id and a configuration of option ids, as price_job takes them) and puts it in the cart exactly as the product page's Add to cart does. If the job cannot be priced, nothing is added and the result says what is missing or the nearest combinations. Nothing is ordered or charged: checkout on printdash.io re-prices, takes artwork and payment. Printdash prints in Australia and delivers within Australia only; prices are in AUD and include GST. Needs a signed-in Printdash account: called without one, the connection asks the customer to sign in on printdash.io.
| Name | Type | Req | Description |
|---|---|---|---|
| configuration | object | yes | The job, as option ids from get_product. Everything optional: the result says what is missing. |
| product_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| added | boolean | yes | – |
| cart | object | – | – |
| currency | string | yes | – |
| errors | array | – | – |
| line_id | string | – | – |
| missing | array | – | – |
| nearest | array | – | – |
| next | string | yes | – |
| price | object | – | – |
| priced | boolean | – | – |
| prices_include_gst | boolean | yes | – |
| product | string | yes | – |
| product_id | string | yes | – |
| reason | string | – | – |
| service_area | string | yes | – |
| turnaround | string|null | – | – |
No examples provided.
approve_order Approve a Team order (asks first) ~125
For a Team owner: prepares approving one held order (from list_pending_approvals) and returns the summary to show the customer and a confirmation_token. Nothing is decided until confirm is called after they agree. Approving an on-account order sends it to production; approving a card order makes it payable by any member. A member who is not an owner cannot approve. Needs a signed-in Printdash account: called without one, the connection asks the customer to sign in on printdash.io.
| Name | Type | Req | Description |
|---|---|---|---|
| order | string | yes | The order number (or the order id from its link). |
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| confirmation_required | boolean | yes | – |
| confirmation_token | string | yes | – |
| details | object | yes | – |
| expires_at | string | yes | – |
| next | string | yes | – |
| summary | string | yes | Show this to the customer exactly as written before confirming. |
No examples provided.
attach_artwork Attach an uploaded file to a line ~133
After the file has been PUT to request_artwork_upload's upload_url: puts it on the line (in the design and side chosen then, replacing a file already in that slot), makes the page 1 and page 2 previews, runs Printdash's file checks, and returns the preview as an image with the checks' notices. The notices are the ones checkout shows; none of them blocks an order. Needs a signed-in Printdash account: called without one, the connection asks the customer to sign in on printdash.io.
| Name | Type | Req | Description |
|---|---|---|---|
| upload_id | string | yes | The upload_id request_artwork_upload returned. |
| Name | Type | Req | Description |
|---|---|---|---|
| attached | boolean | yes | – |
| checks | object | yes | – |
| complete | number | yes | Designs with every face they need. |
| design | number | yes | – |
| designs | array | yes | Which file and page is each design's front and back, as the site resolves them. |
| file | object | yes | – |
| files | array | yes | – |
| next | string | yes | – |
| order_item_status | object | – | – |
| preview | object | yes | – |
| replaced | array | yes | – |
| side | string | yes | – |
| target | object | yes | – |
| total | number | yes | – |
| uploader_url | string | yes | – |
No examples provided.
attach_artwork_from_url Attach artwork from a link ~263
Fetches the file at an https link (a Canva, Figma or design tool export, Dropbox or Drive download link, a signed storage URL) up to 700 MB and attaches it like attach_artwork: target (cart_line, quote_line or order_item with its id, design, side), url, and file_name when the link's own name has no extension. A link that opens a web page instead of the file is refused, and so is a file whose contents do not match its extension. For a Canva export, name it canva-<designId>.pdf with the Canva design id: Printdash recognises Canva files by that name (they arrive at finished size by design, so the bleed notice is dropped and the studio checks bleed). Needs a signed-in Printdash account: called without one, the connection asks the customer to sign in on printdash.io.
| Name | Type | Req | Description |
|---|---|---|---|
| file_name | string | – | The name to store it under, with its extension, when the link's own name has none. For a Canva export: canva-<designId>.pdf. |
| target | object | yes | Where the artwork goes. |
| url | string | yes | An https link that downloads the file itself (not a page showing it). |
| Name | Type | Req | Description |
|---|---|---|---|
| attached | boolean | yes | – |
| checks | object | yes | – |
| complete | number | yes | Designs with every face they need. |
| design | number | yes | – |
| designs | array | yes | Which file and page is each design's front and back, as the site resolves them. |
| file | object | yes | – |
| files | array | yes | – |
| next | string | yes | – |
| order_item_status | object | – | – |
| preview | object | yes | – |
| replaced | array | yes | – |
| side | string | yes | – |
| target | object | yes | – |
| total | number | yes | – |
| uploader_url | string | yes | – |
No examples provided.
attach_artwork_inline Attach a small file sent inline ~149
For programmatic clients only: attaches a file sent as base64 in data_base64, up to 10 MB, like attach_artwork (target, file_name with its extension). Never paste a file a customer dropped into a chat here; use attach_artwork_from_url or get_artwork_uploader_link. Needs a signed-in Printdash account: called without one, the connection asks the customer to sign in on printdash.io.
| Name | Type | Req | Description |
|---|---|---|---|
| data_base64 | string | yes | The file's bytes, base64-encoded, up to 10 MB decoded. |
| file_name | string | yes | The file's name with its extension. |
| target | object | yes | Where the artwork goes. |
| Name | Type | Req | Description |
|---|---|---|---|
| attached | boolean | yes | – |
| checks | object | yes | – |
| complete | number | yes | Designs with every face they need. |
| design | number | yes | – |
| designs | array | yes | Which file and page is each design's front and back, as the site resolves them. |
| file | object | yes | – |
| files | array | yes | – |
| next | string | yes | – |
| order_item_status | object | – | – |
| preview | object | yes | – |
| replaced | array | yes | – |
| side | string | yes | – |
| target | object | yes | – |
| total | number | yes | – |
| uploader_url | string | yes | – |
No examples provided.
cancel_order Cancel an order (asks first) ~107
Prepares cancelling one order: returns the summary to show the customer and a confirmation_token. Nothing is cancelled until confirm is called with it after the customer agrees. Only an unpaid order that is not in production can be cancelled, as on the order page; otherwise it says so. Needs a signed-in Printdash account: called without one, the connection asks the customer to sign in on printdash.io.
| Name | Type | Req | Description |
|---|---|---|---|
| order | string | yes | The order number (or the order id from its link). |
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| confirmation_required | boolean | yes | – |
| confirmation_token | string | yes | – |
| details | object | yes | – |
| expires_at | string | yes | – |
| next | string | yes | – |
| summary | string | yes | Show this to the customer exactly as written before confirming. |
No examples provided.
cancel_quote_request Cancel a custom quote request ~64
Cancels a custom quote request that is still pending review. Needs a signed-in Printdash account: called without one, the connection asks the customer to sign in on printdash.io.
| Name | Type | Req | Description |
|---|---|---|---|
| request | string | yes | The request number (or the request id from its link). |
| Name | Type | Req | Description |
|---|---|---|---|
| cancellable | boolean | yes | – |
| cancelled | boolean | yes | – |
| created | string | yes | – |
| description | string | yes | – |
| kind | string | yes | – |
| next | string | yes | – |
| quantities | array | yes | – |
| quote_number | string|null | yes | – |
| request_number | string | yes | – |
| status | string | yes | – |
| status_label | string | yes | – |
| url | string | yes | – |
No examples provided.
check_artwork Check a line's artwork ~139
Runs Printdash's file checks on a line's artwork, the same ones the product page and checkout show: page size against the ordered size, pages against sides or booklet pages, ink to the edge for bleed, spot finish and cut line layers found, missing or misnamed, finishes knocked out, template guides left in. Each notice comes with a guide link; anything the check could not measure says nothing. Returns the preview as an image. Never blocks an order. Needs a signed-in Printdash account: called without one, the connection asks the customer to sign in on printdash.io.
| Name | Type | Req | Description |
|---|---|---|---|
| target | object | yes | Where the artwork goes. |
| Name | Type | Req | Description |
|---|---|---|---|
| complete | number | yes | Designs with every face they need. |
| designs | array | yes | Which file and page is each design's front and back, as the site resolves them. |
| files | array | yes | – |
| measured | – | yes | – |
| next | string | yes | – |
| notices | array | yes | – |
| preview_url | string|null | yes | – |
| spot_scan | string | yes | – |
| status | string | yes | partial: some checks were still running; call again. |
| target | object | yes | – |
| total | number | yes | – |
No examples provided.
clear_cart Empty the cart ~65
Removes every line from the cart in the current buying context. Saved quotes are not affected. Ask the customer before emptying a cart they did not just fill. Needs a signed-in Printdash account: called without one, the connection asks the customer to sign in on printdash.io.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| cleared | boolean | yes | – |
| next | string | yes | – |
| removed_lines | number | yes | – |
No examples provided.
confirm Confirm a prepared action ~165
Carries out an action prepared by delete_address, delete_quote, email_quote, request_custom_quote, send_invite, prepare_checkout (placing the order), cancel_order, request_reorder, approve_order or reject_order, after the customer has seen its summary and said yes. Pass its confirmation_token and a new UUID as idempotency_key; retrying with the same key returns the first outcome and never acts twice. Never call it without the customer's agreement. Needs a signed-in Printdash account: called without one, the connection asks the customer to sign in on printdash.io.
| Name | Type | Req | Description |
|---|---|---|---|
| confirmation_token | string | yes | The confirmation_token a prepare tool returned. |
| idempotency_key | string | yes | A UUID you generate for this confirmation; reuse it only to retry the same one. |
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| confirmed | boolean | yes | – |
| replayed | boolean | yes | – |
No examples provided.
convert_quote_to_order Put a quote in the cart to order it ~122
Puts a saved quote's lines in the cart, as the quote page's Convert to order does, and returns the checkout link. No order is placed: the customer chooses delivery and pays (or orders on account) at checkout on printdash.io. Only the quote's owner can, and every line needs artwork unless Printdash priced it. Needs a signed-in Printdash account: called without one, the connection asks the customer to sign in on printdash.io.
| Name | Type | Req | Description |
|---|---|---|---|
| quote | string | yes | The quote number (or the quote id from its link). |
| Name | Type | Req | Description |
|---|---|---|---|
| added_lines | number | yes | – |
| checkout_url | string | yes | – |
| currency | string | yes | – |
| next | string | yes | – |
| prices_include_gst | boolean | yes | – |
| quote_number | string | yes | – |
| replaced_lines | number | yes | – |
| service_area | string | yes | – |
No examples provided.
create_address Save a delivery address ~205
Saves an Australian delivery address to the address book in the current buying context (names, street, suburb, state code, four-digit postcode, optional company, mobile and type), optionally as the default. Collect it from the customer; never invent one. Needs a signed-in Printdash account: called without one, the connection asks the customer to sign in on printdash.io.
| Name | Type | Req | Description |
|---|---|---|---|
| address_line1 | string | yes | Street address. |
| address_line2 | string | – | – |
| city | string | yes | Suburb or town. |
| company_name | string | – | – |
| first_name | string | yes | – |
| last_name | string | yes | – |
| mobile | string | – | – |
| postal_code | string | yes | Four-digit Australian postcode. |
| set_as_default | boolean | – | Make it the default address for this buying context. |
| state | string | yes | NSW, VIC, QLD, SA, WA, TAS, NT or ACT. |
| type | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| address | object | yes | – |
| next | string | yes | – |
| saved | boolean | yes | – |
No examples provided.
create_quote Save a quote ~231
Saves a new quote with a quote number from up to 20 jobs (each a product id and configuration, priced by the engine first), with an optional saved address for delivery, pickup where the account has it, an order reference and notes. Prices are locked for 30 days. It is the customer's saved quote, ready to share with a client (share_quote, email_quote) or convert to an order. If a job cannot be priced, nothing is saved. Printdash prints in Australia and delivers within Australia only; prices are in AUD and include GST. Needs a signed-in Printdash account: called without one, the connection asks the customer to sign in on printdash.io.
| Name | Type | Req | Description |
|---|---|---|---|
| address_id | string | – | A saved address id for delivery (list_addresses). Omit to choose at checkout. |
| fulfilment | string | – | pickup only where the account has pickup (estimate_delivery says pickup_available). |
| lines | array | yes | The jobs, each priced by the engine before anything is saved. |
| notes | string | – | – |
| reference | string | – | The customer's order reference or job name. |
| Name | Type | Req | Description |
|---|---|---|---|
| currency | string | yes | – |
| errors | array | – | – |
| expires | string|null | – | – |
| line_index | number | – | – |
| lines | array | – | – |
| missing | array | – | – |
| nearest | array | – | – |
| next | string | yes | – |
| pickup | boolean | – | – |
| priced | boolean | – | – |
| prices_include_gst | boolean | yes | – |
| product | string | – | – |
| product_id | string | – | – |
| quote_number | string | – | – |
| reason | string | – | – |
| reference | string|null | – | – |
| saved | boolean | yes | – |
| service_area | string | yes | – |
| share_url | string|null | – | – |
| shipping_ex_gst | number|null | – | – |
| status | string | – | – |
| status_label | string | – | – |
| subtotal_inc_gst | number | – | – |
| total_inc_gst | number | – | The quote page's Total, inc GST: subtotal_inc_gst (the lines) plus delivery (shipping_ex_gst) and its GST. |
| url | string | – | – |
No examples provided.
delete_address Delete a saved address (asks first) ~132
Prepares deleting one saved address: returns the summary to show the customer and a confirmation_token. Nothing is deleted until confirm is called with it after the customer agrees. An address an order or quote was made with leaves the address book but stays on those orders and quotes, as on printdash.io. The only saved address cannot be deleted: add the new one with create_address first. When the default is deleted, the newest other address becomes the default. Needs a signed-in Printdash account: called without one, the connection asks the customer to sign in on printdash.io.
| Name | Type | Req | Description |
|---|---|---|---|
| address_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| confirmation_required | boolean | yes | – |
| confirmation_token | string | yes | – |
| details | object | yes | – |
| expires_at | string | yes | – |
| next | string | yes | – |
| summary | string | yes | Show this to the customer exactly as written before confirming. |
No examples provided.
delete_quote Delete a saved quote (asks first) ~94
Prepares deleting a saved quote for good: returns the summary to show the customer and a confirmation_token. Nothing is deleted until confirm is called with it after the customer agrees. Accepted and ordered quotes cannot be deleted. Needs a signed-in Printdash account: called without one, the connection asks the customer to sign in on printdash.io.
| Name | Type | Req | Description |
|---|---|---|---|
| quote | string | yes | The quote number (or the quote id from its link). |
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| confirmation_required | boolean | yes | – |
| confirmation_token | string | yes | – |
| details | object | yes | – |
| expires_at | string | yes | – |
| next | string | yes | – |
| summary | string | yes | Show this to the customer exactly as written before confirming. |
No examples provided.
duplicate_quote Copy a saved quote ~83
Saves a copy of a quote as a new quote with its own number, every line re-priced today (artwork is not copied). The original is unchanged. Needs a signed-in Printdash account: called without one, the connection asks the customer to sign in on printdash.io.
| Name | Type | Req | Description |
|---|---|---|---|
| quote | string | yes | The quote number (or the quote id from its link). |
| Name | Type | Req | Description |
|---|---|---|---|
| copied_from | string | – | – |
| currency | string | yes | – |
| errors | array | – | – |
| expires | string|null | – | – |
| line_index | number | – | – |
| lines | array | – | – |
| missing | array | – | – |
| nearest | array | – | – |
| next | string | yes | – |
| pickup | boolean | – | – |
| priced | boolean | – | – |
| prices_include_gst | boolean | yes | – |
| product | string | – | – |
| product_id | string | – | – |
| quote_number | string | – | – |
| reason | string | – | – |
| reference | string|null | – | – |
| saved | boolean | yes | – |
| service_area | string | yes | – |
| share_url | string|null | – | – |
| shipping_ex_gst | number|null | – | – |
| status | string | – | – |
| status_label | string | – | – |
| subtotal_inc_gst | number | – | – |
| total_inc_gst | number | – | The quote page's Total, inc GST: subtotal_inc_gst (the lines) plus delivery (shipping_ex_gst) and its GST. |
| url | string | – | – |
No examples provided.
email_quote Email a quote to someone (asks first) ~150
Prepares emailing a saved quote's public link to someone (usually the customer's client): returns the summary to show the customer and a confirmation_token. Nothing is sent until confirm is called with it after the customer agrees. Needs a signed-in Printdash account: called without one, the connection asks the customer to sign in on printdash.io.
| Name | Type | Req | Description |
|---|---|---|---|
| include_branding | boolean | – | Show the customer's own branding on the public page (default true). |
| quote | string | yes | The quote number (or the quote id from its link). |
| recipient_business | string | – | – |
| recipient_email | string | yes | Who to send it to (not the customer's own address). |
| recipient_name | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| confirmation_required | boolean | yes | – |
| confirmation_token | string | yes | – |
| details | object | yes | – |
| expires_at | string | yes | – |
| next | string | yes | – |
| summary | string | yes | Show this to the customer exactly as written before confirming. |
No examples provided.
estimate_delivery Estimate delivery within Australia ~144
Whether Printdash delivers to an Australian postcode (or, signed in, a saved address) and, given the jobs being ordered, the delivery fee and the delivered total, priced the way checkout prices it. Australian postcodes only: anywhere else is refused, because Printdash delivers within Australia only. Prices in AUD; totals include GST.
| Name | Type | Req | Description |
|---|---|---|---|
| address_id | string | – | Signed in: a saved address id from list_addresses, instead of a postcode. |
| jobs | array | – | The jobs being ordered together; the fee depends on the order's value. |
| postcode | string | – | An Australian postcode (four digits) for the delivered price. Printdash delivers within Australia only. |
| Name | Type | Req | Description |
|---|---|---|---|
| currency | string | yes | – |
| deliverable | boolean | yes | – |
| delivery_unavailable | boolean | – | – |
| destination | object | – | – |
| gst | number|null | – | – |
| job_refused | object | – | – |
| lines | array | – | – |
| message | string | – | – |
| next | string | – | – |
| pickup_available | boolean | – | – |
| prices_include_gst | boolean | yes | – |
| reason | string | – | – |
| service_area | string | yes | – |
| shipping_ex_gst | number|null | – | – |
| shipping_label | string|null | – | – |
| subtotal_ex_gst | number|null | – | – |
| total_inc_gst | number|null | – | – |
No examples provided.
get_account Get the signed-in account ~115
Who the signed-in customer is: name, company, pricing tier and its discount in percent (discount_percent 5 means 5% off, already in every price the pricing tools return), whether they are buying personally or as a Team (and their role), the Teams they can switch to, whether the Team orders on account, and what the account is still missing (a delivery address, a phone number). Needs a signed-in Printdash account: called without one, the connection asks the customer to sign in on printdash.io.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| active_context | object | yes | – |
| buying_as | string | yes | – |
| company | string|null | yes | – |
| contexts | array | yes | – |
| discount_percent | number | yes | Percent off the retail price: 5 means 5% off. Prices from the pricing tools already include it. |
| string|null | yes | – | |
| missing | array | yes | – |
| name | string|null | yes | – |
| next | string | yes | – |
| on_account | boolean | yes | – |
| orders_need_owner_approval | boolean | yes | – |
| po_required | boolean | – | – |
| saved_addresses | number | yes | – |
| terms | string | – | – |
| tier | string | yes | – |
No examples provided.
get_artwork_guide Get a Printdash artwork guide ~256
Printdash's artwork setup guides as Markdown (bleed and safe zone, print-ready PDFs, colour, double-sided, cut lines, spot finishes, lamination, stocks, white ink, booklets, folding, wide format, Illustrator and InDesign export). Without a topic, the list. With a product (and its configuration), what that product's page says on the topic, sized for the job. The bleed, cut-line and booklet topics include Printdash's own diagram as an image: show that one, not a diagram from elsewhere. Answer file-setup questions from these tools, never from general knowledge: Printdash's bleed differs from the 3 mm many printers use.
| Name | Type | Req | Description |
|---|---|---|---|
| configuration | object | – | The job, to size the product's lead (page size with bleed, pages, plate names). |
| product_id | string | – | A product, for what its page says on the topic. |
| topic | string | – | A guide id (bleed, pdf-export, colour, double-sided, dieline, spot-finishes, lamination, stock-finishes, white-ink, booklets, folding, wide-format, export-illustrator, export-indesign). Omit for the… |
| Name | Type | Req | Description |
|---|---|---|---|
| diagrams | array | – | – |
| for_this_product | string | – | – |
| guide | string | – | – |
| guides | array | – | – |
| hidden_for_this_product | boolean | – | – |
| id | string | – | – |
| next | string | yes | – |
| on_this_products_card | boolean | – | – |
| product | string | – | – |
| product_id | string | – | – |
| studio_note | string | – | – |
| summary | string | – | – |
| title | string | – | – |
| url | string | – | – |
No examples provided.
get_artwork_requirements Get the artwork requirements for a job ~250
What a print-ready file must be for a product and configuration: finished size, bleed, safe zone, the PDF page size including bleed, pages or sides expected, the spot plate names a spot finish needs, the cut line rule, resolution, accepted file types and the size limit. The same rules the product page's guide card uses. File-setup facts must come from this tool, never from general knowledge: Printdash's bleed differs from the 3 mm many printers use (5 mm on most products). The size comes from the configuration, so build it with match_options first ("A5" is a size id); without one, or without a size, the answer is for the product page's default job (assumed_configuration) and lists size_options to ask the customer from. The answer includes Printdash's own diagram as an image: show that one.
| Name | Type | Req | Description |
|---|---|---|---|
| configuration | object | – | The job, as for price_job (match_options builds it); its size sets the page size. Without one, or without a size, the answer is for the product page's default job (assumed_configuration), with size_o… |
| product_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| accepted_file_types | array | yes | – |
| assumed_configuration | object | – | – |
| bleed_mm | number | yes | – |
| booklet | boolean | yes | – |
| colour | string | yes | – |
| configuration_missing | array | – | – |
| configuration_problems | array | – | – |
| cut_style | – | yes | – |
| cut_to_shape | boolean | yes | – |
| diagrams | array | yes | – |
| dieline_rule | string|null | yes | – |
| finished_size_mm | – | yes | – |
| for_configuration | boolean | yes | – |
| for_this_product | object | yes | – |
| guides | array | yes | – |
| max_file_mb | number | yes | – |
| next | string | yes | – |
| pages_expected | number|null | yes | – |
| pdf_page_size_mm | – | yes | – |
| preferred_file_type | string | yes | – |
| product | string | yes | – |
| product_id | string | yes | – |
| resolution_dpi | number | yes | – |
| safe_zone_mm | number | yes | – |
| sides | number|null | yes | – |
| size_options | array | yes | – |
| spot_plate_rule | string|null | yes | – |
| spot_plates | array | yes | – |
| studio_note | string | – | – |
No examples provided.
get_artwork_uploader_link Get the site's uploader for a line ~125
The printdash.io page whose own uploader takes artwork for this line: checkout for a cart line, the quote page for a saved quote's line, the order page for an order job. It opens signed in in the browser the customer connected with. Use it when the customer has the file but the chat cannot send it. Refused when the line's artwork can no longer change. Needs a signed-in Printdash account: called without one, the connection asks the customer to sign in on printdash.io.
| Name | Type | Req | Description |
|---|---|---|---|
| target | object | yes | Where the artwork goes. |
| Name | Type | Req | Description |
|---|---|---|---|
| next | string | yes | – |
| target | object | yes | – |
| url | string | yes | – |
| where | string | yes | – |
No examples provided.
get_cart Get the cart ~70
The cart in the current buying context: each line with its line_id, job summary, price inc GST and whether it has artwork, the total before delivery, and the checkout link. Needs a signed-in Printdash account: called without one, the connection asks the customer to sign in on printdash.io.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| checkout_url | string | yes | – |
| currency | string | yes | – |
| lines | array | yes | – |
| next | string | yes | – |
| prices_include_gst | boolean | yes | – |
| service_area | string | yes | – |
| total_inc_gst | number | yes | – |
No examples provided.
get_invoice Get an order's invoice ~103
The tax invoice for one order as a PDF attached to the result, once the order is invoiced (paid, or on a Team's account once approved). Otherwise it says plainly that there is no invoice yet. The order page link has Download invoice too. Needs a signed-in Printdash account: called without one, the connection asks the customer to sign in on printdash.io.
| Name | Type | Req | Description |
|---|---|---|---|
| order | string | yes | The order number (or the order id from its link). |
| Name | Type | Req | Description |
|---|---|---|---|
| attached | boolean | – | – |
| bytes | number | – | – |
| file_name | string | – | – |
| invoice_available | boolean | yes | – |
| next | string | yes | – |
| order_number | string | yes | – |
| reason | string | – | – |
| url | string | yes | – |
No examples provided.
get_mockup Show the 3D mockup ~201
The 3D mockup of a line's artwork on the product, as an image, and view_url: the printdash.io page for that line (checkout, the quote page or the order page) with its interactive 3D viewer already open. To show the customer the mockup, give them view_url; never give a storage or image URL. An order job is rendered by Printdash's server and cached; if it is still rendering the result says so and you call again in about 20 seconds. A cart or quote line returns the mockup checkout or the quote page stored, or else Printdash's server renders it the same way (rendering, then call again); the flat preview comes back when there is no 3D view to show. Needs a signed-in Printdash account: called without one, the connection asks the customer to sign in on printdash.io.
| Name | Type | Req | Description |
|---|---|---|---|
| target | object | yes | Where the artwork goes. |
| Name | Type | Req | Description |
|---|---|---|---|
| configuration | array | yes | The line's size, stock, sides, finishing and pages, as labelled rows. |
| next | string | yes | – |
| quantity | number|null | yes | – |
| status | string | yes | – |
| target | object | yes | – |
| view_url | string | yes | The printdash.io page for this line with its 3D viewer open (checkout, the quote page or the order page, ?mockup=<line id>). The one link to give the customer. |
No examples provided.
get_order Get one order ~110
One order by its order number: status and payment as the order page shows them, every item with its job status, tracking, dispatch, delivery address, whether it can still be cancelled, whether the invoice is available, which items can be reordered, and the order page link. Read only. Needs a signed-in Printdash account: called without one, the connection asks the customer to sign in on printdash.io.
| Name | Type | Req | Description |
|---|---|---|---|
| order | string | yes | The order number (or the order id from its link). |
| Name | Type | Req | Description |
|---|---|---|---|
| awaiting_owner_approval | boolean | yes | – |
| cancellable | boolean | yes | – |
| currency | string | yes | – |
| deliver_to | string|null | yes | – |
| dispatch | string|null | yes | – |
| due_date | string|null | yes | – |
| invoice_available | boolean | yes | – |
| items | array | yes | – |
| next | string | yes | – |
| on_account | boolean | yes | – |
| order_id | string | yes | – |
| order_number | string | yes | – |
| payment | string | yes | – |
| pickup | boolean | yes | – |
| placed | string | yes | – |
| po_number | string|null | yes | – |
| prices_include_gst | boolean | yes | – |
| reference | string|null | yes | – |
| shipping_ex_gst | number|null | yes | – |
| status | string | yes | – |
| status_label | string|null | yes | – |
| total_inc_gst | number | yes | – |
| tracking | – | yes | – |
| url | string | yes | – |
No examples provided.
get_product Get a product's options ~138
The whole option form for one Printdash product, as its product page offers it: every field in the order to ask, whether it is required, each option's id and label, defaults, quantity and custom size limits, page counts, what is applied automatically, which stocks a finish is priced on, the product image, the artwork guides that apply, and default_configuration (the page's starting job, ready for price_job). Read this before asking the customer anything. Printdash prints in Australia and delivers within Australia only; prices are in AUD and include GST.
| Name | Type | Req | Description |
|---|---|---|---|
| product_id | string | yes | A product id from list_products or search_products. |
| Name | Type | Req | Description |
|---|---|---|---|
| artwork_guides | array | yes | – |
| binding | string|null | yes | – |
| currency | string | yes | – |
| default_configuration | object | yes | – |
| description | string|null | yes | – |
| designs | object | – | – |
| fields | array | yes | – |
| image_url | string|null | yes | – |
| next | string | yes | – |
| option_matrix | string | yes | – |
| prices_include_gst | boolean | yes | – |
| product | string | yes | – |
| product_id | string | yes | – |
| service_area | string | yes | – |
| template | string | yes | – |
| url | string | yes | – |
No examples provided.
get_quote Get one saved quote ~114
One saved quote by its quote number: status, lines with their quoted quantities, the lines' subtotal, delivery and the total with delivery as the quote page shows it, expiry, the public share link if it has one, whether it can be converted to an order, and the quote page link. Read only. Needs a signed-in Printdash account: called without one, the connection asks the customer to sign in on printdash.io.
| Name | Type | Req | Description |
|---|---|---|---|
| quote | string | yes | The quote number (or the quote id from its link). |
| Name | Type | Req | Description |
|---|---|---|---|
| can_convert_to_order | boolean | yes | – |
| created | string | yes | – |
| currency | string | yes | – |
| expires | string|null | yes | – |
| lines | array | yes | – |
| next | string | yes | – |
| pickup | boolean | yes | – |
| prices_include_gst | boolean | yes | – |
| quote_number | string | yes | – |
| reference | string|null | yes | – |
| share_url | string|null | yes | – |
| shipping_ex_gst | number|null | yes | Delivery ex GST; 0 for pickup, null when no address has priced it. |
| status | string | yes | – |
| status_label | string | yes | – |
| subtotal_inc_gst | number | yes | The lines' total inc GST, before delivery. |
| total_inc_gst | number | yes | The quote page's Total, inc GST: subtotal_inc_gst (the lines) plus delivery (shipping_ex_gst) and its GST. |
| url | string | yes | – |
No examples provided.
get_quote_request Get one custom quote request ~82
One custom quote request by its request number: what was asked for, its status, whether it can still be cancelled, and the quote it became. Needs a signed-in Printdash account: called without one, the connection asks the customer to sign in on printdash.io.
| Name | Type | Req | Description |
|---|---|---|---|
| request | string | yes | The request number (or the request id from its link). |
| Name | Type | Req | Description |
|---|---|---|---|
| cancellable | boolean | yes | – |
| created | string | yes | – |
| deadline | string|null | yes | – |
| description | string | yes | – |
| finishing | string|null | yes | – |
| kind | string | yes | – |
| next | string | yes | – |
| quantities | array | yes | – |
| quote_number | string|null | yes | – |
| request_number | string | yes | – |
| sides | number|null | yes | – |
| size | string|null | yes | – |
| status | string | yes | – |
| status_label | string | yes | – |
| stock | string|null | yes | – |
| url | string | yes | – |
No examples provided.
get_referral_summary Get the referral summary ~57
The customer's referral code and link, how many customers and orders they have referred, their credit balance and commission. Needs a signed-in Printdash account: called without one, the connection asks the customer to sign in on printdash.io.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | – |
| commission_all_time | number | yes | – |
| credit_balance | number | yes | – |
| currency | string | yes | – |
| customers_referred | number | yes | – |
| link | string | yes | – |
| next | string | yes | – |
| orders_from_referrals | number | yes | – |
| url | string | yes | – |
No examples provided.
list_addresses List saved delivery addresses ~57
The saved delivery addresses in the current buying context, the default first, with the ids price_job and estimate_delivery take. Needs a signed-in Printdash account: called without one, the connection asks the customer to sign in on printdash.io.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| addresses | array | yes | – |
| next | string | yes | – |
No examples provided.
list_artwork List a line's artwork ~98
The files on a cart line, quote line or order job, in order, with which file and page is each design's front and back (as the site resolves them), how many designs are ready, whether the artwork can still change, and the uploader link. Needs a signed-in Printdash account: called without one, the connection asks the customer to sign in on printdash.io.
| Name | Type | Req | Description |
|---|---|---|---|
| target | object | yes | Where the artwork goes. |
| Name | Type | Req | Description |
|---|---|---|---|
| artwork_editable | boolean | yes | – |
| complete | number | yes | Designs with every face they need. |
| designs | array | yes | Which file and page is each design's front and back, as the site resolves them. |
| files | array | yes | – |
| next | string | yes | – |
| order_item_status | object | – | – |
| sides | number | yes | – |
| target | object | yes | – |
| total | number | yes | – |
| uploader_url | string | yes | – |
No examples provided.
list_orders List recent orders ~81
The most recent orders in the current buying context, each with its status as the order page shows it, payment, total, tracking and items. Read only. Needs a signed-in Printdash account: called without one, the connection asks the customer to sign in on printdash.io.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | How many, newest first (default 10). |
| Name | Type | Req | Description |
|---|---|---|---|
| currency | string | yes | – |
| next | string | yes | – |
| orders | array | yes | – |
| prices_include_gst | boolean | yes | – |
No examples provided.
list_pending_approvals List orders waiting for my approval ~86
For a Team owner: every held order of each Team they own, oldest first, with who placed it, the total, whether it is on account, its items and its page. An account that owns no Team is told only an owner approves. Needs a signed-in Printdash account: called without one, the connection asks the customer to sign in on printdash.io.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| next | string | yes | – |
| orders | array | yes | – |
| owner | boolean | yes | – |
No examples provided.
list_products List Printdash products ~116
Every product Printdash sells (business cards, flyers, stickers, labels, booklets, signs, banners and more), with its id, a one-line description, its page and from_price: the starting price the site shows ("From $X inc GST for N", public retail for the product's default job). Start here or with search_products. A from_price is a guide only: price_job gives the exact price of the customer's job. Printdash prints in Australia and delivers within Australia only; prices are in AUD and include GST.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| count | number | yes | – |
| currency | string | yes | – |
| delivery | string | yes | – |
| from_price_note | string | yes | – |
| next | string | yes | – |
| prices_include_gst | boolean | yes | – |
| products | array | yes | – |
| service_area | string | yes | – |
No examples provided.
list_quote_requests List custom quote requests ~66
The customer's custom quote requests in the current buying context, newest first, each with its status as /quotes shows it and the quote it became, if any. Needs a signed-in Printdash account: called without one, the connection asks the customer to sign in on printdash.io.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| next | string | yes | – |
| requests | array | yes | – |
No examples provided.
list_quotes List saved quotes ~90
The most recent saved quotes in the current buying context, each with its status as the Quotes list shows it, total (with delivery, as the Quotes list shows it), expiry and link. Read only. Needs a signed-in Printdash account: called without one, the connection asks the customer to sign in on printdash.io.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | How many, newest first (default 10). |
| Name | Type | Req | Description |
|---|---|---|---|
| currency | string | yes | – |
| next | string | yes | – |
| prices_include_gst | boolean | yes | – |
| quotes | array | yes | – |
No examples provided.
How do I install the Printdash MCP server?
Printdash is a hosted endpoint at https://api.printdash.io/functions/v1/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · api.printdash.io
claude mcp add --transport http io-printdash-printdash 'https://api.printdash.io/functions/v1/mcp'
What is the Printdash MCP server?
Printdash is an MCP server listed in the public MCP registry as io.printdash/printdash. Online printing for Australia: products, exact prices, quotes, artwork checks and orders. This page covers its hosted endpoint (https://api.printdash.io/functions/v1/mcp).
Is the Printdash MCP server safe to use?
Printdash scores 70 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Printdash MCP server expose?
Printdash exposes 58 tools: ping, list_products, search_products, get_product, match_options, and 53 more. Their descriptions and schemas cost roughly 8,114 tokens of context every time the server is loaded.
Does the Printdash MCP server require authentication?
No. We connected to Printdash without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the Printdash MCP server still maintained?
Printdash is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.