Servicio MCP de PA-API de Amazon
Un servicio de protocolo de contexto de modelo (MCP) para la integración de la API de publicidad de productos de Amazon. Este proyecto utiliza el SDK de Python proporcionado oficialmente en Product Advertising API 5.0.
Integración en Claude & Cursor
Para configurar el host, la región y el markeplace, consulta la documentación Locale Reference for Product Advertising API.
{ "mcpServers": { "amazon-paapi": { "command": "uvx", "args": [ "mcp-amazon-paapi" ], "env": { "PAAPI_ACCESS_KEY": "your-access-key", "PAAPI_SECRET_KEY": "tu-clave-secreta", "PAAPI_PARTNER_TAG": "your-partner-tag", "PAAPI_HOST": "webservices.amazon.de", // seleccione servidores de la UE o EE.UU. y región "PAAPI_REGION": "eu-west-1", "PAAPI_MARKETPLACE": "www.amazon.de" // establece tu marketplace preferido } } }
Estructura del proyecto
mcp-amazon-paapi/ ├── src/ │ └── mcp_amazon_paapi/ # Paquete principal │ ├── __init__.py # Inicialización del paquete │ ├── service.py # Clase de servicio Amazon PA-API con inyección de dependencias │ ├── server.py # Implementación del servidor FastMCP │ └── _vendor/ # Vendored dependencies │ └── paapi5_python_sdk/ # Amazon PA-API Python SDK ├── test/ # Test suite │ ├── __init__.py # Inicialización del paquete de pruebas │ └── test_service.py # Pruebas para el módulo de servicio ├── pyproject.toml # Configuración y dependencias del proyecto ├── uv.lock # Archivo de bloqueo de dependencias ├── README.md # Documentación del proyecto
Configuración local
Configuración inicial
# Sincronizar dependencias desde uv.lock (crea el entorno virtual automáticamente) uv sync # Alternativamente, activar el entorno virtual manualmente source .venv/bin/activate # Linux/Mac # o .venv\Scripts\activate # Windows
Variables de entorno
export PAAPI_ACCESS_KEY="tu-clave-de-acceso" export PAAPI_SECRET_KEY="tu-clave-secreta" export PAAPI_PARTNER_TAG="tu-etiqueta-de-socio" export PAAPI_HOST="webservices.amazon.de" # opcional por defecto webservices.amazon.de export PAAPI_REGION="eu-west-1" # opcional, por defecto eu-west-1 export PAAPI_MARKETPLACE="www.amazon.de" # opcional, por defecto www.amazon.de
Prueba de
Ejecute el conjunto de pruebas simples:
# Ejecute todas las pruebas con uv (recomendado) uv run python -m pytest test/test_service.py -v # O si tiene activado el entorno virtual pytest test/test_service.py -v
El conjunto de pruebas incluye:
- Pruebas de inicialización del servicio
- Pruebas de gestión de la configuración
- Pruebas de funcionalidad de búsqueda con mocking
- Pruebas de gestión de errores
Uso
from service import AmazonPAAPIService # Crear servicio (usa variables de entorno) service = AmazonPAAPIService() # Buscar elementos items = service.search_items("echo dot", "Electronics", 5)
Ejecutar el servidor MCP
# Ejecutar directamente con uv (recomendado) uv run python server.py # O si tienes activado el entorno virtual python server.py