Amazon MCP App
Lets Claude search Amazon products via multiple keyword queries and present curated results in an interactive carousel widget with add-to-cart functionality.
README
Amazon MCP App
[!WARNING] Extremely experimental. This is a demo/spike to exercise the MCP Apps (interactive widget) surface. APIs, tool shapes, and the widget itself will change without notice. Not affiliated with Amazon.
Live endpoint: https://amazon-mcp-app.vercel.app/mcp (streamable-HTTP)
Claude Desktop config:
{
"mcpServers": {
"amazon-shopping": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://amazon-mcp-app.vercel.app/mcp", "--transport", "http-only"]
}
}
}
Demo MCP app that lets Claude deep-research Amazon products across many
keyword searches, then present a curated set in an interactive,
Amazon-flavored carousel widget the user can add-to-cart from — checkout
hands off to the real amazon.com cart.
Built on the official TypeScript MCP SDK + @modelcontextprotocol/ext-apps.
Headless aside from the one widget. Stateless streamable-HTTP transport, so it
drops straight onto Vercel / any Node host.
┌──────────┐ search_amazon ×N ┌────────────────┐
│ Claude │────────────────────>│ amazon-mcp-app │──> SerpApi (Amazon engine)
│ host │<─────── JSON ───────│ (remote HTTP) │ (swap for PA-API later)
│ │ │ │
│ │ present_amazon_… │ │
│ │────────────────────>│ │
│ ┌──────┐ │<── widget ref ──────│ widgets/ │
│ │iframe│ │<── resources/read ──│ carousel.html │
│ │ 🛒 │ │ └────────────────┘
│ └──┬───┘ │
└────┼─────┘
└─ "Go to cart" → https://www.amazon.com/gp/aws/cart/add.html?ASIN.1=…
Tools
| Tool | Kind | What it does |
|---|---|---|
search_amazon |
headless, read-only | Keyword search via SerpApi's Amazon engine. Returns { asin, title, price, rating, reviews, prime, thumbnail, url }[]. Claude is instructed to call this multiple times with different phrasings to explore the option space. |
present_amazon_products |
MCP-app widget | Takes a curated products[] (from search results) and renders a sideways-scrolling carousel. Users toggle Add to cart per item; Go to cart opens amazon.com/gp/aws/cart/add.html?ASIN.1=…&Quantity.1=… in a new tab. Cart state is echoed back to Claude via updateModelContext. |
The widget handles both same-category comparisons ("5 quiet mechanical keyboards") and cross-category bundles ("desk setup: keyboard + mat + lamp") — it's just a flat list of ASINs, heading is free-form.
Run locally
npm install
export SERPAPI_KEY=your_key_here # https://serpapi.com/manage-api-key
npm run dev # → POST http://localhost:3000/mcp
Poke it with the MCP Inspector:
npx @modelcontextprotocol/inspector
# → Streamable HTTP → http://localhost:3000/mcp → Connect
Or connect from Claude Code:
claude mcp add --transport http amazon http://localhost:3000/mcp
Env
| Var | Required | Notes |
|---|---|---|
SERPAPI_KEY |
✅ | SerpApi key. Stand-in for the real Amazon Product Advertising API — src/serpapi.ts is the only file that needs swapping. |
PORT |
– | Defaults to 3000. |
Layout
src/
server.ts MCP server: 2 tools + 1 UI resource, express /mcp endpoint
serpapi.ts Amazon search backend (SerpApi today, PA-API tomorrow)
widgets/
amazon-carousel.html iframe widget — vanilla JS, ext-apps App class,
Amazon-styled (orange/yellow, smile, star ratings,
prime badge, super-script price)
Deploy (Vercel)
The server exports its Express app as default and the transport is
stateless (fresh StreamableHTTPServerTransport per request), so it maps
cleanly to serverless. Add a vercel.json that routes POST /mcp to the
build output and set SERPAPI_KEY in project env — details in the next step.
Swapping SerpApi → real Amazon API
src/serpapi.ts exports a single searchAmazon(query, opts) → AmazonProduct[]
contract. Replace the fetch body with PA-API 5.0's SearchItems call and map
its response into the same AmazonProduct shape. Nothing else changes.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
mcp-server-qdrant
这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器