内容
# Amazon 价格 MCP
[中文](#中文)
---
一个遵循 Model Context Protocol (MCP) 的服务器,能够在 Amazon 上搜索任意商品的最低价格 —— 无需 PA-API,内置通过 Playwright 隐身模式的 CAPTCHA 防御。
支持 **20 个 Amazon 国家站点**,可与 **Claude Desktop** 及任何兼容 MCP 的客户端配合使用。
---
## 中文
### 功能特点
- 🔍 在任意 Amazon 站点搜索商品最低价
- 🌏 支持 20 个 Amazon 国家站点(美国、日本、德国、英国、法国、中国等)
- 🛡️ 防 CAPTCHA:使用 Playwright + 隐身插件、随机 User-Agent 和随机延迟
- 🔌 通过 `PROXY_URL` 环境变量支持代理
- 📡 两种传输方式:**stdio**(Claude Desktop)和 **HTTP/SSE**(OpenAI/ChatGPT)
### 支持国家站点
| 代码 | 域名 | 货币 |
|------|--------|----------|
| `us` | amazon.com | 美元 |
| `jp` | amazon.co.jp | 日元 |
| `uk` | amazon.co.uk | 英镑 |
| `de` | amazon.de | 欧元 |
| `fr` | amazon.fr | 欧元 |
| `it` | amazon.it | 欧元 |
| `es` | amazon.es | 欧元 |
| `ca` | amazon.ca | 加元 |
| `au` | amazon.com.au | 澳元 |
| `in` | amazon.in | 印度卢比 |
| `mx` | amazon.com.mx | 墨西哥比索 |
| `br` | amazon.com.br | 巴西雷亚尔 |
| `cn` | amazon.cn | 人民币 |
| `nl` | amazon.nl | 欧元 |
| `se` | amazon.se | 瑞典克朗 |
| `pl` | amazon.pl | 波兰兹罗提 |
| `sg` | amazon.sg | 新加坡元 |
| `ae` | amazon.ae | 阿联酋迪拉姆 |
| `sa` | amazon.sa | 沙特里亚尔 |
| `tr` | amazon.com.tr | 土耳其里拉 |
### 安装
**要求:** Node.js 18+
```bash
git clone https://github.com/puffilab/amazon-price-mcp.git
cd amazon-price-mcp
npm install
npx playwright install chromium
```
### Claude Desktop 配置
在 `claude_desktop_config.json` 中添加以下内容:
**Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
**macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
```json
{
"mcpServers": {
"amazon-price": {
"command": "node",
"args": ["/绝对路径/amazon-price-mcp/src/index.js"],
"env": {
"PROXY_URL": ""
}
}
}
}
```
重启 Claude Desktop 后,直接用自然语言提问即可:
> *"帮我在日本亚马逊搜索 Sony WH-1000XM5 最低价"*
> *"查一下美国亚马逊 AirPods Pro 最便宜多少钱"*
### HTTP 服务器(OpenAI / ChatGPT)
```bash
npm run start:sse # 在 8000 端口启动
```
用 ngrok 暴露后,将 `https://<your-url>/sse` 添加为 ChatGPT 的 MCP 连接器。
### 工具
| 工具 | 描述 |
|------|-------------|
| `search_amazon_lowest_price` | 搜索商品并返回按价格排序的结果 |
| `list_amazon_countries` | 列出所有支持的 Amazon 国家站点 |
### 环境变量
| 变量 | 默认值 | 描述 |
|----------|---------|-------------|
| `PROXY_URL` | *(空)* | HTTP/SOCKS 代理 URL,例如 `http://user:pass@host:port` |
| `PORT` | `8000` | SSE 服务器端口 |
### 反 CAPTCHA 策略
| 方法 | 详情 |
|--------|---------|
| Playwright 隐身 | 隐藏自动化标志(webdriver、CDP 等) |
| User-Agent 轮换 | 5 个真实浏览器 User-Agent 随机选择 |
| 随机延迟 | 动作之间 800–2200ms 延迟 |
| 真实指纹 | 视口、本地化和时区与目标国家匹配 |
| 代理支持 | 通过环境变量可选 HTTP/SOCKS 代理 |
---
## License
MIT