mcpField
A
Amazon.in MCP Server

Amazon.in MCP Server

本地服务
github.com商业与营销1016 周前更新

关于 Amazon.in MCP Server

Amazon.in MCP Server 为 LLM 提供 Amazon.in 商品搜索、详情和价格历史链接查询,适用于购物研究。它会筛选在售商品,并给出最低价和按评分、评论数与价格计算的性价比推荐。

主要功能

  1. 01搜索并排序商品列表
  2. 02推荐最低价在售商品
  3. 03按评分、评论和价格计算性价比
  4. 04查询商品价格、库存与卖家信息
  5. 05生成 Keepa 价格历史图表链接
  6. 06本地运行且无需 API 密钥

适用场景

  1. 01按关键词寻找符合预算的商品
  2. 02比较在售商品的价格与评价
  3. 03查看商品详情和配送信息
  4. 04打开商品价格历史图表

MCP 相关

此 MCP 服务向客户端提供商品搜索、商品详情和价格历史链接三个工具,可从 Amazon.in 页面抓取信息。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"justadityaraj-amazon-in": {
"command": "npx",
"args": [
"-y",
"amazon-in-mcp-server"
],
"env": {
"AMAZON_IN_AFFILIATE_TAG": "<AMAZON_IN_AFFILIATE_TAG>"
}
}
}
}
启动命令npx -y amazon-in-mcp-server
需要配置的环境变量
AMAZON_IN_AFFILIATE_TAGOverride the default Amazon Associates tag baked into emitted amazon.in URLs. Set to an empty string to disable affiliate tagging entirely.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmamazon-in-mcp-server0.1.1

工具

3

收录的工具列表 · 更新于 2 周前

参数类型必填说明
querystring是关键词搜索查询(例如 'bluetooth speaker under 2000')
max_resultsinteger否要返回的商品数量(1-20)。默认值为 5。
include_sponsoredboolean否是否包含赞助/广告商品。默认为 false。

详细介绍

amazon-in-mcp

amazon-in-mcp

一个MCP 服务,让你的大模型在 Amazon.in 上购物。
最便宜的有货商品。性价比之选。价格历史。无需付费 API。

许可证 Node 发布版本 MCP CodeRabbit 评审


功能

你的大模型可以针对 amazon.in 调用以下三个工具:

工具返回内容
search_amazon_in(query, max_results=5, page=1)排序后的商品列表,以及两个便捷推荐:最便宜的有货商品和最佳性价比(评分 × log10(评论数) / √价格)。page 可获取更靠后的结果页。
get_product(asin_or_url)完整商品详情——价格、MRP、折扣、评分、评论数、库存、要点、品牌、卖家、配送
price_history_link(asin_or_url)指向 amazon.in 域名的 Keepa.com 价格图表 URL。不发起网络请求。

无需 API 密钥。无需账户。通过 stdio 在本地运行。直接抓取 HTML,使用轮换的用户代理,并在遇到机器人检测页面时重试。


快速开始

1. 安装(Claude Code):

git clone https://github.com/justadityaraj/amazon-in-mcp.git
cd amazon-in-mcp && npm install && npm run build
claude mcp add amazon-in -- node "$PWD/dist/index.js"

2. 重启 MCP 客户端(Claude Code、Cursor、Claude Desktop 等)

3. 提问:

“帮我在 amazon.in 上找一款不错的 1TB 外置 SSD,价格低于 ₹10,000。推荐性价比最高的。”

你的大模型会调用 search_amazon_in,按性价比排序,并返回一款真实商品及其当前价格和用于查看价格历史的 Keepa 链接。


效果展示

调用 search_amazon_in("wireless mouse", max_results=3) 的实际返回结果:

{
  "query": "wireless mouse",
  "page": 1,
  "total_results": 3,
  "results": [
    {
      "asin": "B0CQRNWJM2",
      "title": "ZEBRONICS Blanc Slim Wireless Mouse...",
      "url": "https://www.amazon.in/dp/B0CQRNWJM2?tag=artech-21",
      "price_inr": 423,
      "mrp_inr": 799,
      "rating": 4.0,
      "review_count": 7801,
      "in_stock": true,
      "delivery": "FREE delivery Tomorrow",
      "price_history_url": "https://keepa.com/#!product/12-B0CQRNWJM2"
    }
  ],
  "cheapest_in_stock": { "asin": "...", "price_inr": 199, "...": "..." },
  "best_value":        { "asin": "...", "rating": 4.3, "...": "..." }
}

get_product 还会返回 bullets[]、brand、seller、discount_percent、availability。


配置 MCP 客户端

Claude Code
claude mcp add amazon-in -- node /absolute/path/to/amazon-in-mcp/dist/index.js
Claude Desktop

编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "amazon-in": {
      "command": "node",
      "args": ["/absolute/path/to/amazon-in-mcp/dist/index.js"]
    }
  }
}
Cursor / Windsurf / others

与 Claude Desktop 使用相同的 JSON 配置。将其放入客户端的 MCP 设置文件中。


配置

以下配置均为可选项。在 MCP 客户端配置的 env 区块中设置;默认值会保留原有行为。

环境变量默认值用途
AMAZON_IN_AFFILIATE_TAGartech-21添加到输出 URL 中的 Amazon Associates 标签。设为 none / off / "" 可禁用。参见项目资金来源。
AMAZON_IN_CACHE_TTL_MS90000内存页面缓存的有效时长(ms)。设为 0 可禁用缓存。
AMAZON_IN_PROXYunset用于所有请求的 HTTP/HTTPS 代理 URL,例如 http://user:pass@host:8080。

示例——通过代理转发,并将缓存时长缩短至 30 s:

{
  "mcpServers": {
    "amazon-in": {
      "command": "node",
      "args": ["/path/to/dist/index.js"],
      "env": {
        "AMAZON_IN_PROXY": "http://user:[email protected]:8080",
        "AMAZON_IN_CACHE_TTL_MS": "30000"
      }
    }
  }
}

自动路由(无需说“使用 Amazon MCP”)

安装后,服务会告知客户端自动调用这些工具。它内置了 MCP 服务指令(在 initialize 握手中返回),指示模型默认对任何有关 amazon.in 购物、价格、库存情况或评论的问题使用 search_amazon_in / get_product,包括你只粘贴 amazon.in 链接或 ASIN 的情况。工具描述中也包含相同的触发关键词,作为备用方案,供会读取工具描述但不读取服务指令的客户端使用。

因此,你可以询问“帮我找一款 3000 以下的机械键盘”,或粘贴商品链接,客户端就会将请求路由到此服务,无需你指定它。请注意,这是由宿主(Claude Code、Claude Desktop、Cursor 等)提供的模型级指引,并非协议层面的强制保证——如果客户端忽略服务指令和工具描述,就不会被强制路由。


图片搜索

此服务有意不接受图片输入,以保持与供应商无关。你可以将图片粘贴到大模型客户端中,请它描述商品,它就会自动使用合适的关键词调用 search_amazon_in。所有支持 MCP 的客户端都可以这样使用。


“性价比最高”的评分方式

在至少有 10 条评论的有库存商品中:

$$ \text{score} = \frac{\text{rating} \times \log_{10}(\text{reviews} + 10)}{\sqrt{\text{price}}} $$

得分最高者胜出。cheapest_in_stock 仅表示有库存商品中 price_inr 最低的商品——如果你只想要最低价格,而不是综合权衡,这个工具会很有用。


稳健性

UA 轮换5 种现代桌面 UA(Mac / Win / Linux 上的 Chrome / Safari / Firefox)
重试最多尝试 3 次;遇到 5xx、429 和机器人检测页面时采用指数退避
机器人检测扫描前 8 KB,查找已知的 CAPTCHA / 机器人标记
超时每个请求 20 s
缓存成功获取的页面会在内存中缓存 90 s(按 URL 区分),以跳过重复获取;使用 AMAZON_IN_CACHE_TTL_MS 调整,设为 0 可禁用
代理可选——设置 AMAZON_IN_PROXY,在数据中心 IP 被屏蔽时通过 HTTP/HTTPS 代理路由请求
状态不会持久化任何状态。使用 Stdio,不使用 Cookie 或会话——缓存仅是短暂的进程内缓冲区

高频使用时,预计约有 1–5% 的请求会因机器人检测而失败。等待 30–60 秒后重试、换用其他网络,或设置 AMAZON_IN_PROXY。


本项目的资金来源

默认情况下,此服务返回的 amazon.in URL 会包含作者的 Amazon Associates 标签(artech-21)。如果你(或你的大模型)点击链接并购买商品,作者会获得少量佣金。你支付的价格不变。 这是本项目保持免费、采用 MIT 许可并持续维护的唯一方式。

你可以随时通过 AMAZON_IN_AFFILIATE_TAG 环境变量覆盖或禁用:

值行为
unset作者的标签(artech-21)——支持本项目
yourtag-21你自己的 Amazon Associates 标签
none / off / false / ""不添加标签,使用原始 amazon.in URL

示例——使用你自己的标签:

{
  "mcpServers": {
    "amazon-in": {
      "command": "node",
      "args": ["/path/to/dist/index.js"],
      "env": { "AMAZON_IN_AFFILIATE_TAG": "yourtag-21" }
    }
  }
}

路线图

  • 发布到 npm,以便通过 npx -y amazon-in-mcp-server 安装
  • 可选支持 Keepa API(由用户提供密钥),以获取真实的价格历史数据
  • 筛选辅助工具——min_rating、min_reviews、under_price
  • 使用缓存的 HTML 固定样本进行冒烟测试

开发

npm install
npm run dev      # tsx watch
npm run build    # tsc → dist/
npm start        # node dist/index.js

使用 MCP Inspector 进行交互式测试:

npx @modelcontextprotocol/inspector node dist/index.js

项目结构:

src/
  index.ts        # MCP server + 3 tool registrations
  scraper.ts      # fetch with UA rotation, retry, bot-check, proxy, cache
  parse.ts        # cheerio selectors for search + product pages
  cache.ts        # in-memory TTL + LRU cache
  constants.ts    # UAs, headers, tuning constants, affiliate/proxy/cache config
  types.ts        # SearchResultItem, ProductDetail

免责声明

获取可公开访问的 amazon.in 页面,供个人研究和助手使用。不会绕过身份验证、付费墙或 CAPTCHA——当 Amazon 返回机器人检测页面时,工具会停止并报告错误。

你有责任确保使用方式符合 Amazon 的服务条款和当地法律。对于服务正常运行时间、准确性或任何用途的适用性,均不作保证。DOM 选择器仅尽力而为,Amazon 更新页面布局时可能会失效。欢迎提交 PR。


许可证

MIT © Aditya Raj Singh

欢迎提交问题、错误报告和选择器修复——Amazon 的 DOM 每隔几个月就会变化,因此本项目偶尔会失效,需要社区协助保持更新。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。