ShopGraph
Structured product data from the open web — where platform APIs don't reach. Schema.org + AI extraction. Pay per call via Stripe MPP.
@laundromatic/shopgraph
Structured product data from the open web, where platform APIs don't reach. Schema.org + AI extraction. Pay per call via Stripe MPP.
Website: https://shopgraph.dev | MCP Endpoint: https://shopgraph.dev/mcp
What it does
Agents connect via Model Context Protocol and call enrichment tools to extract structured product data from URLs. Requests are payment-gated via Stripe: unauthenticated calls receive a 402 challenge, authenticated calls with a payment_method_id are processed and billed.
Architecture
Agent → MCP (streamable-http) → enrich_product / enrich_basic
→ Cache hit? Return immediately (free)
→ No payment_method_id? Return 402 + MPP challenge
→ Payment confirmed → schema.org extraction (fast, 0.95 confidence)
→ No structured data? → Gemini LLM fallback (0.7+ confidence)
→ Bot-blocked or JS-rendered? → Playwright browser fallback
→ Return ProductData + PaymentReceipt
Setup
npm install
Required environment variables in .env:
| Variable | Purpose |
|---|---|
STRIPE_TEST_SECRET_KEY | Stripe test mode secret key |
GOOGLE_API_KEY | Gemini API key for LLM fallback |
Note: Check .env for duplicate key definitions — dotenv uses the last occurrence.
Build & Run
npm run build # Compile TypeScript
npm start # Run MCP server (stdio)
npm run start:http # Run HTTP server (for Vercel/remote)
npm run dev # Run with tsx (no build needed)
Test
npm run test:run # Run all tests once
npm test # Run tests in watch mode
Tools
| Tool | Price | Description |
|---|---|---|
enrich_product | $0.02 | Full product data extraction |
enrich_basic | $0.01 | Basic attributes only (no images) |
Cached results are returned free of charge (24-hour TTL).
MCP Configuration
Add to your MCP client config:
{
"mcpServers": {
"shopgraph": {
"command": "node",
"args": ["/path/to/shopgraph/dist/index.js"]
}
}
}
Server Terkait
Bright Data
sponsorDiscover, extract, and interact with the web - one interface powering automated access across the public internet.
Steel Puppeteer
Provides browser automation capabilities using Puppeteer and Steel, configurable for local or cloud instances.
Kakuyomu MCP Server
An MCP server for the Kakuyomu novel posting site, enabling users to search for works, retrieve episode lists, and read content.
E-Commerce Intelligence MCP Server
Shopify store analysis, product catalog extraction, pricing strategy, and inventory monitoring
yt-dlp
Download video and audio from YouTube and other platforms using the yt-dlp tool.
Browser Use MCP Server
An MCP server that allows AI agents to control a web browser using the browser-use library.
Playwright Record MCP
Browser automation using Playwright with video recording. Enables LLMs to interact with web pages through structured accessibility snapshots.
MCP YouTube Transcript Server
Retrieves transcripts from YouTube videos for content analysis and processing.
Stepstone
Fetches job listings from Stepstone.de based on keywords and location parameters.
YouTube Transcript
An MCP server for extracting and processing transcripts from YouTube videos.
Bilibili
Interact with the Bilibili video website, enabling actions like searching for videos, retrieving video information, and accessing user data.