About Amazon Product Advertising
Amazon Product Advertising is a Python MCP service for Amazon Product Advertising API 5.0. It is for developers who need keyword product search or ASIN lookup from an MCP client, and returns URLs tagged with an Associate partner tag.
Key features
- 01Connects to Amazon Product Advertising API 5.0
- 02Searches products by keyword
- 03Looks up products by ASIN
- 04Configures API and marketplace through environment variables
Use cases
- 01Find Amazon products by keyword from a client
- 02Retrieve product information by ASIN
- 03Create product URLs with an Associate partner tag
MCP support
The MCP service exposes Amazon Product Advertising API 5.0 product search and ASIN lookup to MCP clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
uvx mcp-amazon-paapiPAAPI_ACCESS_KEYSecretPAAPI_SECRET_KEYSecretPAAPI_PARTNER_TAGPAAPI_HOSTPAAPI_REGIONPAAPI_MARKETPLACELocal servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEAmazon PA-API MCP Service
A Model Context Protocol (MCP) service for Amazon Product Advertising API integration. This project uses the Python SDK officially provided at Product Advertising API 5.0.
Integration in Claude & Cursor
For configuring host, region and markeplace, consult the Locale Reference for Product Advertising API documentation.
{
"mcpServers": {
"amazon-paapi": {
"command": "uvx",
"args": [
"mcp-amazon-paapi"
],
"env": {
"PAAPI_ACCESS_KEY": "your-access-key",
"PAAPI_SECRET_KEY": "your-secret-key",
"PAAPI_PARTNER_TAG": "your-partner-tag",
"PAAPI_HOST": "webservices.amazon.de", // select EU or US servers and region
"PAAPI_REGION": "eu-west-1",
"PAAPI_MARKETPLACE": "www.amazon.de" // set your preferred marketplace
}
}
}
}
Project Structure
mcp-amazon-paapi/
├── src/
│ └── mcp_amazon_paapi/ # Main package
│ ├── __init__.py # Package initialization
│ ├── service.py # Amazon PA-API service class with dependency injection
│ ├── server.py # FastMCP server implementation
│ └── _vendor/ # Vendored dependencies
│ └── paapi5_python_sdk/ # Amazon PA-API Python SDK
├── test/ # Test suite
│ ├── __init__.py # Test package initialization
│ └── test_service.py # Tests for service module
├── pyproject.toml # Project configuration and dependencies
├── uv.lock # Dependency lock file
├── README.md # Project documentation
Local Setup
Initial Setup
# Sync dependencies from uv.lock (creates virtual environment automatically)
uv sync
# Alternatively, activate the virtual environment manually
source .venv/bin/activate # Linux/Mac
# or
.venv\Scripts\activate # Windows
Environment Variables
export PAAPI_ACCESS_KEY="your-access-key"
export PAAPI_SECRET_KEY="your-secret-key"
export PAAPI_PARTNER_TAG="your-partner-tag"
export PAAPI_HOST="webservices.amazon.de" # optional defaults to webservices.amazon.de
export PAAPI_REGION="eu-west-1" # optional defaults to eu-west-1
export PAAPI_MARKETPLACE="www.amazon.de" # optional, defaults to www.amazon.de
Testing
Run the simple test suite:
# Run all tests with uv (recommended)
uv run python -m pytest test/test_service.py -v
# Or if you have activated the virtual environment
pytest test/test_service.py -v
The test suite includes:
- Service initialization tests
- Configuration management tests
- Search functionality tests with mocking
- Error handling tests
Usage
from service import AmazonPAAPIService
# Create service (uses environment variables)
service = AmazonPAAPIService()
# Search for items
items = service.search_items("echo dot", "Electronics", 5)
Running the MCP Server
# Run directly with uv (recommended)
uv run python server.py
# Or if you have activated the virtual environment
python server.py
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.