Amazon Product Advertising
@jademind
A lightweight Python MCP server that exposes Amazon Product Advertising API 5.0 keyword search and ASIN lookup—returning products with your Associate partner-tagged URLs.
Overview
What is Amazon Product Advertising?
Amazon Product Advertising is a Model Context Protocol (MCP) service that integrates the Amazon Product Advertising API (PAAPI 5.0) into MCP-compatible applications like Claude and Cursor. It provides an official Python SDK to search and retrieve Amazon product data using environment-based authentication and locale configuration.
How to use Amazon Product Advertising?
Install the server via uvx mcp-amazon-paapi and configure it in your MCP client’s JSON settings with the required environment variables (PAAPI_ACCESS_KEY, PAAPI_SECRET_KEY, PAAPI_PARTNER_TAG) and optional locale settings (PAAPI_HOST, PAAPI_REGION, PAAPI_MARKETPLACE). Locally, run uv sync to set up dependencies, then start the server with uv run python server.py.
Key features of Amazon Product Advertising
- Search for Amazon items by keyword and category
- Configurable host, region, and marketplace locale
- Dependency‑injected service layer for testability
- Bundled vendored PAAPI 5.0 Python SDK
- Test suite with mocking for service and error handling
Use cases of Amazon Product Advertising
- Searching Amazon products from within an AI assistant
- Building a product lookup tool for e‑commerce data
- Integrating Amazon catalog data into MCP‑enabled applications
FAQ from Amazon Product Advertising
What is the Amazon Product Advertising API?
It is Amazon’s official API (PAAPI 5.0) for programmatically accessing product data such as titles, prices, and categories. This MCP server wraps that API into a simple MCP tool.
How do I configure the correct region and marketplace?
Set the PAAPI_HOST, PAAPI_REGION, and PAAPI_MARKETPLACE environment variables. Refer to the Locale Reference for available values. Defaults are webservices.amazon.de, eu-west-1, and www.amazon.de.
What environment variables are required?
You must provide PAAPI_ACCESS_KEY, PAAPI_SECRET_KEY, and PAAPI_PARTNER_TAG. The host, region, and marketplace variables are optional and default to EU‑based values.
Can I run the server without uvx?
Yes. Clone the repository, run uv sync to install dependencies, then start the server with uv run python server.py or directly with Python after activating the virtual environment.
How are errors handled?
The test suite includes error handling tests, and the service uses the PAAPI SDK’s built‑in exception handling for invalid credentials, missing parameters, and network issues.