printing-labs

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

我該用這個嗎

品質與安全性

B
說明品質
98%
結構描述完整度
79%
命名品質
65%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

發現項目(25)

  • LOWTool 'get-meeting-slots' description lacks action verb在 get-meeting-slots 中
  • LOWTool 'track-order' description lacks action verb在 track-order 中
  • LOWTool 'search-products' doesn't follow camelCase/snake_case在 search-products 中
  • LOWTool 'get-product-details' doesn't follow camelCase/snake_case在 get-product-details 中
  • LOWTool 'list-product-categories' doesn't follow camelCase/snake_case在 list-product-categories 中
  • LOWTool 'get-brand-store-pricing' doesn't follow camelCase/snake_case在 get-brand-store-pricing 中
  • LOWTool 'get-company-info' doesn't follow camelCase/snake_case在 get-company-info 中
  • LOWTool 'calculate-bulk-price' doesn't follow camelCase/snake_case在 calculate-bulk-price 中
  • LOWTool 'list-catalogs' doesn't follow camelCase/snake_case在 list-catalogs 中
  • LOWTool 'get-site-info' doesn't follow camelCase/snake_case在 get-site-info 中

根據工具定義與協定合規性的自動化分析。

上下文成本

~3,959Token(工具定義)
~1.2 KB典型回應大小
顯著的注意力影響(128k 上下文的 3.09%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "printing-labs": {
      "url": "https://printinglabs.com/mcp"
    }
  }
}

遠端端點

https://printinglabs.com/mcpstreamable-http

它能做什麼

工具清單

工具(24)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢search-products(query, category, maxPriceINR, bundlesOnly, ecoOnly, ...)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Free-text keyword matched against product names, categories, and descriptions. Optional — omit it to just apply the other filters."
    },
    "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."
    },
    "maxPriceINR": {
      "type": "number",
      "minimum": 1,
      "maximum": 10000000,
      "description": "Only products at or below this unit price in Indian Rupees"
    },
    "bundlesOnly": {
      "type": "boolean",
      "description": "Return only curated preset bundles / swag packs"
    },
    "ecoOnly": {
      "type": "boolean",
      "description": "Return only products/packs tagged eco-friendly (eco: true in the results)"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 20,
      "description": "Maximum results to return (default 8)"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get-product-details(slug)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "Product permalink slug or id, e.g. premium-cotton-hoodie"
    }
  },
  "required": [
    "slug"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list-product-categories

All Printing Labs catalog categories with live product counts and their canonical category page URLs, plus the preset-bundle count.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get-brand-store-pricing

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.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get-company-info

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.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡calculate-bulk-price(slug, quantity, options)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "Product permalink slug or id (from search-products)"
    },
    "quantity": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100000,
      "description": "Number of units"
    },
    "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."
    }
  },
  "required": [
    "slug",
    "quantity"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list-catalogs

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

輸入結構描述

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get-site-info(topic, query)

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

輸入結構描述

{
  "type": "object",
  "properties": {
    "topic": {
      "type": "string",
      "enum": [
        "faq",
        "tools",
        "pages",
        "policies"
      ],
      "description": "What to look up"
    },
    "query": {
      "type": "string",
      "description": "Optional keyword to narrow the results, e.g. 'MOQ', 'artwork', 'mockup'"
    }
  },
  "required": [
    "topic"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get-seo-health

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.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢search-guides(query)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Keywords, e.g. 'GST rates kits', 'choose vendor', 'diwali budget'"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get-guide(slug, brief, sections)

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.

輸入結構描述

{
  "type": "object",
  "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)"
    }
  },
  "required": [
    "slug"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡get-product-mockup(slug)

Get a working Mockup Studio deep link for a product, so the user can upload their logo, position it in the real print zone and download a free mockup — no sign-in needed. Use when someone asks how their logo would look on an item.

輸入結構描述

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "Product permalink slug or id (from search-products)"
    }
  },
  "required": [
    "slug"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢my-orders

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.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢my-invoices

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

輸入結構描述

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪reorder(orderId, changes)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "orderId": {
      "type": "string",
      "description": "An order id from my-orders"
    },
    "changes": {
      "type": "string",
      "description": "Optional changes, e.g. 'same kit but 50 more units, ship to the Pune office'"
    }
  },
  "required": [
    "orderId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡request-quote(name, email, message, phone, company, ...)

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.

輸入結構描述

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

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "manageToken": {
      "type": "string",
      "description": "manageToken from the book-meeting response"
    }
  },
  "required": [
    "manageToken"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢reschedule-meeting(manageToken, date, time)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "manageToken": {
      "type": "string",
      "description": "manageToken from the book-meeting response"
    },
    "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\""
    }
  },
  "required": [
    "manageToken",
    "date",
    "time"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡request-callback(name, mobile, email, company, preferredTime, ...)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Customer's full name"
    },
    "mobile": {
      "type": "string",
      "description": "Phone number to call back, with country code"
    },
    "email": {
      "type": "string",
      "description": "Email address (optional but useful for the team)"
    },
    "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."
    },
    "notes": {
      "type": "string",
      "description": "What they want to discuss"
    }
  },
  "required": [
    "name",
    "mobile"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪raise-complaint(what, email, phone, name, company, ...)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "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"
    },
    "name": {
      "type": "string",
      "description": "Who is complaining"
    },
    "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."
    },
    "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."
    }
  },
  "required": [
    "what"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get-meeting-slots(date)

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

輸入結構描述

{
  "type": "object",
  "properties": {
    "date": {
      "type": "string",
      "description": "Date in YYYY-MM-DD format (today to +60 days, IST)"
    }
  },
  "required": [
    "date"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢book-meeting(firstName, lastName, email, mobile, date, ...)

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.

輸入結構描述

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

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

輸入結構描述

{
  "type": "object",
  "properties": {
    "orderId": {
      "type": "string",
      "description": "The order / reference id from the confirmation email"
    },
    "email": {
      "type": "string",
      "description": "The email address the order was placed with"
    }
  },
  "required": [
    "orderId",
    "email"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴create-onboarding-drop(kitProductSlug, employeeEmails, employeeNames, company, message, ...)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "kitProductSlug": {
      "type": "string",
      "description": "The product or preset-bundle slug to send (from search-products)"
    },
    "employeeEmails": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "New-hire email addresses (1–50); each receives a claim-link email"
    },
    "employeeNames": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional names, parallel to employeeEmails"
    },
    "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"
    },
    "notifyEmployees": {
      "type": "boolean",
      "description": "Email each employee their claim link immediately (default true)"
    }
  },
  "required": [
    "kitProductSlug",
    "employeeEmails"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本24 個工具
已驗證未記錄版本24 個工具
已驗證未記錄版本24 個工具