Connects Claude to Amazon review data across 10 marketplaces through Shulex VOC's OpenAPI. You get six tools: fetch reviews by ASIN, run sentiment and pain point analysis, generate listing improvements grounded in customer language, ingest your own CSV exports from Helium 10 or Shopify, and render standalone HTML dashboards. The listing improvement tool is the standout, it rewrites titles, bullets, and descriptions using phrases customers actually typed. Ships with verified purchase flags, Vine badges, and helpful vote counts in the schema. Handles up to 1,000 reviews per product. Works as a standard MCP server or deploys to Vercel, Smithery, or any Docker host if you need remote access.
Public tool metadata for what this MCP can expose to an agent.
fetch_reviewsFetch raw Amazon reviews for an ASIN via the Shulex VOC API. No analysis — returns the raw review array plus metadata. Use this when you want to plug reviews into your own analysis pipeline, or when you plan to call `analyze_reviews` later (avoids paying the Shulex API twice)....3 paramsFetch raw Amazon reviews for an ASIN via the Shulex VOC API. No analysis — returns the raw review array plus metadata. Use this when you want to plug reviews into your own analysis pipeline, or when you plan to call `analyze_reviews` later (avoids paying the Shulex API twice)....
asinstringlimitintegermarketstringanalyze_reviewsRun AI analysis on reviews you already have. Useful when you fetched reviews via `fetch_reviews` (or your own scraper) and want the VOC report — sentiment breakdown, pain points, selling points, listing tips — without re-paying the Shulex API. Args: reviews_json: Either fetch....2 paramsRun AI analysis on reviews you already have. Useful when you fetched reviews via `fetch_reviews` (or your own scraper) and want the VOC report — sentiment breakdown, pain points, selling points, listing tips — without re-paying the Shulex API. Args: reviews_json: Either fetch....
asinstringreviews_jsonvaluevoc_fullOne-shot: fetch reviews AND run AI analysis. The default tool for "give me a VOC report on this ASIN" style requests. Internally equivalent to `bash voc.sh ASIN` — calls fetch.sh and analyze.sh in sequence. Args: asin: 10-character ASIN. market: Market code or amazon.* domain...3 paramsOne-shot: fetch reviews AND run AI analysis. The default tool for "give me a VOC report on this ASIN" style requests. Internally equivalent to `bash voc.sh ASIN` — calls fetch.sh and analyze.sh in sequence. Args: asin: 10-character ASIN. market: Market code or amazon.* domain...
asinstringlimitintegermarketstringextract_listing_improvementsDifferentiator tool — derive specific, copyable listing improvements from the VOC report, grounded in actual customer language. Instead of raw search-volume tables (Data Dive style), Claude reads the full VOC report and produces a title, 5 bullets, a description paragraph, and...3 paramsDifferentiator tool — derive specific, copyable listing improvements from the VOC report, grounded in actual customer language. Instead of raw search-volume tables (Data Dive style), Claude reads the full VOC report and produces a title, 5 bullets, a description paragraph, and...
asinstringlimitintegermarketstringanalyze_csvAnalyze any review CSV / Excel — not just Amazon. Drag in a Helium 10 export, an eBay / AliExpress scrape, or your own Shopify export. The loader fuzzy-matches column names (`内容` / `评价` / `body` / `review` / `content` all detected automatically) so you don't have to reformat t...3 paramsAnalyze any review CSV / Excel — not just Amazon. Drag in a Helium 10 export, an eBay / AliExpress scrape, or your own Shopify export. The loader fuzzy-matches column names (`内容` / `评价` / `body` / `review` / `content` all detected automatically) so you don't have to reformat t...
marketstringcsv_pathstringproduct_namevaluerender_dashboardRender a VOC report as a standalone black-gold HTML dashboard. The output is single-file HTML — no external dependencies, opens directly in any browser. Includes sentiment bar, pain-point / selling-point panels, executive summary, and (if `improvements` provided) a copy-ready...4 paramsRender a VOC report as a standalone black-gold HTML dashboard. The output is single-file HTML — no external dependencies, opens directly in any browser. Includes sentiment bar, pain-point / selling-point panels, executive summary, and (if `improvements` provided) a copy-ready...
reportobjectoutput_pathvalueimprovementsvalueproduct_namevalue
Agent-native voice-of-customer for e-commerce.
Drop in an ASIN or a CSV — get sentiment, pain points, copy-ready listing improvements,
and a black-gold HTML dashboard. 6 MCP tools. Backed by the most stable Amazon review data layer.
↑ Sample dashboard: B08N5WRWNW · 100 reviews · sentiment + pain points + listing improvements, generated by render_dashboard.
Two inputs, six tools, three outputs.
┌─────────────┐ ┌──────────────┐
│ ASIN │──┐ ┌─│ Markdown │
└─────────────┘ │ ┌─────────────────────────┐ │ │ report │
├──────▶ 6 agent-callable tools ├──────┤ ├──────────────┤
┌─────────────┐ │ └─────────────────────────┘ │ │ Structured │
│ CSV / XLSX │──┘ fetch_reviews analyze_csv │ │ JSON │
└─────────────┘ analyze_reviews voc_full │ ├──────────────┤
extract_listing_improvements └─│ Black-gold │
render_dashboard │ HTML deck │
└──────────────┘
Requires uv.
Add this to your MCP client config (Claude Code, Claude Desktop, Cursor, Windsurf, VS Code Copilot, Cline, Continue.dev):
{
"mcpServers": {
"voc-amazon-reviews": {
"command": "uvx",
"args": ["voc-amazon-reviews-mcp"],
"env": {
"VOC_API_KEY": "your-shulex-key"
}
}
}
}
Get a free Shulex API key (100 calls/month, no credit card): apps.voc.ai/openapi.
Optional: Add "ANTHROPIC_API_KEY": "sk-ant-..." to enable extract_listing_improvements (the only tool that calls Claude directly — others work without it). Must be an actual Anthropic key; other providers won't work.
First run resolves dependencies in ~5s; subsequent runs are instant.
Ask any MCP-compatible agent:
Run a VOC report on
B08N5WRWNW, render the dashboard, and write it to~/Desktop/voc.html.
The agent will call voc_full → render_dashboard and hand you the file.
bash voc.sh B08N5WRWNW --limit 100 --market US
# Drop in any reviews CSV (Helium 10 export, eBay scrape, Shopify, custom)
python -c "from mcp_server.tools import analyze_csv, render_dashboard; \
r = analyze_csv('reviews.csv', product_name='My Product'); \
render_dashboard(r, output_path='dashboard.html')"
Connect to the server remotely — no uvx, no Python, no local install. Bring
your own Shulex API key (Smithery prompts for it on first connection).
This repo ships a Dockerfile and smithery.yaml for one-click deploy.
To run your own hosted instance:
The same image runs anywhere that takes a Dockerfile — Fly.io, Railway, Cloudflare Workers (with adapter), Render, Cloud Run.
To run the HTTP transport locally (e.g. for testing):
MCP_TRANSPORT=streamable-http PORT=8080 python -m mcp_server.server
This repo also ships vercel.json + app.py for one-click Vercel
deploys. Sign in at vercel.com with GitHub, import the
repo, and Vercel auto-detects the Python function.
Set these in Project Settings → Environment Variables before the first deploy:
| Variable | Required | Notes |
|---|---|---|
VOC_API_KEY | yes | Shulex VOC OpenAPI key |
ANTHROPIC_API_KEY | optional | Only for extract_listing_improvements |
Timeout caveat: Vercel functions cap at 10s (Hobby default), 60s
(Hobby with maxDuration: 60 — already set in vercel.json), or 300s
(Pro). Long-running tools like voc_full (30-90s) and
extract_listing_improvements (20-60s) may exceed these limits. For
unbounded execution, prefer Option D (Docker/Render/Fly) or local install.
The MCP endpoint after deploy: https://your-project.vercel.app/mcp
| # | Tool | Input | Use when |
|---|---|---|---|
| 1 | fetch_reviews | ASIN | You want raw reviews; you'll analyze them yourself |
| 2 | analyze_reviews | reviews JSON | You already have reviews and want the VOC report |
| 3 | voc_full | ASIN | Default "give me a VOC report" — fetch + analyze in one call |
| 4 | extract_listing_improvements | ASIN | ★ Differentiator — copy-ready title / 5 bullets / description grounded in customer language |
| 5 | analyze_csv | CSV / Excel path or URL | The product is NOT on Amazon, or you have your own scrape |
| 6 | render_dashboard | VOC report | Generate a standalone black-gold HTML dashboard, no external deps |
All 6 tools speak MCP. All return JSON-serializable dicts. Full schemas in mcp_server/README.md.
Most "AI review tools" are a thin LLM wrapper over a brittle scraper. We invert that. The data layer is the moat:
| Typical seller-tool data layer | review-analyzer | |
|---|---|---|
| Source | Web scraper / undocumented scrape API | Paid Shulex VOC OpenAPI |
| Reliability | Breaks when Amazon updates HTML | API-grade, no DOM dependencies |
| Markets | US-only or 2-3 markets | 10: US, CA, MX, GB, DE, FR, IT, ES, JP, AU |
| Volume | 10–50 reviews (free-tier cap) | Up to 1,000 reviews per ASIN |
| Freshness | Daily snapshots, sometimes cached for days | Live pull |
| Schema | Strings only | Full: verified-purchase, helpful votes, vine, variant, dates |
| Non-English markets | Often broken / omitted | Native captures + AI translation |
| Access | Locked behind a UI | curl + JSON, fully scriptable, MCP-ready |
For non-Amazon platforms, analyze_csv accepts any review file — fuzzy column matching detects 内容 / 评价 / body / review / content so you don't have to reformat. Bring data from anywhere, get the same VOC report.
| review-analyzer | Helium 10 / Data Dive | review-analyzer-skill (Buluu) | Generic review scrapers | |
|---|---|---|---|---|
| Input | ASIN or CSV | ASIN (manual UI) | CSV only | URL |
| Markets | 10 | 1-3 | depends on user's data | 1 |
| Output | JSON + Markdown + HTML dashboard | UI dashboard (locked) | CSV + MD + HTML dashboard | Raw CSV |
| MCP-callable | ✅ | ❌ | ❌ Claude Code only | ❌ |
| Listing copy gen | ✅ extract_listing_improvements (cite-by-pain-point) | Keyword research only | ❌ | ❌ |
| Cost | Shulex API + Anthropic API ($0.05-0.20/listing) | $99-249/month subscription | Free (uses your Claude quota) | Free, brittle |
| Open source | ✅ MIT | ❌ | ✅ MIT | varies |
Credit & inspiration: The 22-dimension tag system, fuzzy CSV column detection, and black-gold dashboard aesthetic were inspired by buluslan/review-analyzer-skill (MIT). We adapted them onto an MCP-native architecture with the Shulex VOC OpenAPI data layer.
mcp_server/
├── server.py # 6 @mcp.tool decorators
├── tools.py # implementations (subprocess wrappers + Anthropic SDK)
├── csv_loader.py # fuzzy column detection for CSV/Excel input
├── dashboard.py # HTML rendering
├── dashboard_template.html # black-gold template (placeholders)
├── tag_system.yaml # 22-dim tag schema (customizable per category)
├── schemas.py # pydantic structured-output models
└── tests/ # 36 unit tests (subprocess + Anthropic mocked)
fetch.sh / analyze.sh / voc.sh # shell pipeline behind tools 1-3
claude-opus-4-7 + adaptive thinking + prompt caching on the system rubric)| Channel | Status |
|---|---|
| punkpeye/awesome-mcp-servers PR #6528 | ✅ Open |
| cline/mcp-marketplace issue #1602 | ✅ Open |
| Glama | 🟢 Auto-indexed via GitHub topics |
| mcp.directory | 🟢 Auto-pull |
| mcp.so / PulseMCP | 🟡 Pending (manual form submit) |
| Smithery | 🟡 Container deploy ready (smithery.yaml + Dockerfile in repo) |
| Official MCP Registry | 🟡 Pending PyPI publish (W2) |
npx skills add mguozhen/review-analyzer one-line installsmithery.yaml + Dockerfile)vercel.json + app.py)MIT. See LICENSE.
Acknowledgments: Tag schema, CSV column detection, and dashboard visual design inspired by buluslan/review-analyzer-skill. Data layer powered by Shulex VOC OpenAPI.
VOC_API_KEY*secretShulex VOC OpenAPI key. Get a free one (100 calls/month, no credit card) at https://apps.voc.ai/openapi
ANTHROPIC_API_KEYsecretAnthropic API key. Only needed if you use extract_listing_improvements (which uses Claude Opus 4.7 for structured listing rewrites).