POD Benchmark
REMOTE · PODBENCHMARK.COM
Compare print-on-demand supplier prices, shipping and delivered totals for the same product.
Available components
Last scanned (4 hours ago)
Scores higher than 53% of remote servers
Reachable. Last reached 5 Nov 2026.
Category E-commerce
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security74
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability32
- 0% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Fail
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 2378 tokens (~216/item across 11 items; 10 tools + 1 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management33
- Stability observed for 10 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage85
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 47% of tool parameters carry a description.Partial
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 10 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 11 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
- Supports UI / widget rendering.Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 5 Nov 26 +1
- “compare_product” reworded the description of “sellingPrice” cosmetic
1 cosmetic change on this day. Switch on “Show cosmetic changes” to see it.
- 4 Nov 26 0
- Tool “compare_product” rewrote its description, which is the text the model reads security
- Tool “resolve_supplier_link” rewrote its description, which is the text the model reads security
- Tool “search_products” rewrote its description, which is the text the model reads security
- 3 Nov 26 +1
- Tool “compare_product” rewrote its description, which is the text the model reads security
- Tool “resolve_supplier_link” rewrote its description, which is the text the model reads security
- Tool “search_products” rewrote its description, which is the text the model reads security
- 31 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.
- 29 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.
- 28 Oct 26 0
- Resource “supplier-comparison” now points somewhere else: ui://podbenchmark/comparison-v6.html → ui://podbenchmark/comparison-v7.html security
- Tool “compare_product” rewrote its description, which is the text the model reads security
- Tool “resolve_supplier_link” rewrote its description, which is the text the model reads security
- Tool “search_products” rewrote its description, which is the text the model reads security
- 27 Oct 26 +1
- Stability: unverified → 0.03 ▲ functional
- 26 Oct 26 62
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://podbenchmark.com/api/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=podbenchmark.com | CN=WE1,O=Google Trust Services,C=US | 2 Oct 2026 | 31 Dec 2026 | ECDSA 256 | ECDSA-SHA256 | 9e0e33790f3c7d7b13af1f11a2ac731b |
| SANs: podbenchmark.com, plugins.podbenchmark.com, *.plugins.podbenchmark.com | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of podbenchmark.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| podbenchmark.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://podbenchmark.com/api/mcp | Verified | 200 | |
| http (plaintext) | http://podbenchmark.com/api/mcp | HTTPS enforced | 301 | https://podbenchmark.com/api/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
compare_product Compare print-on-demand suppliers ~837
Use this when a seller asks which print-on-demand (POD) supplier costs less for a product, wants a Printify vs Printful product comparison, or needs to compare product prices, shipping costs, delivered totals or estimated delivery times. Compares Printify, Printful, Gelato, Prodigi, Apliiq, Artelo, CustomCat, Fourthwall, Inkthreadable and merchOne wherever the product has supplier offers. Useful for Etsy and Shopify sellers choosing where to fulfill T-shirts, hoodies, mugs and other POD products. Compare one product and configuration for a destination and currency. Search products first; for a specified size or color pass choices or an optionKey from get_product_options. With neither, it uses the product's usual configuration and returns its label. Unknown costs remain null; similar products stay separate; affiliate links never change rankings. Paid plans must be explicitly requested; base is standard pricing. supplier shows one supplier's every product and print provider for the choice. Optional seller context, passed only when the seller already said it and never guessed: yourSupplier (the supplier they use now, so it is pinned first and every other row shows the difference per sale), and sellingPrice in the chosen currency, or targetMargin in percent to get the price to charge, with salesChannel (etsy, shopify, woocommerce, tiktok-shop) and shopLocation (the country their shop is in) to apply approved platform fees. Whenever the seller mentions their supplier, selling price, margin or platform, call this tool again with those fields instead of estimating profit yourself. If a price or margin arrives without salesChannel or shopLocation, the result lists what to ask. Profit is an estimate before tax from approved fee research. Supported destinations: US, GB, DE, AU, CA. Comparison totals and rankings are product + shipping. Supplier-billed duty is separate: an established amount, zero, bounded estimate or unverified amount. Profit deducts established duty or a co…
| Name | Type | Req | Description |
|---|---|---|---|
| canonicalProductId | string | yes | – |
| choices | object | – | Choices by field, such as { "size": "m", "color": "black" }. Values match a value key, its last part or its label, case-insensitively; get_product_options lists them. |
| currency | string | yes | – |
| destination | string | yes | Where the buyer lives: US, GB, DE, CA or AU. |
| optionKey | string | – | An exact key from get_product_options. |
| pricingTier | string | – | base is each supplier's standard price; tier1 and tier2 are its paid plans. |
| salesChannel | string | – | The platform the seller sells on. Needed with sellingPrice or targetMargin for platform fees. |
| sellingPrice | number | – | What the seller's customer pays for one selected configuration or pack, in the chosen currency, including any shipping the seller charges. Only when the seller said so. |
| shopLocation | string | – | The country the seller's shop is based in, which can differ from the destination the order ships to. Needed with sellingPrice or targetMargin for platform fees. |
| supplier | string | – | Show only this supplier, with every product and print provider it offers for the choice. |
| targetMargin | number | – | The share of the sale, in percent, the seller wants to keep after supplier cost and platform fees. Returns the price to charge with each supplier. Use instead of sellingPrice. |
| yourSupplier | string | – | The supplier the seller uses today. Only when the seller said so; never guess. |
Structured output declared, but exposes no named fields.
No examples provided.
get_product Read a product's details ~81
Use this when a seller asks about a product's specs, fabric, fit, print methods or what is similar to it. Returns curated product facts and similar products with what they share and how they differ. Specs describe the product; they do not promise every supplier offers every option.
| Name | Type | Req | Description |
|---|---|---|---|
| canonicalProductId | string | yes | – |
| similarLimit | integer | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_product_options Find product configurations ~221
Use this when a seller wants supplier pricing for a specific print-on-demand product size or color, such as an adult M black T-shirt or an 11 oz mug. Lists the product's fields and supported configurations for the destination and currency; narrow with words or choices. Pass a returned key as optionKey, or its choices, to compare_product. Search products first to obtain canonicalProductId. Supported destinations: US, GB, DE, AU, CA.
| Name | Type | Req | Description |
|---|---|---|---|
| canonicalProductId | string | yes | – |
| choices | object | – | Choices by field, such as { "size": "m", "color": "black" }. Values match a value key, its last part or its label, case-insensitively; get_product_options lists them. |
| currency | string | yes | – |
| destination | string | yes | Where the buyer lives: US, GB, DE, CA or AU. |
| limit | integer | – | – |
| offset | integer | – | – |
| query | string | – | Words to narrow the list, such as `m black`. |
Structured output declared, but exposes no named fields.
No examples provided.
get_supplier Read a supplier's facts ~153
Use this when a seller asks how a supplier works: plans and monthly fees, custom branding, who handles checkout, support and refunds, where it prints, or which print providers a marketplace uses. Facts carry their verification date and sources. Production locations are what the supplier reports, not a promise that a given product ships from there.
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | – | Only production locations in this country, such as US. |
| include | array | – | facts: plans, fees, branding and who handles what. locations: where it reports printing. providers: a marketplace's print providers. |
| limit | integer | – | – |
| offset | integer | – | – |
| provider | string | – | – |
| supplierId | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_supplier_prices Where a supplier is cheapest ~198
Use this when a seller asks how a supplier's prices compare overall, by category, or against one other supplier: how many products it is the cheapest for, where it costs more, and by how much. Uses each product's usual configuration delivered to the destination; checkedAt is the supplier's latest price scrape.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | – |
| categoryLimit | integer | – | – |
| currency | string | – | Currency for every price. Defaults to the destination's own currency. |
| destination | string | – | Where the buyer lives: US, GB, DE, CA or AU. |
| limit | integer | – | – |
| offset | integer | – | – |
| pricingTier | string | – | – |
| search | string | – | – |
| supplierId | string | yes | – |
| versus | string | – | Compare against this supplier only, instead of every other one. |
| within | – | – | How close to the cheapest still counts as near-cheapest. |
Structured output declared, but exposes no named fields.
No examples provided.
list_categories List product categories ~115
Use this to browse POD Benchmark's product categories, with product counts and starting delivered prices for a destination. Pass a category id to search_products to list its products.
| Name | Type | Req | Description |
|---|---|---|---|
| currency | string | – | Currency for every price. Defaults to the destination's own currency. |
| destination | string | – | Where the buyer lives: US, GB, DE, CA or AU. |
| limit | integer | – | – |
| offset | integer | – | – |
| parent | string | – | Only the children of this category. |
| query | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
list_suppliers List suppliers ~49
Use this to list the print-on-demand suppliers POD Benchmark compares, with their type and website.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| offset | integer | – | – |
| query | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
resolve_supplier_link Find the product behind a supplier link ~108
Use this when a seller pastes a supplier product link (Printify, Printful, Gelato, Prodigi, Apliiq, Artelo, CustomCat, Fourthwall, Inkthreadable or merchOne). Returns the matching POD Benchmark product and any colour the link selects, ready for compare_product with yourSupplier set to that supplier. It never opens the link.
| Name | Type | Req | Description |
|---|---|---|---|
| url | string | yes | A supplier's product page, such as a Printify or Printful product link. |
Structured output declared, but exposes no named fields.
No examples provided.
search_products Search POD Benchmark products ~407
Use this when a seller wants to find a print-on-demand (POD) product to compare across suppliers such as Printify, Printful, Gelato, Prodigi, Apliiq, Artelo, CustomCat, Fourthwall, Inkthreadable and merchOne. Search by product type such as T-shirt, hoodie or mug, or by brand and model such as Bella+Canvas 3001 or Gildan 5000, and filter by category, brand, supplier, audience, specs (fit, material, eco and more) or weight. Returns product ids, a starting delivered price for the destination and optional filter counts; compare a specific size or colour with compare_product. Supported destinations: US, GB, DE, AU, CA.
| Name | Type | Req | Description |
|---|---|---|---|
| audiences | array | – | Such as unisex, mens, womens or kids. |
| brands | array | – | – |
| category | string | – | A category id from list_categories, such as `t-shirts`. |
| currency | string | – | Currency for every price. Defaults to the destination's own currency. |
| destination | string | – | Where the buyer lives: US, GB, DE, CA or AU. |
| includeFacets | boolean | – | Also count brands, suppliers, audiences and spec values. |
| limit | integer | – | – |
| maxWeightOz | number | – | – |
| minWeightOz | number | – | – |
| offset | integer | – | – |
| pricedOnly | boolean | – | Only products with a delivered price for the destination. |
| query | string | – | Product type, brand or model, such as `hoodie` or `bella canvas 3001`. Leave empty to browse with filters. |
| sort | string | – | – |
| specs | object | – | Spec filters, any value per field, such as { "fit": ["classic"], "material": ["cotton"] }. includeFacets lists the values. |
| suppliers | array | – | Only products at least one of these suppliers sells. |
Structured output declared, but exposes no named fields.
No examples provided.
supplier_guide Which suppliers fit a shop ~203
Use this when a seller is choosing a supplier for a product type (t-shirts, hoodies, mugs, wall art, stickers or phone cases) and their shop: where buyers are, the platform, whether they need custom branding, want to start free, or want to choose their print provider. Returns suppliers that fit, that need a check, and that don't, each with dated reasons and sources, plus a delivered price range for an example product. No AI ranking.
| Name | Type | Req | Description |
|---|---|---|---|
| destination | string | – | Where the buyer lives: US, GB, DE, CA or AU. |
| limit | integer | – | – |
| needsCustomBranding | boolean | – | – |
| offset | integer | – | – |
| productType | string | – | – |
| salesChannel | string | – | Where the seller sells. Leave out if they haven't decided. |
| shopLocation | string | – | – |
| wantsFreeStart | boolean | – | – |
| wantsToChooseProvider | boolean | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
How do I install the POD Benchmark MCP server?
POD Benchmark is a hosted endpoint at https://podbenchmark.com/api/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · podbenchmark.com
claude mcp add --transport http com-podbenchmark-podbenchmark 'https://podbenchmark.com/api/mcp'
What is the POD Benchmark MCP server?
POD Benchmark is an MCP server listed in the public MCP registry as com.podbenchmark/podbenchmark. Compare print-on-demand supplier prices, shipping and delivered totals for the same product. This page covers its hosted endpoint (https://podbenchmark.com/api/mcp).
Is the POD Benchmark MCP server safe to use?
POD Benchmark scores 67 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the POD Benchmark MCP server expose?
POD Benchmark exposes 10 tools: search_products, list_categories, get_product, get_product_options, compare_product, and 5 more. Their descriptions and schemas cost roughly 2,372 tokens of context every time the server is loaded.
Does the POD Benchmark MCP server require authentication?
No. We connected to POD Benchmark without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the POD Benchmark MCP server still maintained?
POD Benchmark is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.