Amazon 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",
"PAAPI_REGION": "eu-west-1",
"PAAPI_MARKETPLACE": "www.amazon.de"
}
}
}
}
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
uv sync
source .venv/bin/activate
.venv\Scripts\activate
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"
export PAAPI_REGION="eu-west-1"
export PAAPI_MARKETPLACE="www.amazon.de"
Testing
Run the simple test suite:
uv run python -m pytest test/test_service.py -v
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
service = AmazonPAAPIService()
items = service.search_items("echo dot", "Electronics", 5)
Running the MCP Server
uv run python server.py
python server.py