_ registry / mcp streamable-http · checked 2h ago

printing-labs

https://printinglabs.com

Registry code: 787223f042d29174

api record

Corporate gifting: catalog search, bulk GST pricing, quotes, meetings, HR welcome-kit automation.

from a public catalogue that lists it, not from the operator

endpoint
https://printinglabs.com/mcp
protocol
streamable-http ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is printing-labs live?
Yes — it answered the hub's last check (checked 2h ago). It answered 100% of checks over the last 30 days.
Is printing-labs free to use?
Yes — the hub reached it with no key and no payment.
What tools does printing-labs have?
24 tools: calculate-bulk-price, request-quote, cancel-meeting, reschedule-meeting, request-callback, track-order, reorder, book-meeting, ….
Is printing-labs safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
100%

90 days 99.4%· all time 99.4%

latency
2,118ms

last good check

priced tools
0

of 24 tools

_ answered our checks, 90 days 312 checks · signed record
  • degraded → live
  • live → degraded· timeout after 20000ms
  • degraded → live
  • live → degraded· timeout after 20000ms
  • unknown → live
_ what it is for
used for
  • search corporate gift products
  • calculate bulk price with gst
  • request a quote for corporate gifts
  • book a consultation meeting
  • track an order status
takes → gives
text, data → data, documents
tools
16 reads8 changes data
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 24 tools
7 open 17 never probed 7 of 24 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • get-seo-health reads open 15h ago

    Run the site's public SEO health self-check and return the raw results: sitemap URL count, HTTP status of the key landing pages, llms.txt blog-link liveness, and whether robots.txt still carries the GPTBot and ClaudeBot groups. The server checks its own public pages, so this works from clients whose networks cannot reach printinglabs.com directly. Results are cached for ten minutes; PageSpeed is deliberately not included — call the PageSpeed API separately if you need a performance score.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "properties": {}
    }
    arguments 5 lines
  • list-product-categories reads open 15h ago

    TWO live lists: `categories` — single-product categories with their product counts and canonical category page URLs — and `bundleCategories` — the curated pack ranges (Festive & Diwali Packs, Welcome & Onboarding Packs, Team & Event Packs, Desk & Workspace Packs) with their pack counts and /preset-packs deep links. Either name works as the exact `category` argument to search-products. `bundles` carries the total pack count.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "properties": {}
    }
    arguments 5 lines
  • get-company-info reads open 2h ago

    Verified facts about Printing Labs: services, fulfillment regions, budget-tier collections, seasonal gifting hubs, machine-readable resources, and how to contact or request a corporate quote.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "properties": {}
    }
    arguments 5 lines
  • search-products reads open 2h ago

    Search Printing Labs' live corporate-gifting catalog (custom apparel, drinkware, welcome kits, bundles). Filter by free-text keyword, exact category, maximum unit price in INR, bundles only, or eco-friendly only. Every filter can be used alone, with no keyword. Returns matches with canonical product page URLs.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "properties": {
        "limit": {
          "type": "integer",
          "maximum": 20,
          "minimum": 1,
          "description": "Maximum results to return (default 8)"
        },
        "query": {
          "type": "string",
          "description": "Free-text keyword matched against product names, categories, and descriptions. Optional — omit it to just apply the other filters."
        },
        "ecoOnly": {
          "type": "boolean",
          "description": "Return only products/packs tagged eco-friendly (eco: true in the results)"
        },
        "category": {
          "type": "string",
          "description": "Exact category name, e.g. 'Apparel & Headwear', 'Drinkware', 'Gourmet', 'Personal Accessories' — or a pack range, e.g. 'Festive & Diwali Packs', 'Welcome & Onboarding Packs'. list-product-categories returns both lists (`categories` and `bundleCategories`); only names from there match. There is no 'Environment friendly' category any more; use ecoOnly instead."
        },
        "bundlesOnly": {
          "type": "boolean",
          "description": "Return only curated preset bundles / swag packs"
        },
        "maxPriceINR": {
          "type": "number",
          "maximum": 10000000,
          "minimum": 1,
          "description": "Only products at or below this unit price in Indian Rupees"
        }
      },
      "additionalProperties": false
    }
    arguments 35 lines
  • search-guides reads open 10h ago

    Search Printing Labs' published buying guides and editorial articles — vendor-selection checklists, bulk pricing mechanics, GST on corporate gifts, welcome-kit planning, Diwali gifting and more. Returns titles, live URLs and excerpts. Use this when a user asks HOW corporate gifting works in India (not what a product costs); fetch a full article with get-guide and cite the URL.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "properties": {
        "query": {
          "type": "string",
          "description": "Keywords, e.g. 'GST rates kits', 'choose vendor', 'diwali budget'"
        }
      },
      "additionalProperties": false
    }
    arguments 11 lines
  • get-brand-store-pricing reads open 2h ago

    What a Brand Store costs: the one-time setup fee and the monthly plans (seats, features, price). These are PLATFORM fees for running a private branded storefront — the merchandise inside it is priced separately per product, via calculate-bulk-price. Never present a plan price as a per-item price.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "properties": {}
    }
    arguments 5 lines
  • list-catalogs reads open 15h ago

    The downloadable PDF catalogue library: every published catalogue with its title, description, page count, file size, and direct PDF URL.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "properties": {}
    }
    arguments 5 lines
  • calculate-bulk-price reads unknown never probed

    Compute the effective bulk price for a given product and quantity: applies the product's quantity-discount tiers and GST, validates the minimum order quantity, and shows the next discount tier. Pass options to price a choice other than the default (e.g. UV printing, which can add an extra per unit). Indicative pricing — final quotes come from the sales team.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "slug",
        "quantity"
      ],
      "properties": {
        "slug": {
          "type": "string",
          "description": "Product permalink slug or id (from search-products)"
        },
        "options": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Optional choices from get-product-details options, e.g. [\"Print Type: UV\"] (or just [\"UV\"]). Omit for the defaults."
        },
        "quantity": {
          "type": "integer",
          "maximum": 100000,
          "minimum": 1,
          "description": "Number of units"
        }
      },
      "additionalProperties": false
    }
    arguments 28 lines
  • request-quote changes data unknown never probed

    Submit a corporate quote request to the Printing Labs sales team on the user's behalf. Creates a real lead: the team receives it instantly (CRM + email + WhatsApp) and the requester gets a confirmation email. Only submit with the user's explicit consent and their real contact details.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "name",
        "email",
        "message"
      ],
      "properties": {
        "name": {
          "type": "string",
          "description": "Requester's full name"
        },
        "email": {
          "type": "string",
          "description": "Requester's email address (receives the confirmation)"
        },
        "phone": {
          "type": "string",
          "description": "Phone / WhatsApp number with country code"
        },
        "company": {
          "type": "string",
          "description": "Company name"
        },
        "message": {
          "type": "string",
          "description": "What they need — products, quantities, timelines, customization"
        },
        "quantity": {
          "type": "integer",
          "maximum": 100000,
          "minimum": 1,
          "description": "Approximate unit quantity"
        },
        "productSlugs": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Product slugs from search-products the quote is about"
        }
      },
      "additionalProperties": false
    }
    arguments 45 lines
  • cancel-meeting changes data unknown never probed

    Cancel a meeting you booked earlier in this conversation. Requires the manageToken returned by book-meeting — the same token that powers the cancel link in the customer's confirmation email. Removes the Google Calendar event and notifies both sides.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "manageToken"
      ],
      "properties": {
        "manageToken": {
          "type": "string",
          "description": "manageToken from the book-meeting response"
        }
      },
      "additionalProperties": false
    }
    arguments 14 lines
  • reschedule-meeting changes data unknown never probed

    Move a meeting you booked earlier in this conversation to a new slot. Requires the manageToken from book-meeting. Check availability with get-meeting-slots first; the Google Calendar event is moved and both sides are notified.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "manageToken",
        "date",
        "time"
      ],
      "properties": {
        "date": {
          "type": "string",
          "description": "New date, YYYY-MM-DD (IST)"
        },
        "time": {
          "type": "string",
          "description": "New slot exactly as get-meeting-slots returned it, e.g. \"3:30 PM\""
        },
        "manageToken": {
          "type": "string",
          "description": "manageToken from the book-meeting response"
        }
      },
      "additionalProperties": false
    }
    arguments 24 lines
  • request-callback changes data unknown never probed

    Ask the Printing Labs sales team to call the customer back. Creates a real callback request that reaches the team immediately (CRM + email + WhatsApp). Use when someone wants to speak to a human, or when a voice call needs a follow-up. Only submit with the customer's explicit consent and their real number.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "name",
        "mobile"
      ],
      "properties": {
        "name": {
          "type": "string",
          "description": "Customer's full name"
        },
        "email": {
          "type": "string",
          "description": "Email address (optional but useful for the team)"
        },
        "notes": {
          "type": "string",
          "description": "What they want to discuss"
        },
        "mobile": {
          "type": "string",
          "description": "Phone number to call back, with country code"
        },
        "company": {
          "type": "string",
          "description": "Company name"
        },
        "preferredTime": {
          "type": "string",
          "description": "When to call, as an ACTUAL date and time — 'today 4:30 PM', 'Tue 11 Aug, 10 AM'. If the customer said something relative ('in 1.5 hours', 'do ghante baad'), work it out against the current time first and pass the result: a note reading 'in 1.5 hours' is meaningless to whoever opens it later."
        }
      },
      "additionalProperties": false
    }
    arguments 35 lines
  • track-order reads unknown never probed

    Live status timeline for an existing order. Requires the order id AND the email the order was placed with (both must match).

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "orderId",
        "email"
      ],
      "properties": {
        "email": {
          "type": "string",
          "description": "The email address the order was placed with"
        },
        "orderId": {
          "type": "string",
          "description": "The order / reference id from the confirmation email"
        }
      },
      "additionalProperties": false
    }
    arguments 19 lines
  • reorder changes data unknown never probed

    Ask the team to repeat one of the customer's own past orders (optionally with changes). Creates a repeat-order enquiry — the team confirms pricing before production; nothing is charged automatically. Requires the portal personal token, and only accepts order ids from the customer's own my-orders list.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "orderId"
      ],
      "properties": {
        "changes": {
          "type": "string",
          "description": "Optional changes, e.g. 'same kit but 50 more units, ship to the Pune office'"
        },
        "orderId": {
          "type": "string",
          "description": "An order id from my-orders"
        }
      },
      "additionalProperties": false
    }
    arguments 18 lines
  • book-meeting changes data unknown never probed

    Book a consultation with the Printing Labs team: creates the Google Calendar event (with Meet link unless Phone Call), registers the meeting, and emails the requester confirm/reschedule/cancel links. The time must be one of get-meeting-slots' values for that date. Only book with the user's explicit consent and their real contact details.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "firstName",
        "email",
        "mobile",
        "date",
        "time"
      ],
      "properties": {
        "date": {
          "type": "string",
          "description": "Meeting date, YYYY-MM-DD (IST)"
        },
        "mode": {
          "enum": [
            "Google Meet",
            "Phone Call"
          ],
          "type": "string",
          "description": "Meeting mode"
        },
        "time": {
          "type": "string",
          "description": "A slot exactly as returned by get-meeting-slots, e.g. '3:30 PM'"
        },
        "email": {
          "type": "string",
          "description": "Requester's email (receives the invite + manage links)"
        },
        "notes": {
          "type": "string",
          "description": "What the meeting is about"
        },
        "guests": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Additional attendee emails"
        },
        "mobile": {
          "type": "string",
          "description": "Phone / WhatsApp number with country code"
        },
        "lastName": {
          "type": "string",
          "description": "Requester's last name"
        },
        "firstName": {
          "type": "string",
          "description": "Requester's first name"
        }
      },
      "additionalProperties": false
    }
    arguments 57 lines
  • get-site-info reads unknown 12h ago

    Look up how Printing Labs actually works: answers from the published FAQ, what each in-house tool does (Mockup Studio, Brand Stores, Campaign Planner, Build Box, Swag Drop), the list of public pages, and headline return/shipping/terms/privacy facts with the page carrying the binding version. Use this instead of guessing when a customer asks 'what is X' or 'how does Y work'.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "topic"
      ],
      "properties": {
        "query": {
          "type": "string",
          "description": "Optional keyword to narrow the results, e.g. 'MOQ', 'artwork', 'mockup'"
        },
        "topic": {
          "enum": [
            "faq",
            "tools",
            "pages",
            "policies"
          ],
          "type": "string",
          "description": "What to look up"
        }
      },
      "additionalProperties": false
    }
    arguments 24 lines
  • create-onboarding-drop changes data unknown never probed

    HR/HRIS automation (requires an API key in the Authorization header — Bearer plk_…): turn new hires into welcome-kit claim links in one call. Creates a Swag Drop for the chosen kit, invites each employee by email, and returns the claim + HR dashboard links. Each employee picks their own size and delivery address; Printing Labs prints, packs and ships per recipient.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "kitProductSlug",
        "employeeEmails"
      ],
      "properties": {
        "company": {
          "type": "string",
          "description": "Company name shown on the claim page (defaults to the API-key label)"
        },
        "message": {
          "type": "string",
          "description": "Welcome message shown to employees on the claim page"
        },
        "employeeNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Optional names, parallel to employeeEmails"
        },
        "employeeEmails": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "New-hire email addresses (1–50); each receives a claim-link email"
        },
        "kitProductSlug": {
          "type": "string",
          "description": "The product or preset-bundle slug to send (from search-products)"
        },
        "notifyEmployees": {
          "type": "boolean",
          "description": "Email each employee their claim link immediately (default true)"
        }
      },
      "additionalProperties": false
    }
    arguments 41 lines
  • my-orders reads unknown never probed

    List the signed-in customer's own orders with statuses. Requires a portal personal token on the connection (Authorization: Bearer plt_… — minted at printinglabs.com → Profile → AI assistant access). Without one, the tool returns connection instructions.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "properties": {}
    }
    arguments 5 lines
  • my-invoices reads unknown never probed

    List the signed-in customer's own Zoho invoices with totals, balances and signed PDF links. Requires the portal personal token (see my-orders).

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "properties": {}
    }
    arguments 5 lines
  • raise-complaint changes data unknown never probed

    File a complaint for a customer who is unhappy with something Printing Labs did — a late or wrong delivery, a quality problem, a billing error, a request nobody answered. Creates a real ticket: the customer is acknowledged by email (and WhatsApp when possible) with a reference, the team that can actually fix it is alerted, and a task with a deadline lands on their board. Use it the moment somebody complains; do NOT use it for a question, a quote chase or a price negotiation.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "what"
      ],
      "properties": {
        "name": {
          "type": "string",
          "description": "Who is complaining"
        },
        "what": {
          "type": "string",
          "description": "What went wrong, in the customer's own words. Do not soften it."
        },
        "email": {
          "type": "string",
          "description": "Their email address — needed to send the acknowledgement"
        },
        "phone": {
          "type": "string",
          "description": "Their number with country code"
        },
        "callId": {
          "type": "string",
          "description": "Only for a voice agent filing this during a live call: the id of that call, so the team can open the recording beside the ticket. Leave it out entirely if you do not have one — NEVER guess or invent it, because a wrong call id sends the handler to the wrong recording."
        },
        "company": {
          "type": "string",
          "description": "Their company"
        },
        "orderRef": {
          "type": "string",
          "description": "Order or invoice number if they quote one"
        },
        "severity": {
          "type": "string",
          "description": "Only if they make it explicit — 'low', 'medium' or 'high'. Otherwise leave it out and it is judged from what they said."
        }
      },
      "additionalProperties": false
    }
    arguments 42 lines
  • get-product-details reads unknown 10h ago

    Full public details for one product or bundle by its permalink slug (from search-products results) or numeric id: description, pricing, bulk-discount tiers, GST rate, minimum order quantity, stock signal, options (e.g. Print Type: Laser / UV, with the extra INR per unit each adds and the default), and page URL.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "slug"
      ],
      "properties": {
        "slug": {
          "type": "string",
          "description": "Product permalink slug or id, e.g. premium-cotton-hoodie"
        }
      },
      "additionalProperties": false
    }
    arguments 14 lines
  • get-guide reads unknown 12h ago

    Fetch one published guide, structured as intro + sections, with its canonical URL for citation. Slugs come from search-guides. Pass brief:true on a voice call or when you only need enough to answer one question — the full read is long.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "slug"
      ],
      "properties": {
        "slug": {
          "type": "string",
          "description": "Guide slug from search-guides"
        },
        "brief": {
          "type": "boolean",
          "description": "Short read: the first few sections, trimmed. Use on voice."
        },
        "sections": {
          "type": "number",
          "description": "How many sections to return (1-12, default 12; 4 when brief)"
        }
      },
      "additionalProperties": false
    }
    arguments 22 lines
  • get-meeting-slots reads unknown 12h ago

    Available consultation slots (IST) with the Printing Labs team for a given date. Use before book-meeting; slots reflect the live calendar.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "date"
      ],
      "properties": {
        "date": {
          "type": "string",
          "description": "Date in YYYY-MM-DD format (today to +60 days, IST)"
        }
      },
      "additionalProperties": false
    }
    arguments 14 lines
  • get-product-mockup reads unknown 10h ago

    Get a working Mockup Studio deep link for a product or a preset pack, so the user can upload their logo, position it in the real print zone and download a free mockup — no sign-in needed. A pack opens as one artboard per designable item in it. Use when someone asks how their logo would look on an item. Items that have no print zones yet return selfServeMockup: false and the product page instead of a link that would open empty — say the team will send a proof rather than promising a self-serve mockup.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "slug"
      ],
      "properties": {
        "slug": {
          "type": "string",
          "description": "Product or preset-pack permalink slug or id (from search-products)"
        }
      },
      "additionalProperties": false
    }
    arguments 14 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id 787223f042d29174.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/787223f042d29174/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/787223f042d29174/badge.svg)](https://brick.blue/agent/787223f042d29174?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.