Amazon MCP Server
Размещённый сервер Model Context Protocol (MCP), который предоставляет Claude, Cursor, Windsurf и любому другому MCP-клиенту пять инструментов Amazon только для чтения. Ищите товары по ключевым словам, получайте сведения о товаре по его ASIN, находите продавцов и просматривайте ассортимент продавца постранично. Все данные возвращаются в виде структурированного JSON. Аккаунт разработчика Amazon и собственный хостинг не нужны.
Сервер получает данные с общедоступных страниц Amazon, доступных посетителям без авторизации, на всех 23 региональных доменах.
Каждый месяц предоставляется 1 000 бесплатных кредитов, банковская карта не требуется — этого хватит на 200 вызовов Amazon по тарифу 5 кредитов за вызов.
https://mcp.hasdata.com/mcp?apis=amazon
Содержание
-
Требования
-
Быстрый старт
-
Примеры запросов
-
Инструменты
-
Ошибки и сценарии сбоев
-
Стоимость, бесплатный тариф и ограничения
-
Выбор инструмента
-
Сравнение с альтернативами
-
Часто задаваемые вопросы
-
Ссылки HasData
-
Разработка
-
Участие в проекте
-
Лицензия
Требования
Вам понадобятся MCP-клиент и API-ключ HasData. Создать ключ можно бесплатно в панели управления, банковская карта не требуется. Бесплатного тарифа хватит примерно на 200 вызовов в месяц при стоимости 5 кредитов за вызов. Это удалённый сервер, поэтому проще всего подключиться к нему по URL и передавать ключ в заголовке x-api-key — запускать контейнер не нужно. Клиентам, которые поддерживают только stdio, поможет небольшой запускающий пакет: он опубликован в npm как @hasdata/amazon-mcp, а в PyPI — как hasdata-amazon-mcp. Примеры приведены ниже.
Быстрый старт
URL сервера одинаков для всех клиентов. Мы лично проверили подключение в Claude Code и Claude Desktop. Остальные примеры составлены в соответствии с документацией каждого клиента для удалённых серверов.
| Поле | Значение |
|---|---|
| URL | https://mcp.hasdata.com/mcp?apis=amazon |
| Транспорт | HTTP, с потоковой передачей |
| Заголовок авторизации | x-api-key: HASDATA_API_KEY |
Клиенты с поддержкой OAuth можно подключить по тому же URL и выполнить вход без добавления ключа в файл конфигурации.
Claude Code
claude mcp add --transport http amazon "https://mcp.hasdata.com/mcp?apis=amazon" \
--header "x-api-key: HASDATA_API_KEY"
Claude Desktop
Откройте Settings, выберите Connectors, затем Add custom connector, вставьте https://mcp.hasdata.com/mcp?apis=amazon и выполните вход.
Если вы предпочитаете файл конфигурации, учтите, что Claude Desktop поддерживает в нём только локальные серверы (stdio). Чтобы подключиться к удалённому серверу, используйте запускающий пакет stdio. Для этого предназначен пакет @hasdata/amazon-mcp: он получает ключ из переменной окружения. Добавьте этот фрагмент в claude_desktop_config.json:
{
"mcpServers": {
"amazon": {
"command": "npx",
"args": ["-y", "@hasdata/amazon-mcp"],
"env": { "HASDATA_API_KEY": "YOUR_KEY" }
}
}
}
Если вместо Node вы используете Python, замените запускающий пакет на пакет из PyPI. Его можно запустить через uvx без предварительной установки:
{
"mcpServers": {
"amazon": {
"command": "uvx",
"args": ["hasdata-amazon-mcp"],
"env": { "HASDATA_API_KEY": "YOUR_KEY" }
}
}
}
Cursor
Используйте ~/.cursor/mcp.json, чтобы подключить сервер во всех проектах, или .cursor/mcp.json — только в одном:
{
"mcpServers": {
"amazon": {
"url": "https://mcp.hasdata.com/mcp?apis=amazon",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}
Windsurf
Файл конфигурации: ~/.codeium/windsurf/mcp_config.json. В Windsurf поле называется serverUrl, а не url:
{
"mcpServers": {
"amazon": {
"serverUrl": "https://mcp.hasdata.com/mcp?apis=amazon",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}
VS Code
Добавьте конфигурацию в .vscode/mcp.json в рабочей области:
{
"servers": {
"amazon": {
"type": "http",
"url": "https://mcp.hasdata.com/mcp?apis=amazon",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}
Примеры запросов
Каждый запрос обращается к одному инструменту либо последовательно к двум, если для второго нужен идентификатор, возвращаемый первым.
-
Найди на Amazon подставки для ноутбуков дешевле $40 и отсортируй их по средней оценке покупателей.
-
Сколько сейчас стоит товар с ASIN B0DHJ7SBDR и сколько других продавцов его предлагают?
-
Сравни цену товара с этим ASIN на amazon.com и amazon.de.
-
Кто продаёт товар с ASIN B0DHJ7SBDR и каков рейтинг продавца за всё время?
-
Просмотри весь ассортимент продавца ATQQBVXK188KS и выдели товары со скидкой.
-
Найди беспроводные наушники с доставкой по индексу 10001 и скажи, какие доставят быстрее всего.
Если в запросе указан товар, а не ASIN, потребуется два вызова: сначала поиск, чтобы определить ASIN, затем получение сведений о товаре. Если продавец назван по бренду, а не по ID, также потребуются два вызова: сначала поиск товара для определения ID продавца, затем получение данных о его профиле.
Инструменты
| Инструмент | Что возвращает |
|---|---|
hasdata_amazon_product_getProductDetails | Название, бренд, текущую цену, обычную цену и цену со скидкой, валюту, наличие, продавца Buy Box, доступность Prime, маркированные пункты, описание A+, рейтинг и количество отзывов, изображения и другое. 5 кредитов за вызов |
hasdata_amazon_reviews_getProductReviews | Заголовок и текст каждого отзыва, оценку, имя и профиль автора, дату отзыва, страну, отметку о подтверждённой покупке, количество полезных голосов, характеристики варианта или формата, а также прикреплённые материалы. 5 кредитов за вызов |
hasdata_amazon_search_getSearchResults | Список обычных результатов с ASIN, названием, миниатюрой, URL товара, ценой и обычной ценой, валютой, рейтингом, количеством отзывов, отметками Prime и «Реклама», позицией и дополнительными данными. 5 кредитов за вызов |
hasdata_amazon_seller_getSellerDetails | Название компании, логотип продавца, текст раздела About this seller, общий рейтинг продавца и разбивку оценок за всё время, 12 месяцев, 90 и 30 дней, количество отзывов, адрес компании и другие сведения. 5 кредитов за вызов |
hasdata_amazon_seller_products_getSellerProducts | Данные о каждом товаре: ASIN, название, изображение, URL товара, цена и обычная цена, валюта, рейтинг, количество отзывов и отметка Prime. 5 кредитов за вызов |
Доступны пять инструментов, каждый успешный вызов стоит 5 кредитов. Во всех инструментах параметр domain позволяет выбрать одну из 23 торговых площадок — от www.amazon.com до площадок в Европе, Азии и других регионах. Параметр language доступен для площадок с несколькими языками.
Получение результатов поиска Amazon
hasdata_amazon_search_getSearchResults
Возвращает страницу результатов поиска по ключевому слову.
| Параметр | Тип | Обязательный | Примечания |
|---|---|---|---|
q | string | да | Поисковый запрос |
domain | string | Торговая площадка; по умолчанию — www.amazon.com | |
page | number | Номер страницы результатов, начиная с 1 | |
sortBy | string | featured, priceLowToHigh, priceHighToLow, avgCustomerReview, newestArrivals или bestSellers | |
deliveryZip | string | Почтовый индекс; влияет на наличие товаров и сроки доставки | |
shippingLocation | string | Двухбуквенный код страны для адреса доставки | |
language | string | Код языка торговой площадки |
Результат содержит массив productResults, массив ads со спонсируемыми размещениями и объект pagination с полями totalResults, currentPage, nextPageUrl и otherPageUrls. Для каждого результата возвращаются position, asin, title, url, isSponsored, объект price, image, объект reviews с полями rating и totalReviews, объект badges, а также boughtInPastMonth и deliveryInfo.
Результаты поиска намеренно содержат только основные сведения. Здесь нет информации о бренде, характеристиках, вариантах, изображениях и продавце — эти данные можно получить с помощью описанного ниже инструмента для товаров. Сначала найдите ASIN, затем запросите сведения о товаре.
{
"position": 1,
"asin": "B077B9W343",
"title": "Nulaxy Ergonomic Adjustable Laptop Stand for Desk, Dual Foldable Computer Riser...",
"isSponsored": false,
"price": { "symbol": "$", "currentPrice": 15.99, "beforePrice": 17.99 },
"image": "https://m.media-amazon.com/images/I/61jtA8kHq9L.jpg",
"reviews": { "totalReviews": 16800, "rating": 4.7 },
"badges": { "amazonChoice": true, "amazonPrime": false, "bestSeller": false },
"boughtInPastMonth": "10K+",
"deliveryInfo": { "freeDelivery": "Join Prime", "fastestDelivery": "Mon, Sep 14" },
"url": "https://www.amazon.com/dp/B077B9W343"
}
Получение подробной информации о товаре Amazon
hasdata_amazon_product_getProductDetails
Полная информация об одном товаре по его ASIN.
| Параметр | Тип | Обязательный | Примечания |
|---|---|---|---|
asin | string | да | Стандартный идентификационный номер товара Amazon |
domain | string | Маркетплейс; по умолчанию — www.amazon.com | |
otherSellers | boolean | Также собирает предложения конкурирующих продавцов. Дополнительно списывается 5 кредитов: всего 10 вместо 5 | |
deliveryZip | string | Почтовый индекс, влияющий на доступность товара и сроки доставки | |
shippingLocation | string | Двухбуквенный код страны для адреса доставки | |
language | string | Код языка маркетплейса |
В ответе возвращается объект product с полями asin, url, title, brand, isAvailable, condition, объектом price, полями primaryFeatures и features с расширенным набором характеристик, featureBullets, description, variants, breadcrumbs, whatIsInTheBox, коллекциями изображений и видео, specification, reviewsInfo, данными о предполагаемых сроках доставки, а также информацией о текущем продавце — seller и sellerUrl.
Объект price содержит поля currentPrice, beforePrice (если товар продаётся со скидкой), discount, priceFrom и otherOfferQuantity. Последнее поле показывает количество предложений конкурирующих продавцов: при базовом запросе это число возвращается без загрузки самих предложений. Запрашивайте otherSellers, только если нужны сами предложения: это удваивает стоимость вызова.
{
"asin": "B0DHJ7SBDR",
"title": "Apple iPhone 16 Pro Max, 1TB, Desert Titanium",
"brand": "Apple",
"condition": "Refurbished - Excellent",
"price": {
"symbol": "$",
"currentPrice": 974,
"beforePrice": 949.99,
"discount": "-11%",
"otherOfferQuantity": 11
},
"seller": "WirelessSource",
"deliveryIsoDate": "2026-09-11T00:00:00.000Z"
}
Получение информации о продавце Amazon
hasdata_amazon_seller_getSellerDetails
Публичный профиль витрины одного продавца.
| Параметр | Тип | Обязательный | Примечания |
|---|---|---|---|
sellerId | string | да | Идентификатор продавца, который возвращается в sellerUrl в ответе с данными о товаре |
domain | string | Маркетплейс; по умолчанию — www.amazon.com | |
language | string | Код языка маркетплейса |
В ответе возвращается объект seller с полями sellerId, url, storefrontUrl, name, businessName, businessAddress, блоком about и данными о рейтинге за четыре периода: oneMonthRatings, threeMonthRatings, twelveMonthRating и lifetimeRating. Для каждого периода указываются totalVotes, averageRating и разбивка по звёздам с числом голосов (votes) и их долей (percent).
Главное преимущество этого инструмента — возможность сравнить рейтинги за четыре периода. Средняя оценка 4,5 на основе 2 701 голоса за всё время и оценка 2 на основе 4 голосов за последний месяц описывают совершенно разных продавцов. Сопоставление этих показателей помогает заметить, что рейтинг начал снижаться.
{
"sellerId": "ATQQBVXK188KS",
"name": "Expercom - Apple Premier Partner",
"businessName": "Expercom of Utah, Inc",
"lifetimeRating": { "totalVotes": 2701, "averageRating": 4.5 },
"oneMonthRatings": { "totalVotes": 4, "averageRating": 2 }
}
Получение списка товаров продавца Amazon
hasdata_amazon_seller_products_getSellerProducts
Страница каталога товаров одного продавца.
| Параметр | Тип | Обязательный | Примечания |
|---|---|---|---|
sellerId | string | да | Идентификатор продавца |
domain | string | Маркетплейс; по умолчанию — www.amazon.com | |
page | number | Страница результатов, начиная с 1 | |
language | string | Код языка маркетплейса |
В ответе возвращаются productResults и pagination в том же формате, что и в инструменте поиска. Для каждого товара указываются position, asin, title, url, price, image, reviews, badges, boughtInPastMonth, deliveryInfo и colorUrls. Чтобы получить весь каталог, переходите по данным из pagination, а не перебирайте номера страниц наугад.
Ошибки и нестандартные ситуации
Учитывайте следующие сценарии, не рассчитывая, что каждый запрос завершится успешно.
Если поиск не находит совпадений, он возвращает успешный результат с пустым массивом productResults, а не ошибку. Значение requestMetadata.status при этом остаётся равным ok. Перед перебором результатов проверьте длину массива.
Если ASIN не существует на выбранном маркетплейсе, запрос завершится ошибкой, а не вернёт пустой объект товара. Один и тот же ASIN может быть доступен на одном домене и отсутствовать на другом, поэтому ошибка на www.amazon.de ещё не означает, что ASIN указан неверно.
Идентификаторы продавцов также привязаны к маркетплейсу. Идентификатор, полученный для товара на www.amazon.com, не сработает на другом домене.
В актуальном объявлении может отсутствовать цена. Если товара нет в наличии, он продаётся только через других продавцов или доступен лишь по промоакции, ответ может не содержать пригодного для использования значения currentPrice. Перед сравнением цен проверяйте isAvailable.
Параметры deliveryZip и shippingLocation влияют не только на информацию о доставке. В зависимости от места назначения меняются доступность товара, цена и состав продавцов. Поэтому при сравнении разных почтовых индексов все остальные параметры должны оставаться неизменными.
В ответах с данными также содержится requestMetadata.id. Его полезно указывать при обращении в службу поддержки.
Стоимость, бесплатный тариф и ограничения
Каждый инструмент Amazon стоит 5 кредитов за успешный вызов. Параметр otherSellers добавляет к запросу товара ещё 5 кредитов — всего 10 вместо 5. Оставляйте его выключенным, если вам не нужны предложения конкурирующих продавцов. Размер ответа на стоимость не влияет.
Бесплатный тариф включает 1 000 кредитов в месяц без привязки карты — этого хватит на 200 вызовов Amazon по базовой ставке. Кредиты обновляются с каждым расчётным периодом, поэтому агент с небольшим объёмом запросов может пользоваться бесплатным тарифом постоянно.
Платные тарифы начинаются с $59 в месяц за 200 000 кредитов — этого хватит на 40 000 вызовов. При увеличении объёма стоимость снижается: с $1.48 за 1 000 вызовов на начальном тарифе до $0.60 на Basic и $0.41 на тарифах Growth. Актуальные цены указаны на странице тарифов.
Тариф также определяет допустимое число одновременных запросов. На бесплатном тарифе разрешён 1 запрос за раз, на Startup — 5, на Basic — 15, а на тарифах Growth — от 50 до 500. Для фоновых задач настройте повтор запроса при ответе 429 с увеличением интервала между попытками: агент, который отправляет запросы сразу по множеству ASIN, быстро достигнет лимита.
Запрос, завершившийся ответом не 200, не тарифицируется. Успешный запрос, который ничего не нашёл, всё равно считается вызовом.
Выбор инструмента
В большинстве случаев достаточно двух правил.
Начните с того, что указано в запросе. По ключевому слову используйте инструмент поиска, по ASIN — инструмент получения данных о товаре, по идентификатору продавца — один из двух инструментов для работы с продавцами. Самая распространённая лишняя трата — выполнять поиск, чтобы найти ASIN, который у вас уже есть.
Затем определите, насколько подробные данные нужны. Инструменты поиска и получения товаров продавца возвращают одинаковый краткий набор сведений о товарах. Его достаточно для ранжирования, фильтрации и сравнения цен сразу по нескольким товарам. Только инструмент получения данных о товаре возвращает бренд, характеристики, варианты, изображения и сведения о продавце; именно его стоит использовать, если вопрос касается одного конкретного товара.
Сравнение с альтернативами
Официальный способ получить эти данные — Product Advertising API от Amazon, но это другой инструмент.
| Product Advertising API | Этот сервер | |
|---|---|---|
| Доступ | Одобренный аккаунт Associates с соответствующими требованиями к продажам | Ключ API |
| Настройка | Регистрация в Associates, тег, подпись запросов | Один заголовок |
| Область применения | Товары, одобренные для рекламы | Любые публичные страницы товаров |
| Витрины продавцов | Не возвращаются | Два специализированных инструмента |
| Сортировка поиска | Ограниченный набор вариантов | Шесть вариантов сортировки, доступных покупателям на Amazon |
| Стоимость | Бесплатно при соответствии требованиям | После исчерпания бесплатного тарифа — платно, 5 кредитов за вызов |
Решающим фактором является доступ. Product Advertising API предназначен для партнёров, а возможность его использовать зависит от уже совершённых продаж. Поэтому он не подходит для исследований, мониторинга и задач, которые агент выполняет от вашего имени. Если вы соответствуете требованиям и вам нужны только товары, доступные для рекламы, официальный API будет более подходящим вариантом.
Часто задаваемые вопросы
Есть ли у Amazon официальный MCP-сервер?
Amazon не публикует собственный MCP-сервер. Этот сервер поддерживается HasData и получает данные с публичных страниц Amazon.
Что такое MCP-сервер Amazon?
MCP-сервер предоставляет инструменты, которые может вызывать AI-клиент. Этот сервер преобразует результаты поиска Amazon, страницы товаров и витрины продавцов в JSON, с которым агент может работать без браузера и библиотеки для скрейпинга в вашем стеке.
Нужны ли мне аккаунт Amazon или ключ API?
Нет. Вам понадобится только ключ HasData.
Какие маркетплейсы поддерживаются?
Все 23 домена, которые принимает API, — от www.amazon.com до маркетплейсов Европы и Азии. Чтобы выбрать другой маркетплейс, передайте параметр domain. Цены, доступность и состав продавцов различаются в зависимости от маркетплейса, поэтому сравнение разных доменов показывает реальные различия, а не только пересчёт валюты.
Почему в результатах поиска нет бренда или характеристик?
Amazon не показывает их на странице результатов. Инструмент поиска возвращает данные, отображаемые на этой странице, а инструмент для работы с товарами — данные со страницы товара. Поэтому инструменты стоят одинаково, но предоставляют разный объём информации.
Что означает otherOfferQuantity?
Количество других продавцов, предлагающих тот же товар, согласно данным на странице товара. Это поле возвращается при базовом вызове. Чтобы получить сами предложения, используйте otherSellers — это стоит на 5 кредитов больше.
Можно ли использовать этот сервис вместе с другими API HasData?
Да. Один ключ подходит для всех сервисов, а один эндпоинт предоставляет доступ ко всем через параметр apis. Чтобы получить наборы инструментов для обоих сервисов в одном подключении, укажите в клиенте ?apis=amazon,google_serp. Полный каталог доступен по ссылке mcp.hasdata.com/api/mcp.
Связана ли HasData с Amazon?
Нет. HasData — независимый сервис, не связанный с Amazon и не одобренный и не спонсируемый этой компанией. Amazon — товарный знак его владельца. Инструменты работают только с общедоступными данными. Вы несёте ответственность за использование результатов в соответствии с условиями Amazon и применимым законодательством.
Соблюдение требований и персональные данные
В профилях продавцов указаны название компании и её адрес, которые Amazon публикует на странице магазина. Рассматривайте их как сведения о компании, а не как данные в свободной форме, и перед их хранением проверьте, какие обязательства применимы к вам.
Ссылки HasData
-
Amazon Scraper API — REST-эндпоинты, на которых работают эти инструменты
Другие MCP-серверы HasData: Google Search, Google Maps, Google Trends, Google Flights, DuckDuckGo, YouTube, TikTok, Instagram, Zillow, Airbnb, Booking.com, Indeed.
Разработка
Запускающий скрипт — это простой мост stdio к удалённому серверу, поэтому сборка не требуется.
npm install
HASDATA_API_KEY=your_key_here npm test
Тесты в test/ проверяют контракт инструментов — то, что может измениться без коммита в этом репозитории. Они проверяют, что ?apis=amazon возвращает ожидаемое количество инструментов, их названия не изменились, каждый инструмент содержит описание и объявляет обязательный параметр, а используемый ключ действительно принимается. Последняя проверка выполняет реальный вызов инструмента и стоит 5 кредитов — это цена контрольной проверки, которая может завершиться ошибкой по ожидаемой причине.
Ещё один тест проверяет инструмент, не описанный в этом README. Сервер также перечисляет инструмент для работы с отзывами, но соответствующий эндпоинт больше не поддерживается и возвращает ошибку. Поэтому описывать его означало бы отправлять читателей в тупик. Тест фиксирует это состояние, а не игнорирует его. Он завершится с ошибкой, когда эндпоинт снова заработает или сервер удалит инструмент. В любом из этих случаев нужно будет решить, как обновить README.
Набор тестов контракта также запускается по расписанию раз в неделю: список инструментов на стороне сервиса может измениться, даже если в этом репозитории никто ничего не менял.
Участие в разработке
Если таблица инструментов, пример ответа или описание поведения не соответствуют действительности, сообщите об этом в issue. Для таких сообщений предусмотрен отдельный шаблон. Будем рады и pull request с исправлениями — как по этим вопросам, так и по любой части запускающего скрипта.
Лицензия
MIT. См. LICENSE.