store

Search and preview Datanest developer products, then prepare buyer-authorized Stripe Checkout.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
96%
Naming quality
97%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,602Tokens (tool definitions)
~1.5 KBTypical response size
Moderate attention impact (1.25% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "store": {
      "url": "https://datanest-stores.pages.dev/mcp"
    }
  }
}

Remote endpoints

https://datanest-stores.pages.dev/mcpstreamable-http
https://datanest-stores.com/mcpstreamable-http

What it can do

Tool inventory

Tools (7)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢search_products(query, domain, category, tags, max_price_usd, ...)

Search the Datanest catalogue of digital technical products. Accepts natural-language intent queries (e.g. "add authentication to my SaaS", "reduce my AWS bill", "prepare for a system design interview") — stopwords and phrasing are handled, and synonyms are expanded. Returns concise product cards ranked by relevance, with stable canonical URLs. If a query matches little, the result includes suggestions/did_you_mean/available_domains so you can refine. Read-only and public. By default only agent-purchasable products are returned; set include_unsellable=true to also surface unaudited/deprecated items (clearly flagged, not buyable).

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "maxLength": 200,
      "description": "Free-text search over title, description, tags, and store."
    },
    "domain": {
      "type": "string",
      "maxLength": 40,
      "description": "Filter by domain/family id: data, ai, cloud, dev, security, career."
    },
    "category": {
      "type": "string",
      "maxLength": 60,
      "description": "Filter by human category name."
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 40
      },
      "maxItems": 10,
      "description": "Require ALL of these tags."
    },
    "max_price_usd": {
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 10000
    },
    "verified_only": {
      "type": "boolean",
      "description": "Only return first-party \"verified\" products."
    },
    "include_unsellable": {
      "type": "boolean",
      "description": "Also include unaudited/deprecated products (discoverability only)."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    },
    "page_size": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_product_details(product_id)

Return the full factual detail for one product: exact title, price/currency, short + detailed description, included files, prerequisites, supported technologies/versions, install time, license, latest version, last verified date, verification status, compatibility notes, preview URL, product page URL, and stable product_id/SKU. Read-only and public.

Input Schema

{
  "type": "object",
  "properties": {
    "product_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120,
      "description": "Product id (\"store:slug\"), SKU, or unambiguous slug."
    }
  },
  "required": [
    "product_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢compare_products(product_ids, use_case)

Compare 2–4 products factually, using only stored metadata (price, license, versions, prerequisites, files, verification status, etc.). Never fabricates differences or suitability claims. Read-only and public.

Input Schema

{
  "type": "object",
  "properties": {
    "product_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 120
      },
      "minItems": 2,
      "maxItems": 4,
      "description": "2 to 4 product ids or slugs."
    },
    "use_case": {
      "type": "string",
      "maxLength": 300,
      "description": "Optional buyer use case (recorded, not used to invent claims)."
    }
  },
  "required": [
    "product_ids"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_product_preview(product_id)

Return SAFE public previews only: documentation excerpts, a file-name tree, screenshot/demo links, and sample snippets intended for public display. Never returns the purchased ZIP, private storage URLs, secrets, whole paid source files, or signed download URLs. Read-only and public.

Input Schema

{
  "type": "object",
  "properties": {
    "product_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120,
      "description": "Product id, SKU, or unambiguous slug."
    }
  },
  "required": [
    "product_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡create_checkout_link(product_id, quantity, buyer_email, success_url, cancel_url, ...)

SIDE-EFFECTING: creates a short-lived Stripe Checkout session/link for ONE product (quantity fixed to 1) and returns only the hosted checkout URL, product summary, exact price, and expiry. The price and Stripe price id are resolved server-side from trusted catalogue data — client-supplied price/amount/currency/name/price-id are ignored/rejected. The buyer must explicitly authorize payment in Stripe Checkout; NO card is charged autonomously. Products that are unaudited/deprecated/not agent-sellable are rejected.

Input Schema

{
  "type": "object",
  "properties": {
    "product_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120,
      "description": "Product id, SKU, or unambiguous slug."
    },
    "quantity": {
      "type": "number",
      "const": 1,
      "description": "Must be 1 (digital product)."
    },
    "buyer_email": {
      "type": "string",
      "format": "email",
      "maxLength": 254,
      "description": "Optional prefill for the checkout."
    },
    "success_url": {
      "type": "string",
      "format": "uri",
      "maxLength": 500,
      "description": "Optional; must be on the allowlisted host."
    },
    "cancel_url": {
      "type": "string",
      "format": "uri",
      "maxLength": 500,
      "description": "Optional; must be on the allowlisted host."
    },
    "idempotency_key": {
      "type": "string",
      "minLength": 8,
      "maxLength": 128,
      "description": "Optional idempotency key to avoid duplicate sessions."
    }
  },
  "required": [
    "product_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢check_order_status(checkout_session_id)

Poll the status of a checkout session created by create_checkout_link. Returns a coarse status (paid | open | expired | unknown) and the recommended next step, with NO buyer PII. When status is "paid", call get_purchase_access with the same session_id to obtain the download link.

Input Schema

{
  "type": "object",
  "properties": {
    "checkout_session_id": {
      "type": "string",
      "minLength": 3,
      "maxLength": 120,
      "description": "The Stripe checkout session id (cs_...) returned by create_checkout_link."
    }
  },
  "required": [
    "checkout_session_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_purchase_access(session_id, download_token, email)

AUTHENTICATED: for a buyer who already completed a purchase, returns a short-lived (~15 min), single-purpose signed download link for THEIR order only. Ownership is proven by an unguessable credential issued at fulfilment — the Stripe session_id or the download token. Reuses the existing entitlement + signed-link service; each call consumes one of the limited downloads. Cannot list or access other purchasers' orders.

Input Schema

{
  "type": "object",
  "properties": {
    "session_id": {
      "type": "string",
      "maxLength": 120,
      "description": "Stripe checkout session id (cs_...)."
    },
    "download_token": {
      "type": "string",
      "format": "uuid",
      "description": "Download token (UUID) issued at fulfilment."
    },
    "email": {
      "type": "string",
      "format": "email",
      "maxLength": 254,
      "description": "Optional purchaser email, recorded for audit."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded7 tools
failed observationversion not recorded—
verifiedversion not recorded7 tools
failed observationversion not recorded—
failed observationversion not recorded—
failed observationversion not recorded—
failed observationversion not recorded—