Hadacart Catalog Snapshots MCP
Provides a stateless, public-read-only MCP server for discovering KR/US products, viewing dated options and unit prices, and retrieving original merchant affiliate purchase links. It supports product search, candidate discovery, and verification plans without requiring login, payment data, or POST requests for basic catalog access.
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.
https://hadacart.com/api/catalog/mcpWhat you can do with it
- Search for products in KR/US markets with currency and quantity filters
- Retrieve dated product options and unit prices
- Get original merchant affiliate purchase links for discovered items
- Verify purchase candidates without executing transactions
Source and maintenance
Protocol and capabilities
- Server
- com.hadacart/catalog-snapshots 1.1.0
- MCP protocol
- 2025-06-18
- Tools
- 4 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
4 advertised
find_buying_guides
Find KR/US buying guides by keywords and destination. Returns dated comparisons, exact product references and cited FAQ answers; an unsupported question is not a product fact. Use find_purchase_candidates for the buyer's chosen constraints.
{
"type": "object",
"properties": {
"unit": {
"enum": [
"sheet",
"mL",
"g",
"egg",
"pair",
"piece"
],
"type": "string",
"description": "Guide-declared comparison unit, not guessed contents or product equivalence."
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1
},
"query": {
"type": "string",
"maxLength": 160,
"description": "Literal validated reviewed-question text, guide keywords and dated primary/option labels or SKUs of explicitly referenced products, honoring the guide option filter. Question text can ask about unsupported claims; answers are not positive feature evidence. Finds documentation only, not exact candidate membership, current stock or compatibility; not general translation."
},
"offset": {
"type": "integer",
"maximum": 10000,
"minimum": 0
},
"currency": {
"type": "string",
"pattern": "^[A-Za-z]{3}$",
"description": "Exact native currency of guide examples; no exchange-rate conversion."
},
"sellerId": {
"type": "string",
"pattern": "^[a-z0-9_-]+$",
"maxLength": 80,
"description": "Exact guide-declared merchant or catalog merchant of an explicitly referenced guide product ID; never inferred from search text, ID prefixes or unrestricted candidate membership."
},
"destinationCountry": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "Filter guide example country only, never product shipping eligibility or the actual buyer address."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}find_purchase_candidates
Find exact products with issued affiliate routes. Requires query, destinationCountry and currency; preserve option, quantity, region, budget and benefits. Use responseMode brief. Returned URLs are not current stock or checkout.
{
"type": "object",
"required": [
"query",
"currency",
"destinationCountry"
],
"properties": {
"unit": {
"enum": [
"sheet",
"mL",
"g",
"egg",
"pair",
"piece"
],
"type": "string"
},
"limit": {
"type": "integer",
"maximum": 20,
"minimum": 1
},
"query": {
"type": "string",
"maxLength": 200,
"description": "Recorded product name, brand, merchant/category and identity-reviewed primary title and exact-product dated primary-source labels; literal reviewed weights, no general conversion or SKU/option matching. Use optionQuery for recorded exact options."
},
"budget": {
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"type": "number",
"maximum": 1000000000000,
"exclusiveMinimum": 0
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$"
}
},
"description": "Buyer spending ceiling in one explicit currency; preserved locally, never payment authorization or a delivered-total quote.",
"additionalProperties": false
},
"category": {
"type": "string"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$"
},
"maxPrice": {
"type": "number",
"minimum": 0
},
"quantity": {
"type": "integer",
"maximum": 99,
"minimum": 1,
"description": "Requested number of merchant listing configurations or packages, not individual contents. When omitted, quantity1 is explicitly an example. Preserved in read-only verification/preparation plans. Does not reserve stock, apply a merchant selection, change per-unit price ceilings or authorize payment."
},
"sellerId": {
"type": "string"
},
"productId": {
"type": "string",
"pattern": "^[A-Za-z0-9_.-]+$",
"maxLength": 160,
"minLength": 1,
"description": "Exact case-sensitive Hadacart catalog product ID. Applied together with every other filter; an unknown ID or mismatch returns zero candidates without falling back to title search. Not a provider variant ID."
},
"optionQuery": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Literal terms in one recorded option name. Requires sellerId; incompatible with product-price/unit filters. Revalidate exact option before budgeting or purchase."
},
"maxUnitPrice": {
"type": "number",
"minimum": 0
},
"purchaseMode": {
"enum": [
"one-time-purchase-advertisement"
],
"type": "string",
"description": "Exact recorded advertised purchase mode. Unknown modes are excluded when supplied. Normal-purchase advertised price is not a rental/monthly quote or buyer-specific selected-option/final total."
},
"responseMode": {
"enum": [
"full",
"brief"
],
"type": "string",
"description": "Use brief for candidate discovery with lower response volume. Retains all candidate facts, source dates, buyer constraints, destination/benefit/affiliate assessments and original issued URLs; omits repeated preparation/verification templates and related-guide lists. Full detail requests are returned without execution. Default full preserves existing clients. Neither mode verifies current stock, delivery, payment or revenue."
},
"maxOptionPrice": {
"type": "number",
"minimum": 0,
"description": "Nonnegative ceiling on a dated exact Keychron option unit price. Requires optionQuery, sellerId keychron and USD; excludes unknown prices, shipping and tax. Zero candidate results include bounded optionBudgetEvidence for the same named option, preserving destination and buyer ceiling. Not current inventory, final total or buyer spending authorization."
},
"optionQueryMode": {
"enum": [
"terms",
"exact"
],
"type": "string",
"description": "Requires optionQuery. Default terms is literal-token discovery. exact matches the entire case-sensitive recorded option name, including spaces and punctuation; no trimming, normalization or variant substitution. terms allows up to100characters; exact allows up to200characters."
},
"productCondition": {
"enum": [
"new",
"used",
"refurbished"
],
"type": "string",
"description": "Exact recorded merchant-declared product condition. Unknown or mixed/unclassified condition is excluded when supplied. Not independent inspection, grade equivalence, current availability or a selected-option guarantee."
},
"unitPriceCeiling": {
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$"
}
},
"description": "Buyer ceiling per one exact selected merchant listing/configuration, in explicit native currency. Not a per-100g/reference-unit filter or total budget. Preserve quantity, option, benefits and currency; no conversion, current quote or payment permission.",
"additionalProperties": false
},
"destinationRegion": {
"type": "string",
"maxLength": 10
},
"referenceQuantity": {
"type": "number",
"exclusiveMinimum": 0
},
"destinationCountry": {
"type": "string",
"pattern": "^[A-Z]{2}$"
},
"minPackageQuantity": {
"type": "number",
"minimum": 0
},
"maxSnapshotAgeHours": {
"type": "number",
"exclusiveMinimum": 0
},
"purchasePreferences": {
"type": "object",
"properties": {
"channel": {
"enum": [
"PC",
"Mobile Web",
"APP(AOS)",
"APP(IOS)"
],
"type": "string"
},
"benefits": {
"type": "array",
"items": {
"enum": [
"merchant-coupon",
"points",
"voucher",
"store-credit",
"cart-coupon",
"product-coupon",
"stackable-coupon"
],
"type": "string"
},
"maxItems": 8,
"description": "Purchase benefits intended by the buyer. Omitted means unknown; [] means no benefits selected. Never drop buyer benefits to obtain commission.",
"uniqueItems": true
},
"orderCountry": {
"type": "string",
"pattern": "^[A-Z]{2}$",
"description": "Order geography as recognized by the affiliate provider; do not infer this from IP or language."
},
"paymentMethod": {
"enum": [
"naver-pay",
"card",
"bank-transfer",
"other"
],
"type": "string",
"description": "Buyer payment preference only; not payment credentials or proof of merchant acceptance. Preserve this preference even when commission is excluded."
},
"merchantStoreCountry": {
"type": "string",
"pattern": "^[A-Z]{2}$",
"description": "Actual country storefront selected at merchant; not inferred from buyer language or shipping destination."
}
},
"description": "Buyer choices for this product. Not payment credentials or authorization. Store/order country must be independently known; never inferred from destination. Preserve benefits even when commission is excluded.",
"additionalProperties": false
},
"includeVerificationPlans": {
"type": "boolean",
"description": "With responseMode brief only, true includes original read-only source verification plans, preserving exact product/variant, quantity, destination, budget, per-unit ceiling and benefits. Avoid an extra full-detail query when the buyer or client wants source verification next. Plans may be unsupported or blocked; no source/affiliate/cart/payment request executes. Default false."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}search_products
Search merchant catalogs by keywords or exact identifiers. Set affiliateLinkedOnly=true for recorded issued links. Use find_purchase_candidates with buyer destination and currency for a purchase route.
{
"type": "object",
"properties": {
"sort": {
"enum": [
"default",
"priceAsc",
"priceDesc",
"unitPriceAsc"
],
"type": "string"
},
"unit": {
"enum": [
"sheet",
"mL",
"g",
"egg",
"pair",
"piece"
],
"type": "string"
},
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1
},
"query": {
"type": "string",
"maxLength": 200
},
"market": {
"enum": [
"all",
"domestic",
"international"
],
"type": "string"
},
"offset": {
"type": "integer",
"minimum": 0
},
"category": {
"enum": [
"전체",
"리빙·키친",
"디지털",
"문구·데스크",
"패션",
"신발",
"뷰티·생활",
"식품·커피"
],
"type": "string"
},
"currency": {
"type": "string"
},
"maxPrice": {
"type": "number",
"minimum": 0
},
"minPrice": {
"type": "number",
"minimum": 0
},
"sellerId": {
"type": "string"
},
"productId": {
"type": "string",
"pattern": "^[A-Za-z0-9_.-]+$",
"maxLength": 160,
"minLength": 1,
"description": "Exact case-sensitive Hadacart catalog product ID. Applied together with every other filter; an unknown ID or mismatch returns zero candidates without falling back to title search. Not a provider variant ID."
},
"optionQuery": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Literal tokens must match the same captured option name. Requires sellerId and explicit currency. No product-price/unit ranking filters; revalidate exact option for budgets. Does not infer current stock."
},
"maxUnitPrice": {
"type": "number",
"minimum": 0
},
"purchaseMode": {
"enum": [
"one-time-purchase-advertisement"
],
"type": "string",
"description": "Exact recorded advertised purchase mode. Unknown modes are excluded when supplied. Normal-purchase advertised price is not a rental/monthly quote or buyer-specific selected-option/final total."
},
"availableOnly": {
"type": "boolean"
},
"maxOptionPrice": {
"type": "number",
"minimum": 0,
"description": "Nonnegative ceiling on a dated exact Keychron option unit price. Requires optionQuery, sellerId keychron and USD; excludes unknown prices, shipping and tax. Zero candidate results include bounded optionBudgetEvidence for the same named option, preserving destination and buyer ceiling. Not current inventory, final total or buyer spending authorization."
},
"optionQueryMode": {
"enum": [
"terms",
"exact"
],
"type": "string",
"description": "Requires optionQuery. Default terms is literal-token discovery. exact matches the entire case-sensitive recorded option name, including spaces and punctuation; no trimming, normalization or variant substitution. terms allows up to100characters; exact allows up to200characters."
},
"productCondition": {
"enum": [
"new",
"used",
"refurbished"
],
"type": "string",
"description": "Exact recorded merchant-declared product condition. Unknown or mixed/unclassified condition is excluded when supplied. Not independent inspection, grade equivalence, current availability or a selected-option guarantee."
},
"destinationRegion": {
"type": "string"
},
"referenceQuantity": {
"type": "number",
"exclusiveMinimum": 0
},
"destinationCountry": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "Shipping destination; market denotes merchant grouping, not buyer country"
},
"minPackageQuantity": {
"type": "number",
"minimum": 0
},
"affiliateLinkedOnly": {
"type": "boolean",
"description": "Only products with an official issued affiliate link; final approval can be pending."
},
"maxSnapshotAgeHours": {
"type": "number",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_product
Read one exact productId: dated native price, option and source evidence, original issued purchase URL. IDs come from returned products; a merchant URL or variant ID is not a productId.
{
"type": "object",
"required": [
"productId"
],
"properties": {
"productId": {
"type": "string"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
Not advertised
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
- 1784 ms
- 95th percentile latency
- 1784 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 1784 ms · metadata changed · 4 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http hadacart-catalog-snapshots-mcp https://hadacart.com/api/catalog/mcpCodex
codex mcp add hadacart-catalog-snapshots-mcp --url https://hadacart.com/api/catalog/mcpCursor
{
"mcpServers": {
"hadacart-catalog-snapshots-mcp": {
"url": "https://hadacart.com/api/catalog/mcp"
}
}
}Cline
{
"mcpServers": {
"hadacart-catalog-snapshots-mcp": {
"type": "streamableHttp",
"url": "https://hadacart.com/api/catalog/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"hadacart-catalog-snapshots-mcp": {
"type": "http",
"url": "https://hadacart.com/api/catalog/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http hadacart-catalog-snapshots-mcp https://hadacart.com/api/catalog/mcpClaude Desktop
{
"mcpServers": {
"hadacart-catalog-snapshots-mcp": {
"url": "https://hadacart.com/api/catalog/mcp"
}
}
}Windsurf
{
"mcpServers": {
"hadacart-catalog-snapshots-mcp": {
"serverUrl": "https://hadacart.com/api/catalog/mcp"
}
}
}Let your agent find its tools
Find servers like Hadacart Catalog Snapshots MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other commerce servers
Do you run Hadacart Catalog Snapshots 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.