massprint
Server Details
Print-on-demand for agents: upload a PDF, get a printed book delivered in India.
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 8 tools
Each tool maps to a distinct step in the print-ordering lifecycle, with clear boundaries between catalog lookup, upload, order creation, retrieval, cancellation, and account handling. The only mild overlap is that create_upload also returns a PDF report while validate_pdf retrieves a report for an uploaded PDF, but the descriptions clarify the split.
All tool names use consistent snake_case and follow a predictable verb_noun pattern: apply_enterprise, cancel_order, create_order, create_upload, get_account, get_catalog, get_order, validate_pdf. There are no mixed conventions or vague standalone verbs.
Eight tools is well-scoped for the domain: catalog, upload, validation, order lifecycle, account, and enterprise onboarding. Each tool appears to earn its place without obvious redundancy.
The surface covers the core print workflow from catalog discovery through upload, validation, order creation, status checking, and cancellation, plus account and enterprise setup. Minor gaps exist around listing all orders, managing webhooks, or handling invoices directly, but these appear workable through order tokens and the external business portal.
Available Tools
8 toolsapply_enterpriseApply for an enterprise accountAIdempotentInspect
Apply for an enterprise (invoiced) account, for platforms printing at volume behind their own checkout. Enterprise orders auto-confirm with no payment link and are settled monthly, with a minimum of ₹10,000 of orders a month (a month below that is billed at retail). Storybooks are priced 25% below the retail price list (every copy at that price), and custom-cut stickers have lower platform prices. Greeting cards are the retail price for everyone. Requires a registered India GSTIN for tax invoicing. It is checked against the GST registry, and one the registry lists as cancelled is refused. No key is issued here or sent by email. A person reviews the application, and once approved the person at contact_email signs in at https://themassprint.com/business with a one-time email code (no password) and creates the API key there, shown once. Once approved, you pay a ₹10,000 advance at themassprint.com/business before you create the API key. Online it costs ₹10,205 by UPI or netbanking, or ₹10,310 by card, wallet, EMI or Pay Later, which covers Razorpay's fee. The advance is adjusted against your first monthly bill, and you can pay it by bank transfer instead. Use this only when a human has asked to set up a business or enterprise print account.
Inputs: gstin (required), company_name (required), contact_email (required), notes, +1 more.
cancel_orderCancel an orderADestructiveIdempotentInspect
Cancel an order, stopping it before it is printed. With the order_token from create_order this works while the order is awaiting_payment (which also closes its payment link, and a payment that still lands on it is refunded in full automatically), and after payment until production starts (order.refund_on_cancel is true), when the payment is refunded in full automatically and the result status is refunded. A platform that sends its own API key (Authorization: Bearer mp_live_...) can additionally cancel an order THAT KEY created while it is confirmed or printing — that is how you stop a press when your customer cancels on your side. shipped and delivered can never be canceled; that is a refund, contact support (see get_catalog). Once printing has started, canceling (creating key only) stops production but moves no money. Canceling releases the order's client_reference — replaying that reference afterwards creates a new order and prints it. If the order moved on before the cancel landed you get not_cancellable naming its new status, never a false "canceled".
Inputs: order_id (required), order_token.
create_orderCreate a print orderAInspect
Create a print order for an uploaded PDF, at the size you choose (size, from formats[].sizes in get_catalog; without it, the size the pages match exactly, else size_required). The file is never refused for its content: it is checked against the order after payment by our print team, who fit it to the size ordered and contact the buyer if they cannot. A storybook needs a page count we price. Returns { order, order_token } — the order object has order_id, status, amount, and payment_url (the Razorpay link, present while awaiting_payment). Give payment_url to the human to pay by the method chosen in pay_with (UPI or netbanking by default, which adds the 2% Razorpay fee; card adds 3%). SAVE order_token — it is shown only once and is required for get_order and cancel_order. The order confirms automatically after payment; unpaid orders expire after 72 hours. An order may carry a coupon code, which gives it the enterprise price.
Inputs: email (required), format (required), address (required), upload_id (required), +7 more.
create_uploadStart a PDF uploadAInspect
Start a PDF upload. Returns {upload_id, put_url, expires_at, max_bytes}. HTTP PUT the raw PDF bytes to put_url (Content-Type: application/pdf, no auth needed — the URL is signed). The PUT accepts any PDF and returns 200 with a report of what it read (page count, page size, the size it looks like, warnings); only bytes that are not a PDF are refused (415). Then pass upload_id to create_order with the size you want. No API key or sign-in needed. Without one, uploads are limited per calling origin: 20 an hour and at most 5 unused uploads open at a time, and put_url expires in 2 hours. So PUT the bytes promptly and reuse an upload_id you already hold instead of creating extras. An API key (see apply_enterprise) removes these limits and gives a 24-hour put_url.
Inputs: no named parameters.
get_accountAccount behind the API keyARead-onlyIdempotentInspect
Show the account behind your API key (Authorization: Bearer mp_live_...): its name, payment mode (invoiced for enterprise accounts) and GSTIN. massprint never messages your customers: tracking reaches you through get_order and your webhooks, and you tell your customers. Requires an API key. Enterprise accounts create and revoke keys at https://themassprint.com/business.
Inputs: no named parameters.
get_catalogPrint catalog and pricesARead-onlyIdempotentInspect
List what can be printed: SKUs (storybook books; custom-cut stickers from 500 pieces; greeting cards from 10; and, for platforms, sticker-a3 foam-board wall charts, one per order, and greeting-card-a5 folded cards from one copy), formats, supported trim sizes, page-count limits, prices (INR, shipping and GST included; paying online adds the Razorpay fee for the method, see online_payment), and shipping coverage (India only). Stickers and greeting cards are priced per piece in piece_prices. Every product takes an optional coupon on create_order, which takes a percentage off retail, never below making cost (the enterprise price). Each format lists the sizes an order chooses from in formats[].sizes (pass the id as size on create_order). Call this first to quote a price.
Inputs: no named parameters.
get_orderOrder status and trackingARead-onlyIdempotentInspect
Check an order: status (awaiting_payment → confirmed → printing → ready_for_dispatch → pickup_scheduled → shipped → out_for_delivery → delivered; or returning, returned, lost if the parcel did not arrive), tracking number once it is booked with the courier (ready_for_dispatch) with every courier scan in tracking.events, and — while unpaid — the payment_url again (so you can always re-answer "how do I pay"). Requires the order_token from create_order, or the API key that created the order (Authorization: Bearer mp_live_...).
Inputs: order_id (required), order_token.
validate_pdfPDF upload reportARead-onlyIdempotentInspect
Get the report for an uploaded PDF: page count, page size, the size its pages are or are scaled to (by_sku[sku].page_fit, e.g. A4 at 10×), and warnings. The report is advice: no file is refused for its content, and our print team checks every file against the order after payment. The one exception is a storybook, whose page count sets the price: create_order refuses a count we do not price (page_count_out_of_range). Free to call. Reads only your own uploads: without an API key, the uploads you made without one; with a key, that key's uploads.
Inputs: upload_id (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
Print-on-demand for agents: upload a PDF, get a printed book delivered in India.
Turn your agent into a print shop: find products, get quotes, design or upload artwork, and order.
1Print-on-demand catalog, listings, and fulfillment for AI agents.
Create print-ready coloring, activity and illustrated story books and KDP covers from any agent.
Related MCP Servers
AlicenseAqualityCmaintenanceWrite and mail personalized funny booklets via an AI agent. Allows agents to commission custom 16-page print gifts for users.121MIT- AlicenseAqualityBmaintenanceEnables AI agents to turn Markdown manuscripts and metadata into KDP-ready Kindle EPUBs, print interior PDFs, and full-wrap paperback covers, with spine width calculation and an upload checklist.3MIT

OpenPrints MCPofficial
AlicenseNot gradedqualityDmaintenanceEnables AI agents to browse products, upload designs, place print orders, track shipments, and manage account balance via natural language.12 npmMIT- AlicenseAqualityBmaintenanceEnables AI assistants to price, validate, order, and track print-on-demand books through the Lulu Print API, including file validation, shipping options, webhooks, and sandbox-safe testing.22MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.