Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

xurprise

by Nimo1987version 0.3.0i★ –iRuns in the cloud
Registry nameai.xurprise/mcp

Install

Overview

Description from the maker (original English)

Agent-native commerce for SEA/China/global. 43 brands. 6 tools. 9-language search.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs in the cloud
  • Transport: Streamable HTTP
  • Category: Online shops & payments

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on the maker’s server: what you ask it goes through their server.
  • The registry lists no key to fill in.

You need

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Works in Claude on the web, desktop and mobile:

  1. Open Settings → Connectors
  2. Press Add custom connector
  3. Paste the address below and press Add
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Add2https://…3
https://xurprise.ai/api/mcp

Run this in your terminal

claude mcp add --transport http xurprise https://xurprise.ai/api/mcp

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "xurprise": {
      "url": "https://xurprise.ai/api/mcp"
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "xurprise": {
      "type": "http",
      "url": "https://xurprise.ai/api/mcp"
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

ChatGPT connects only to servers on the internet:

  1. Open ChatGPT on the web → Settings → Connectors (Apps)
  2. Press Create or Add (some plans need Developer mode under Advanced first)
  3. Paste the address below, give it a name and save
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Create2https://…3
https://xurprise.ai/api/mcp

Menu names can differ slightly by plan and over time.

Your choice stays on this device in a cookie; no account needed.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

We have not read this server’s tool list yet; we check endpoints in rotation.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified against the domain xurprise.ai (the registry checks domain ownership)

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • … Not checked yet

    Endpoint responds

    Not checked yet; we check endpoints in rotation

  • … Not checked yet

    Sign-in with OAuth

    Not checked yet; we check endpoints in rotation

  • … Not checked yet

    No hidden instructions in tool descriptions

    Not checked yet; we read the tool list when we check the endpoint

Compared with others in Online shops & paymentsi

  • More stars than 0% of the other 2534 servers in this category
  • Published to the registry more recently than 5% of the other 2534 servers in this category
  • Basic checks equal to or better than 100% of the other 2534 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is xurprise safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.3.0) reached the registry 7 months ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.

What can I use instead?

In the same category: Spree Commerce: open-source B2B and marketplace ecommerce, Stripe MCP, MCP Cn Commerce

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Stripe MCP

by stripe

Stripe’s official server lets AI view and manage customers, products, payments and invoices. Connect to Stripe’s cloud and sign in with OAuth.

Runs in the cloud★ 2,043MITUpdated 12 months ago
Install

MCP Cn Commerce

by TonyWang-hub

8 read-only MCP platform entries; support is operation-specific; merchant live acceptance pending

Runs on your computer★ 96MITUpdated 28 days ago
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

xurprise MCP

Agent-native commerce · xurprise.

One HTTPS endpoint. Six tools. Zero setup. Multilingual.

This GIF is recorded from a real page, not a mockup.

Visit [xurprise.ai/demo](https://xurprise.ai/demo/) to watch it render live in your browser. It runs the official @openuidev/react-lang against a custom BrandCard component, driven by hand-authored openui-lang snippets that wrap the exact JSON xurprise.ai/api/mcp returns — so what you see *is* what any OpenUI-based chat client gets when it calls our MCP.

The xurprise MCP server lets any MCP-compatible agent (Claude, Cursor, Cline, Continue, Goose, etc.) discover merchant brands and get attribution-tracked click-through URLs across a curated catalogue spanning Taobao, Shopee, Shein, Xiaomi, Sephora, JD Sports, Airpaz, WPS, FusionHome AI, and more — with region matching built in so agents don't recommend Singapore-only merchants to users in Germany.

Hosted endpoint: https://xurprise.ai/api/mcp

Protocol: Model Context Protocol (MCP) 2024-11-05 over Streamable HTTP. Stateless, no auth required, no SDK needed.


Why

Commerce in the agent era has a cold-start problem: when an agent wants to recommend a real merchant, it typically:

  1. Searches the open web, picks a result based on SEO ranking, and hopes the merchant ships to its user's country.
  2. Or hardcodes a handful of well-known brands and misses region fit.

xurprise MCP solves this for the niche we cover by giving agents a machine-readable, region-aware brand catalogue — one call and you get back a structured list of merchants the user can actually buy from, with canonical storefront URLs and click-through URLs that log attribution for us and pass through any aff_sub tag the agent supplies.


Quick start

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows).

Option A — native remote HTTP (Claude Desktop ≥ early 2025):

{

"mcpServers": { "xurprise": { "type": "http", "url": "https://xurprise.ai/api/mcp" } } }

Option B — via `mcp-remote` bridge (any Claude Desktop version):

{

"mcpServers": { "xurprise": { "command": "npx", "args": ["-y", "mcp-remote", "https://xurprise.ai/api/mcp"] } } }

Restart Claude Desktop, open a new conversation, and type something like:

I'm in Singapore. Any good beauty brands I can shop online?

Claude will call search_brands(query="beauty", region="Singapore") and surface Sephora SG with a click-through URL.

Cursor

Add to ~/.cursor/mcp.json:

{

"mcpServers": { "xurprise": { "url": "https://xurprise.ai/api/mcp" } } }

Cline / Continue / Goose

Same remote HTTP URL — see each client's docs for the exact config path. If your client only supports stdio, use mcp-remote as the bridge (see Option B above).

Raw HTTP (curl, Python, anywhere)
curl -X POST https://xurprise.ai/api/mcp \

-H 'Content-Type: application/json' \ -d '{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "search_brands", "arguments": { "query": "badminton", "region": "Singapore" } } }'


Tools

Note on response shape. MCP tools/call returns an object with

two fields: content[] (text blocks containing JSON) and

structuredContent (the typed result). Per the MCP spec,

structuredContent must be a record (object), not an array —

so tools that logically return a list wrap it in a record with

a results / regions / categories key. All MCP-compatible

clients (Claude Desktop, Cursor, Cline, Continue, Goose, etc.)

auto-handle this; you only see it if you're decoding the raw

JSON-RPC response yourself.

Multilingual search

The search_brands tool is indexed across 9 language variants so agents serving SEA users don't have to translate queries to English:

  • English, Simplified + Traditional Chinese
  • Malay, Indonesian, Vietnamese, Thai
  • Japanese, Korean

Verified: 20 test queries in 8 languages, all resolve the same consumer intent to the same brand. A few examples:

querylanguagetop-1 match
beauty SingaporeENsephora-sg
新加坡 美妆ZHsephora-sg
kecantikan SingapuraMSsephora-sg
mỹ phẩm SingaporeVIsephora-sg
เครื่องสำอาง สิงคโปร์THsephora-sg
シンガポール 化粧品JAsephora-sg
싱가포르 화장품KOsephora-sg
小米 手机ZHxiaomi-sg
샤오미KOxiaomi-sg
机票 / 航空券 / 항공권ZH/JA/KOairpaz-global
希音ZHshein-global

The per-brand keyword index covers brand aliases (transliterated names like 小米 / 샤오미 / シャオミ for Xiaomi), category synonyms (Fashion / 时尚 / fesyen / thời trang / แฟชั่น / ファッション / 패션), and region aliases (Singapore / 新加坡 / 싱가포르 / สิงคโปร์ / Singapura). CJK and Thai queries are tokenized with 2-char n-grams since those scripts have no whitespace word boundaries.

search_brands

Free-text search over the catalogue. Results are rank-scored on the query against brand name, headline, category, and the multilingual keyword index above.

search_brands({

query: string, // required — e.g. "skincare", "Taobao", "athletic shoes" region?: string, // optional — full country name or "International" category?: string, // optional — "Fashion", "Electronics", etc. limit?: number, // optional — default 10, max 50 }) => { results: Brand[], count: number, query: string }

get_brand

Fetch the full record for a slug.

get_brand({ slug: string }) => Brand
list_regions

All shipping regions represented in the catalogue (use before recommending to confirm user's country is covered).

list_regions() => { regions: string[], count: number }
list_categories

All categories represented in the catalogue.

list_categories() => { categories: string[], count: number }
get_click_url

Build the canonical click-through URL. Use this (not the merchant URL directly) so the click gets logged for attribution, and any aff_sub you pass will be propagated downstream.

get_click_url({

slug: string, aff_sub?: string, // optional — up to 200 chars, recommended: // your agent's session id or similar }) => { click_url: string, slug: string, name: string }

wrap_product_url

Product-level attribution. Use when the user wants a specific item (a particular Sony headphone, a specific Shein dress, etc.) rather than the brand's homepage. You supply any URL on a supported merchant's site — xurprise wraps it into a click-through URL that lands the user on that exact product while preserving attribution tracking.

The agent is expected to discover the merchant URL itself (via its own web search, training knowledge, or MCP tool composition). xurprise is the attribution layer, not the catalogue — this lets you leverage whatever product-discovery capabilities your client already has.

wrap_product_url({

merchant_url: string, // required — full https URL on a supported merchant // e.g. "https://shopee.sg/Sony-WH-1000XM5-i.12345.67890" product_name?: string, // optional — surfaces in attribution logs aff_sub?: string, // optional — e.g. your chat session id }) => { click_url: string, // https://xurprise.ai/go/p?u=... (302s to the product) merchant_url: string, // canonicalized input merchant_hostname: string, slug: string, // which brand the domain maps to brand: string, name: string, }

Supported merchant domains (product-level attribution works on any URL within these, even deep paths):

BrandAccepted hostname (incl. subdomains)
Shopee SGshopee.sg
Xiaomi SGmi.com
Sephora SGsephora.sg
JD Sports SGjdsports.com.sg
Sheinshein.com (any regional subdomain)
Airpazairpaz.com
WPS Officewps.com
FusionHome AIfusionhome.ai
The Trade Wizardthetradewizard.com

Taobao is deliberately excluded from product-level wrapping — the upstream routing for Taobao is whitelist-locked or brand-only, so product-level attribution isn't reliable there. For Taobao, use get_click_url with the brand-level slug instead.


Brand schema

Every brand record has:

FieldTypeExample
slugstringshopee-sg
namestringShopee — Singapore
brandstringShopee
categoriesstring[]["Marketplace"]
regionsstring[]["Singapore"]
currencystringSGD
merchant_urlstringhttps://shopee.sg/
page_urlstringhttps://xurprise.ai/brands/shopee-sg/
click_urlstringhttps://xurprise.ai/go/shopee-sg
headlinestring(1–3 sentence description)
agent_notestring?Optional region-routing or caveat guidance

Current catalogue

As of the latest refresh, 43 brands across region-matched surfaces:

  • Marketplace — Shopee SG, Taobao (Ai Taobao International), Taobao (brand-level), Alibaba, Banggood, AliExpress
  • Fashion — JD Sports SG, Shein Global, Poplook, Rip Curl SG, Juice Store, Bernardelli
  • Health & Beauty — Sephora SG, Kinohimitsu SG, Papique
  • Electronics — Xiaomi SG, XP-PEN SG, Stryv SG
  • Travel — Airpaz, KKday, Zen Hotels, byFood, TrainPal, Kiwi.com, EasyBook, NINJA WiFi
  • Digital Services / Software — WPS, The Trade Wizard, Sider AI, Wegic, iMobie, MyRepublic SG
  • Online Courses — Udemy, International Open Academy
  • Gaming / Entertainment — UniPin, GameSeal, BINGE
  • Gifting & Crafts — Photobook SG, FlowerAdvisor SG
  • Home & Living — FusionHome AI, Homestyler
  • Automotive — Trapo SG
  • Deals / Aggregation — StackSocial

Regional coverage: 12 Singapore-local, 2 Malaysia / SG multi-region, 7 SEA-regional, 22 global. A handful of brands are exposed as brand-level entries only (attribution redirects point at the brand homepage, not individual products) — get_brand surfaces the distinction via the agent_note field when relevant.

For the live list, call list_categories + search_brands or visit https://xurprise.ai/brands/.


FAQ

Is the catalogue curated or crawled? Curated. Every brand goes through a partner-approval flow and is given a hand-authored headline. We do not scrape.

How fresh is the data? Regenerated from our internal catalogue on each deploy. See page_url on each brand and the sitemap lastmod.

Do you track my users? The /go/{slug} redirect logs {timestamp, slug, user-agent, ASN, country, referer} — enough to distinguish crawler traffic from human traffic and to attribute clicks across sessions. We do NOT log raw IPs. Beyond /go/, we do not set cookies or run analytics on the merchant storefront (that's Shopee/Shein/etc.'s own page).

What happens after a click? A 302 redirect chain takes the user to the canonical merchant storefront with attribution preserved end-to-end. Any aff_sub you pass through get_click_url is carried through the chain.

Can I add my brand? Merc

Only the beginning is shown; read the rest in the repo

Ask PopNx