Amazon Product Advertising API - Secure MCP Server by ALMC Security 2025

Amazon Product Advertising API

View on GitHub

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.

PyPI - Python VersionPyPI - VersionPyPI - Downloads

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

Related in Cloud Service - Secure MCP Servers

ServerSummaryActions
Axiom MCP ServerMCP server for accessing Axiom logs through Claude.View
GraphlitView
Workday by CDataCData's Model Context Protocol (MCP) Server for WorkdayView
Snowflake Cortex AIThis Snowflake MCP server provides tooling for Snowflake Cortex AI features, bringing these capabili...View
Claude DesktopCreate kube-config for accessing kubernetes cluster.View
Joe SandboxA Model Context Protocol (MCP) server for interacting with Joe Sandbox Cloud. This server exposes ri...View