printing-labs
What this MCP does
Searches a corporate-gifting catalog, calculates bulk pricing, handles quotes and orders, schedules consultations, and supports customer fulfillment workflows.
Tools
Input schema
{'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}
Input schema
{'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}
Input schema
{'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}
Input schema
{'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}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Input schema
{'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}
Input schema
{'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}
Input schema
{'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}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'Product permalink slug or id (from search-products)'}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Input schema
{'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}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Input schema
{'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}
Input schema
{'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}
Input schema
{'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}
Input schema
{'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}
Input schema
{'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}
Input schema
{'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}
Input schema
{'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' — see list-product-categories for the full live list. 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}
Input schema
{'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}
Recent tool changes
Similar MCP servers
Digital Manager Guru
Provides Digital Manager Guru checkout, customer, transaction, subscription, affiliate, coupon, blocklist, and digital-product sa…
Obriym CRM
Manages CRM records, sales pipelines, activities, orders, products, inventory, and marketplace catalog operations.
TOTVS Protheus
Provides read-only access to TOTVS Protheus ERP data covering inventory, sales, purchasing, customers, suppliers, CRM, pricing, a…
Cakto
Reads and manages Cakto products, offers, orders, customers, subscriptions, order bumps, sales analytics, and churn data.
Mercos
Connects to Mercos to manage customers, products, orders, inventory, price tables, payment terms, commissions, users, and logisti…
Nuvemshop
Manages Nuvemshop store products, categories, customers, coupons, and orders, including order status and product mutations.
Boolsai Directory
Indexes ecommerce brands and technology stacks for site intelligence, competitor comparisons, operator discovery, and outbound pr…
marketplace
Searches used and new vehicle inventories and supports vehicle comparison, dealer communication, buyer sessions, trade-ins, offer…