MCP HeartbeatTHE MCP OBSERVATORY
Public workspace

Explore

Evidence for your next connection.

Independent measurements of remote MCP servers. Every observation has a timestamp.

Read-only probes

MCP server · File & docs

massprint

Print-on-demand for agents: upload a PDF, get a printed book delivered in India.

Checks passed
15 / 22

0 failed · 7 not measured

Median response
197 ms

Median of successful probes over 7 days

30-day uptime
Not measured

Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.

Discovered tools
8

Tool definitions returned by this server

Independent monitoring

Health & checks

Status history

Responded

The server completed its last measured handshake. This is an observation, not a guarantee.

Last checked
Check summary by test group
Test areaPassedFailedUnmeasured
ConnectionCan a client connect and discover tools?
500
Reliability & speedDoes it respond consistently and quickly?
103
Access & authenticationWhat is required to use this server?
102
Tool qualityAre the tool definitions usable by an agent?
400
Publisher identityCan the publisher be traced to its source?
402

Unmeasured means there is not enough evidence to decide. How these checks work

Inspect individual checks 22 recorded

Core

  • Pass
    Reachable

    Latest probe returned HTTP 200 in 180 ms.

  • Pass
    Valid handshake

    protocolVersion 2025-11-25, serverInfo.name massprint.

  • Pass
    Lists tools

    tools/list returned 8 tools.

  • Pass
    Current protocol

    Negotiated 2025-11-25. The bar is 2025-06-18 or newer.

  • Pass
    HTTPS

    The endpoint URL is https.

Performance

  • Not measured
    Fast (p50)

    Median latency 197 ms over 2 samples in 7 days. The bar is 1000 ms. Need at least 5 samples.

  • Not measured
    Consistent (p95)

    95th percentile 211 ms over 2 samples in 7 days. The bar is 3000 ms. Need at least 20 samples.

  • Not measured
    Reliable (uptime)

    2 of 2 attempts returned a tool list in 30 days (100%). The bar is 99%. Need at least 30 samples.

  • Pass
    Stable tool list

    No tool was removed and no required parameter was added in the last 30 days.

Access

  • Pass
    Open access

    tools/list succeeded with no credential, and the record declares none.

  • Not measured
    Standard auth

    Auth is not required, so the OAuth metadata check does not apply.

  • Not measured
    Free tier cited

    No publisher quote has been checked.

Tools

  • Pass
    Tools described

    Every tool description is at least 20 characters.

  • Pass
    Valid input schemas

    Every inputSchema is a JSON Schema object.

  • Pass
    Parameters documented

    28 of 28 parameters have a description (100%). The bar is 80%.

  • Pass
    Safety hints

    Every tool sets readOnlyHint or destructiveHint.

Publisher

  • Pass
    Verified namespace

    Listed in the Official MCP Registry.

  • Pass
    Website matches publisher

    The website host matches the reverse-domain namespace.

  • Pass
    Source repo linked

    A repository URL is on file.

  • Not measured
    Repo owner matches

    This namespace is not an io.github login, so the owner comparison does not apply.

  • Pass
    Recently updated

    Updated 2026-08-07T16:40:06.423465Z, within 180 days.

  • Not measured
    Open-source licence

    The GitHub licence lookup has not returned an OSI result yet.

Start using massprint

Connect to this server

Choose your client, copy the configuration, then enable the server in your client’s MCP settings.

Run this command in your terminal, then restart Claude Code.

Claude Code

claude mcp add --transport http massprint https://themassprint.com/mcp

Capabilities

Tools 8

apply_enterprise

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.

Discovered
cancel_order

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".

Discovered
create_order

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.

Discovered
create_upload

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.

Discovered
get_account

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.

Discovered
get_catalog

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.

Discovered
get_order

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_...).

Discovered
validate_pdf

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.

Discovered

Recent measurements

Probe history

View status
Latest stored probes. Raw probe rows are kept for 14 days.
CheckedResultResponseTools
Connected180 ms8
Connected213 ms8