PDD Shopping MCP

PDD Shopping MCP

Enables searching, normalizing, and signal-analyzing products on Pinduoduo, with built-in fraud signals to help Claude reason about product authenticity.

Category
Visit Server

README

PDD Shopping MCP

MCP server for Claude Code that enables searching, normalizing, and signal-analyzing products on Pinduoduo (拼多多).

What it does

Write in Claude Code:

"Find Ray-Ban Meta smart glasses on Pinduoduo. Compare options and warn me about fake risk."

Claude uses these MCP tools to fetch structured product data with pre-computed fraud signals, then does its own reasoning and recommendations.

Data Sources

Provider Status Notes
mock ✅ Always works Dev/testing. Three Ray-Ban Meta scenarios (replica, suspicious, potentially genuine).
h5 ⚠️ Requires login cookies Playwright scraping of mobile.yangkeduo.com. Requires PDD_H5_COOKIES_JSON.
official 🔲 Skeleton PDD Open Platform / DDK API. Set PDD_PROVIDER=official with credentials.

Important: All mobile.yangkeduo.com pages require login — there is no guest mode. The H5 adapter requires valid session cookies via PDD_H5_COOKIES_JSON. Without cookies it returns NEED_AUTH and falls back to mock data.

Note on H5 scraping: Scraping PDD may violate their Terms of Service. Use for personal research only.

Getting PDD Session Cookies

  1. Log in to Pinduoduo in Chrome (or on your phone)
  2. Open DevTools → Application → Cookies → mobile.yangkeduo.com
  3. Copy cookies to a JSON array format
  4. Set PDD_H5_COOKIES_JSON in your .env file

Cookie format:

[
  {"name": "PDDAccessToken", "value": "...", "domain": ".yangkeduo.com", "path": "/"},
  {"name": "api_uid", "value": "...", "domain": ".yangkeduo.com", "path": "/"}
]

Cookies expire — you may need to refresh them periodically.

Setup

git clone <repo>
cd pdd-shopping-mcp
npm install
npx playwright install chromium
cp .env.example .env
# Edit .env as needed (default is mock mode, no config required)

Run

# Development (mock mode — no config needed)
npm run dev

# Real H5 scraping (requires PDD_H5_COOKIES_JSON in .env)
PDD_PROVIDER=h5 npm run dev

# Tests
npm test

Claude Code Config

Add to ~/.claude/claude_desktop_config.json (or project .claude/mcporter.json):

{
  "mcpServers": {
    "pdd-shopping": {
      "command": "npx",
      "args": ["tsx", "/absolute/path/to/pdd-shopping-mcp/src/index.ts"],
      "env": {
        "PDD_PROVIDER": "h5",
        "CNY_RUB_RATE": "13.5",
        "CARGO_RATE_RUB_PER_KG": "600"
      }
    }
  }
}

Available Tools

Tool Description
health_check Check server and provider status
translate_query_to_chinese Dictionary-based query translation helper
search_pdd_products Search products, returns Product[] with signals
get_pdd_product_detail Get full detail by goodsId or URL
compare_pdd_products Sort by quality signals, generate Russian warnings list
estimate_cargo_cost Calculate total cost including Russia cargo

Product Signals

Each Product has a signals field pre-computed before Claude sees the data:

Signal Meaning
replicaKeywordsFound Chinese replica keywords in title: 同款, 高仿, 复刻, 潮牌…
priceSuspiciouslyLow Price below 15% of expected brand range
priceVsExpectedRatio Ratio of actual to minimum expected price (0.05 = 5% = almost certainly fake)
brandMismatch Price below 50% of brand minimum
hasBuyerPhotos Whether buyers posted real photos
noShopInfo Shop data completely absent

Claude uses these signals to reason about authenticity and risk.

Example Session

User: Find Ray-Ban Meta smart glasses on Pinduoduo. Compare and warn about fakes.

Claude calls: search_pdd_products("Ray-Ban Meta 智能眼镜")
Claude calls: compare_pdd_products([...results])

Analysis:
• 99 CNY — replicaKeywordsFound: ["同款","潮牌"], priceVsExpectedRatio: 0.07 → AVOID
• 399 CNY — priceSuspiciouslyLow: true, no buyer photos → RISKY  
• 1800 CNY — ratio: 1.2, but only 7 reviews → needs more verification

None are confirmed genuine. Real Ray-Ban Meta retails ~$299 USD (~2200+ CNY).

Environment Variables

Variable Default Description
PDD_PROVIDER mock h5, mock, or official
PDD_H5_COOKIES_JSON JSON cookie array (required for h5 mode)
PLAYWRIGHT_HEADLESS true Set false to see browser
CNY_RUB_RATE 13.5 CNY to RUB exchange rate
CARGO_RATE_RUB_PER_KG 600 Cargo rate RUB/kg
CARGO_MIN_KG 0.3 Minimum billable weight kg
DEBUG false Include raw PDD data in Product output

Roadmap

  • PDD Open Platform / DDK API integration
  • Third-party API connectors (RapidAPI)
  • Buyer review and image extraction
  • Price history tracking
  • Taobao / 1688 / Poizon adapters
  • Telegram bot wrapper
  • Image-based search
  • Real cargo company calculator

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured