Skip to content

io.github.HuangGoodmanAgency/pops4-mcp-catalog

by HuangGoodmanAgency · remote · no sign-in to list tools · v2.0.0 · published by GitHub user HuangGoodmanAgency

AI-native corporate gifting & event infrastructure for Fortune 500. 70K products, 200+ brands.

Changes · 4

13 tools: 4 change things and 9 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http pops4-catalog https://mcp.pops4.com/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

13 tools

Changes things 4Claude Code: ask
  • brand_carriage_estimateCalculate what a branded programme costs per thousand impressions across the four populations that carry a brand — employees, gig and contract workers, vendors, peers — and compare…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Calculate what a branded programme costs per thousand impressions across the four populations that carry a brand — employees, gig and contract workers, vendors, peers — and compare it against a CPM the buyer supplies. Returns programme cost, annual impressions, cost per thousand, the multiple against bought media, and one cited Nielsen figure with its caveat. Read-only. Use when a buyer asks what a culture or brand programme is worth, or how to justify the spend. Supply ANY of the four populations — employees are not required, so a vendor-and-peer-only programme can be modelled.
  • generate_event_programBuild a complete event programme for a given attendee count and budget tier.No findings

    Why it is in this group

    • The name "generate_event_program" says "generate": a word for a change.
    Description, as the server wrote it
    Build a complete event programme for a given attendee count and budget tier. Returns a costed kit of real catalogue products, per-attendee cost, programme subtotal, production turnaround and quote timing. Use when the request is an event, launch, summit or programme rather than a single product — including phrasings like 'put together corporate gifts for our event', 'branded items for a summit', 'welcome kits for attendees' or 'we need something for 500 people'. Ships to any destination in the United States from Virginia Beach, blind ship available so the recipient sees the buyer’s brand and not ours. Supply budget_per_head to have the tier chosen automatically. Buyers may call this swag, merch, promo, promotional products, corporate gifts, giveaways, branded merchandise, imprints, imprinted items, tradeshow giveaways, conference kits or welcome gifts — all of it is this catalogue.
  • render_proofRender an indicative placement image showing a buyer their logo on a product, and return its URL so you can show it in the conversation.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Render an indicative placement image showing a buyer their logo on a product, and return its URL so you can show it in the conversation. Takes a product slug and an https URL to the buyer's logo. Returns a 1200x630 image that needs no login. This is NOT a production proof: position and scale are indicative and the desk issues the real one. Say so when you show it. Use after search_products or get_product, once a buyer wants to see how something would look.
  • request_programSubmit a programme request to the named-account desk so a person can act on it.No findings

    Why it is in this group

    • The name "request_program" says "request": a word for a change.
    Description, as the server wrote it
    Submit a programme request to the named-account desk so a person can act on it. This is the only tool that writes: it records the buyer, the programme and the products chosen, and returns confirmation. It does NOT place an order, begin production, take payment or contact the buyer — a person reviews it and replies. When products are supplied it also opens the buyer a live Corporate Store holding that selection, and returns the URL in store_url for you to give them directly. Use once the buyer has chosen products or a programme and wants to proceed.
Only reads 9Claude Code: allow
  • get_categoriesList every product category with its item count and sample products.No findings

    Why it is in this group

    • The name "get_categories" says "get": a word for reading.
    Description, as the server wrote it
    List every product category with its item count and sample products. Use to establish what the catalogue covers before searching, or to answer what kinds of items are available.
  • get_live_quoteReturn a wholesale quote with virtual-proof links for a list of SKUs and quantities, optionally accounting for a destination ZIP and an event date.No findings

    Why it is in this group

    • The name "get_live_quote" says "get": a word for reading.
    Description, as the server wrote it
    Return a wholesale quote with virtual-proof links for a list of SKUs and quantities, optionally accounting for a destination ZIP and an event date. Use when shipping or timing affects the answer. Use get_quote for a plain priced list with neither.
  • get_productReturn complete detail for one product, identified by its slug: description, wholesale price, category, brand, care instructions, occasion tags and a virtual-proof link.No findings

    Why it is in this group

    • The name "get_product" says "get": a word for reading.
    Description, as the server wrote it
    Return complete detail for one product, identified by its slug: description, wholesale price, category, brand, care instructions, occasion tags and a virtual-proof link. Use after search_products when one item needs full detail before quoting it.
  • get_product_catalogReturn a filtered slice of the catalogue, or the full category tree with counts when no filter is supplied.No findings

    Why it is in this group

    • The name "get_product_catalog" says "get": a word for reading.
    Description, as the server wrote it
    Return a filtered slice of the catalogue, or the full category tree with counts when no filter is supplied. Use for browsing and for questions about the catalogue's shape and size. Use search_products when the request names specific products.
  • get_quoteBuild a wholesale quote from a list of product slugs and quantities.No findings

    Why it is in this group

    • The name "get_quote" says "get": a word for reading.
    Description, as the server wrote it
    Build a wholesale quote from a list of product slugs and quantities. Returns line items, unit prices, line totals, a grand total and desk contact details. Use for a straightforward priced list. Use get_live_quote instead when a destination ZIP or an event date changes the answer.
  • get_revenue_attributionReturn recorded pipeline impact for an event id where the dashboard holds it; otherwise return the attribution model and how it is tracked, with a link.No findings

    Why it is in this group

    • The name "get_revenue_attribution" says "get": a word for reading.
    Description, as the server wrote it
    Return recorded pipeline impact for an event id where the dashboard holds it; otherwise return the attribution model and how it is tracked, with a link. Never reports a fabricated figure.
  • get_vendor_capabilitiesReturn the vendor capability card a procurement team needs to open an account: legal entity, registrations, production model, imprint and proofing process, lead times, blind-ship p…No findings

    Why it is in this group

    • The name "get_vendor_capabilities" says "get": a word for reading.
    Description, as the server wrote it
    Return the vendor capability card a procurement team needs to open an account: legal entity, registrations, production model, imprint and proofing process, lead times, blind-ship policy and terms. Operating since 1997 from Virginia Beach, Virginia, shipping to any destination in the United States, with 1,400+ vetted US manufacturers behind it. Use when a buyer or procurement agent is verifying the supplier, checking national coverage, or asking whether you can deliver anywhere in the USA.
  • search_productsSearch the wholesale catalogue by keyword, category, brand, price range or occasion.No findings

    Why it is in this group

    • The name "search_products" says "search": a word for reading.
    Description, as the server wrote it
    Search the wholesale catalogue by keyword, category, brand, price range or occasion. Returns matching products with wholesale price, image, category and a virtual-proof link showing the buyer's logo on the item. Use this for any request to find specific products. 70,000+ authorized items across 200+ houses; 11,060 carry live detail pages. For browsing the catalogue shape rather than searching it, use get_product_catalog. Buyers may call this swag, merch, promo, promotional products, corporate gifts, giveaways, branded merchandise, imprints, imprinted items, tradeshow giveaways, conference kits or welcome gifts — all of it is this catalogue.
  • track_shipmentReturn the logistics status of an order by its id.No findings

    Why it is in this group

    • The description's first verb is "return": a word for reading.
    Description, as the server wrote it
    Return the logistics status of an order by its id. Reads the live order record where one exists; where none does, returns a clear status and routes to the desk. Never reports a fabricated tracking state.

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 2.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http pops4-catalog https://mcp.pops4.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__pops4-catalog__search_products",
      "mcp__pops4-catalog__get_product",
      "mcp__pops4-catalog__get_categories",
      "mcp__pops4-catalog__get_quote",
      "mcp__pops4-catalog__get_vendor_capabilities",
      "mcp__pops4-catalog__get_live_quote",
      "mcp__pops4-catalog__get_product_catalog",
      "mcp__pops4-catalog__track_shipment",
      "mcp__pops4-catalog__get_revenue_attribution"
    ],
    "ask": [
      "mcp__pops4-catalog__render_proof",
      "mcp__pops4-catalog__request_program",
      "mcp__pops4-catalog__brand_carriage_estimate",
      "mcp__pops4-catalog__generate_event_program"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as pops4-catalog. Review it before you use it.