Koskamo

BestPrintOnDemand MCP

This MCP server provides read-only access to live print-on-demand cost data, allowing AI agents to find products, retrieve supplier-specific costs, compare suppliers, and track price changes. It serves as an informational tool for sellers to assess landed costs and margins across providers like Printful, Printify, and Gelato.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

BestPrintOnDemand MCP logo, by BestPrintOnDemandVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-07Operated by BestPrintOnDemand
MCP endpoint (Streamable HTTP)
https://bestprintondemand.co/mcp
Vendor documentation

What its tools do

4 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

4 of 4 have a description · 4 of 4 declare behavior hints · 4 of 4 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to bestprintondemand.co ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Find print-on-demand products
  • Get product costs by supplier
  • Compare two print-on-demand suppliers
  • Get print-on-demand price changes

Source and maintenance

Vendor evidenceRegistry 1.0.0

Protocol and capabilities

Server
bestprintondemand 1.0.0
MCP protocol negotiated in check
2025-11-25
Tools
4 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

BestPrintOnDemand compares what it costs to print and ship print-on-demand products to the US across suppliers (Printful, Printify, Gelato and more): base price, shipping and total, each with its source and date, refreshed hourly for the live suppliers. Use find_products to find a product's slug, get_product_costs for every supplier's cost on one product (and the profit at a sell price after a sales channel's fees), compare_suppliers for which of two suppliers is cheaper across the products both offer, and get_price_changes for the price changes the hourly readings attribute to a supplier (or one product's price history). When you state a figure, cite the page URL the result gives.

Tools

4 advertised

find_products — Find print-on-demand products
Advertised by the server during the last successful anonymous check.
Advertised read-only

Search the catalog of print-on-demand products (t-shirts, hoodies, mugs, posters, stickers, phone cases, tote bags and more, or a blank such as Bella+Canvas 3001). Returns each match's slug, its lowest listed US total and supplier, and its page.

find_products input schema
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 25,
      "minimum": 1,
      "description": "Most results to return (default 10)."
    },
    "query": {
      "type": "string",
      "maxLength": 120,
      "minLength": 1,
      "description": "Product type or blank, e.g. \"hoodie\", \"11oz mug\", \"Bella+Canvas 3001\"."
    }
  },
  "additionalProperties": false
}
find_products annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_product_costs — Get a product's costs by supplier
Advertised by the server during the last successful anonymous check.
Advertised read-only

Every supplier's listed US cost for one print-on-demand product: base price, first-item shipping and total, each with its source and date, cheapest first, plus the site's one-sentence answer on which supplier is cheapest like for like. Give sell_price (and optionally a sales channel) to get each supplier's profit after fees.

get_product_costs input schema
{
  "type": "object",
  "required": [
    "product"
  ],
  "properties": {
    "channel": {
      "type": "string",
      "maxLength": 40,
      "description": "Sales channel whose fees to subtract: etsy, shopify-own, woocommerce, tiktok-shop, walmart, ebay or amazon-seller."
    },
    "product": {
      "type": "string",
      "maxLength": 120,
      "minLength": 1,
      "description": "Product slug from find_products (e.g. \"unisex-tee\") or its name."
    },
    "sell_price": {
      "type": "number",
      "maximum": 100000,
      "description": "Your sell price in USD, to compute profit per supplier.",
      "exclusiveMinimum": 0
    },
    "buyer_pays_shipping": {
      "type": "boolean",
      "description": "True when the buyer pays shipping on top of the sell price (default false: you cover shipping)."
    }
  },
  "additionalProperties": false
}
get_product_costs annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
compare_suppliers — Compare two print-on-demand suppliers
Advertised by the server during the last successful anonymous check.
Advertised read-only

Which of two suppliers (e.g. Printful and Printify) has the lower listed US total across the products both offer, matched on product, print method and blank, with the record by category and the largest gaps.

compare_suppliers input schema
{
  "type": "object",
  "required": [
    "supplier_a",
    "supplier_b"
  ],
  "properties": {
    "supplier_a": {
      "type": "string",
      "maxLength": 60,
      "minLength": 1,
      "description": "A supplier name or slug, e.g. \"Printful\"."
    },
    "supplier_b": {
      "type": "string",
      "maxLength": 60,
      "minLength": 1,
      "description": "Another supplier, e.g. \"Printify\"."
    }
  },
  "additionalProperties": false
}
compare_suppliers annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_price_changes — Get print-on-demand price changes
Advertised by the server during the last successful anonymous check.
Advertised read-only

The price changes the site's hourly readings of Printful, Printify, Gelato and Tapstitch attribute to the supplier: supplier-wide changes (many products moving by the same percentage or amount, each product's price before and after) and changes to one product's own price. Name a supplier to narrow it, or a product for its price history at each supplier.

get_price_changes input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "product": {
      "type": "string",
      "maxLength": 120,
      "minLength": 1,
      "description": "Product slug or name (e.g. \"unisex-tee\"), for its price history at each supplier."
    },
    "supplier": {
      "type": "string",
      "maxLength": 60,
      "minLength": 1,
      "description": "Only this supplier's changes, e.g. \"Printful\"."
    }
  },
  "additionalProperties": false
}
get_price_changes annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
511 ms
95th percentile latency
511 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 511 ms · metadata changed · 4 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http bestprintondemand-mcp https://bestprintondemand.co/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add bestprintondemand-mcp --url https://bestprintondemand.co/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable bestprintondemand-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "bestprintondemand-mcp": {
      "url": "https://bestprintondemand.co/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "bestprintondemand-mcp": {
      "type": "streamableHttp",
      "url": "https://bestprintondemand.co/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start bestprintondemand-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "bestprintondemand-mcp": {
      "type": "http",
      "url": "https://bestprintondemand.co/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http bestprintondemand-mcp https://bestprintondemand.co/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://bestprintondemand.co/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "bestprintondemand-mcp": {
      "serverUrl": "https://bestprintondemand.co/mcp"
    }
  }
}

Let your agent find its tools

Find servers like BestPrintOnDemand MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run BestPrintOnDemand MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing