Skip to main content
Glama
Suriya-Ravichandran

Amazon India Product Research MCP

Amazon India Product Research MCP

CI Licence: MIT PyPI Python 3.11+ MCP PRs welcome Security policy Release

Un servidor MCP (Model Context Protocol) que convierte Claude Desktop en un asistente de investigación de productos para vendedores principiantes de Amazon India. Puntúa las oportunidades de producto, estima la demanda, evalúa la competencia, calcula la rentabilidad real de Amazon India, planifica el aprovisionamiento, extrae las quejas de los clientes, investiga palabras clave y redacta un listado completo.

Se ejecuta a través de stdio, por lo que se conecta directamente a Claude Desktop.

¿Nuevo aquí? Empieza con la Guía de configuración y ejecución — instalación paso a paso, verificación y configuración de Claude Desktop, con una sección de resolución de problemas. Para datos en vivo, consulta la Guía de datos en vivo y extracción.

24 herramientas. Funciona sin claves API — en modo demo sin conexión, o con datos reales en vivo de fuentes gratuitas (Google Trends, DuckDuckGo, páginas públicas de amazon.in).


Descripción general del proyecto

El servidor se basa en un perfil de vendedor:

Criterio

Objetivo

Inversión

₹5.000 – ₹20.000

Precio de venta

₹199 – ₹699

Peso

menos de 500 g

Margen de beneficio

30 % mínimo

Demanda

uso diario, no estacional

Devoluciones

tasa de devolución baja

Aprovisionamiento

aprovisionamiento indio fácil

Riesgo

sin problemas evidentes de bloqueo o aprobación de marca

Cada herramienta puntúa los productos según estos criterios y penaliza lo que hunde a los nuevos vendedores: productos de marca, riesgo de falsificación, artículos frágiles, pilas, electrónica compleja, perecederos, productos de temporada, tallas de ropa, artículos pesados y categorías dominadas por marcas fuertes.

La integridad de los datos es lo primero

Este proyecto se niega a inventar datos del mercado. Cada salida significativa lleva source, data_type, confidence y last_updated, donde data_type es uno de Live, Verified, Estimated, Historical o Demo.

  • Los datos de demostración siempre se etiquetan como Demo y nunca se presentan como datos reales de Amazon.

  • Las cifras de demanda y ventas mensuales son estimaciones modeladas, nunca ventas reales de Amazon.

  • Las tarifas de Amazon provienen de un calendario configurable; el incluido está etiquetado como Estimated.

  • Los proveedores nunca se inventan. Sin una API de proveedores, search_suppliers devuelve una lista de proveedores vacía junto con canales de aprovisionamiento reales y públicos que puedes verificar por ti mismo.

  • Ninguna herramienta garantiza beneficios o ventas garantizadas.


Related MCP server: LaunchFast MCP

Características

  • 20 herramientas MCP que cubren todo el flujo de trabajo del vendedor: descubrimiento, demanda, competencia, dinero, listado, aprovisionamiento y datos en vivo

  • Datos en vivo gratuitos, sin claves API: interés de búsqueda de Google Trends, búsqueda web de DuckDuckGo y páginas públicas de amazon.in, incluidas las insignias de "comprados en el último mes"

  • Estimación de ingresos y ventas a partir de curvas BSR o de las propias insignias de compra de Amazon, siempre como un rango con el método indicado

  • Detección de nuevos vendedores: qué competidores tienen pocas reseñas y cuáles de ellos ya superan las 300+ unidades al mes — la señal más fuerte de que una página es ganable

  • Puntuación de perennidad a partir de hasta 5 años de interés de búsqueda real, para que evites el stock muerto estacional

  • Planificación de anuncios de Amazon: ACOS de equilibrio, escalas de ofertas por tipo de concordancia, asignación de palabras clave de concordancia, estructura de campañas y palabras clave negativas, todo derivado de tu propia economía unitaria en lugar de consejos genéricos

  • Puntuación de oportunidad ponderada de 0 a 100, además de selección por lotes de hasta 15 ideas a la vez

  • Cálculo de tarifas de Amazon India: referencia, cierre, FBA / Easy Ship / Self Ship, GST sobre tarifas, reserva de devoluciones, punto de equilibrio y precio recomendado

  • Planificación del lanzamiento: cantidad de pedido, distribución del presupuesto, presupuesto publicitario, punto de reabastecimiento, retorno de la inversión

  • Agrupación de quejas de reseñas con soluciones concretas a nivel de proveedor

  • Investigación de palabras clave, borrador de listado y un plan de imágenes de siete huecos

  • Extracción conforme a las normas: robots.txt, lista blanca, retardo de rastreo, presupuesto de páginas y una parada firme ante los retos de bots — sin eludir la protección antibots

  • Historial de investigación almacenado en SQLite o PostgreSQL

  • Modo demo completo: todo funciona sin conexión, de forma determinista


Arquitectura

amazon-india-seller-mcp/
│
├── amazon_india_seller_mcp/      # the installable package
│   ├── __init__.py
│   ├── __main__.py               # python -m amazon_india_seller_mcp
│   └── server.py                 # MCP entry point (stdio transport) - wiring only
│
├── server.py                     # compatibility shim: python server.py still works
│
├── amazon_india_seller_mcp/tools/                        # MCP tool definitions - thin: validate, call service, shape result
│   ├── __init__.py               # ServiceBundle + error-handling decorator
│   ├── product_research.py       # research_product
│   ├── demand_analysis.py        # analyze_product_demand
│   ├── competition.py            # analyze_competition
│   ├── profit_calculator.py      # calculate_profitability
│   ├── supplier_search.py        # search_suppliers
│   ├── review_analysis.py        # analyze_reviews
│   ├── keyword_research.py       # research_keywords
│   ├── listing_generator.py      # generate_listing
│   ├── revenue_calculator.py     # calculate_revenue
│   ├── competitor_analysis.py    # analyze_competitors
│   ├── purchase_signals.py       # analyze_purchase_signals
│   ├── review_metrics.py         # analyze_review_metrics
│   ├── evergreen_analysis.py     # analyze_evergreen
│   ├── product_images.py         # analyze_product_images
│   ├── opportunity_finder.py     # find_product_opportunities
│   ├── launch_planner.py         # plan_product_launch
│   ├── ppc_keywords.py           # suggest_ppc_keywords
│   ├── ppc_bidding.py            # calculate_ppc_bids / plan_ppc_campaign
│   ├── web_search.py             # search_web
│   ├── amazon_scraper.py         # scrape_amazon_search / scrape_amazon_product / scraper_status
│   └── listing_scraper.py        # scrape_listing_details
│
├── amazon_india_seller_mcp/services/                     # All business logic
│   ├── __init__.py               # Data envelopes, errors, cache, opportunity scoring
│   ├── amazon_service.py         # Provider abstraction (demo / scraper / API), snapshots, risk, reviews, listings
│   ├── trends_service.py         # Demand, trend direction, seasonality, keywords, live Google Trends
│   ├── supplier_service.py       # Sourcing research (never fabricates suppliers)
│   ├── pricing_service.py        # Fees, profit, margin, ROI, break-even, recommended price
│   ├── revenue_service.py        # Units from BSR/badges, revenue, competitor stage, evergreen scoring
│   ├── search_service.py         # Web search (DuckDuckGo free, Brave/Serper/Tavily/Google CSE)
│   ├── browser_service.py        # Guardrailed fetching: allowlist, robots.txt, delay, budget, block detection
│   ├── scraper_service.py        # Amazon India page parsing (search, product, listing detail, reviews, bestsellers)
│   ├── ads_service.py            # Sponsored Products bid maths, keyword match types, campaign structure
│   └── security.py               # SSRF guards, log redaction, prompt-injection scanning, size caps
│
├── amazon_india_seller_mcp/database/                     # Research history
│   ├── __init__.py
│   └── models.py                 # SQLAlchemy models + session handling
│
├── amazon_india_seller_mcp/config/                       # Centralised settings
│   ├── __init__.py
│   └── settings.py               # Env-driven settings + configurable fee schedule
│
├── tests/
│   ├── __init__.py
│   ├── test_product_research.py
│   ├── test_demand_analysis.py
│   ├── test_competition.py
│   └── test_profit_calculator.py
│
├── docs/
│   ├── SETUP.md                  # full setup, run and troubleshooting guide
│   ├── SCRAPING.md               # live data sources, guardrails and compliance
│   ├── PROMPTS.md                # copy-paste prompt library for all 20 tools
│   └── check_connection.py       # MCP connection self-test
│
├── .env.example
├── mcp.json.example
├── LICENSE                       # MIT
├── CONTRIBUTING.md
├── CODE_OF_CONDUCT.md
├── SECURITY.md                   # threat model and controls
├── CHANGELOG.md
├── .github/workflows/ci.yml      # tests on Python 3.11-3.13
├── pyproject.toml                # Dependencies, managed by uv
└── uv.lock

Reglas que sigue el código: server.py no contiene lógica de negocio, las herramientas no contienen lógica de negocio, los servicios la contienen toda.


Instalación

Requisitos: Python 3.11+ y uv. La Guía de configuración y ejecución cubre cada paso en detalle.

Úsalo sin clonar nada

uvx amazon-india-seller-mcp

Esa es toda la instalación. Apunta Claude Desktop a ello:

{
  "mcpServers": {
    "amazon-india-seller": {
      "command": "uvx",
      "args": ["amazon-india-seller-mcp"],
      "env": { "DEMO_MODE": "true" }
    }
  }
}

O instálalo en un entorno

uv tool install amazon-india-seller-mcp     # then run: amazon-india-seller-mcp
pip install amazon-india-seller-mcp         # works too

O trabaja desde una copia del código fuente (para desarrollo)

git clone https://github.com/Suriya-Ravichandran/amazon-india-seller-mcp.git
cd amazon-india-seller-mcp
uv sync --all-extras
uv run python -m amazon_india_seller_mcp

Los datos en vivo gratuitos necesitan las dependencias adicionales: uv sync --extra realtime --extra browser.

# Windows (PowerShell)
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# or via pip
python -m pip install uv

Entorno virtual

uv sync gestiona el entorno virtual por ti; ejecuta los comandos con uv run. Si prefieres activarlo manualmente:

# Windows
.venv\Scripts\activate

# macOS / Linux
source .venv/bin/activate

Dependencias

Declaradas en pyproject.toml y fijadas en uv.lock:

mcp, pydantic, pydantic-settings, httpx, sqlalchemy, python-dotenv; pytest en el grupo de desarrollo.

Añade o cambia una dependencia con uv add <paquete> / uv remove <paquete> — nunca edites el archivo de bloqueo a mano.


Configuración del entorno

cp .env.example .env      # Windows: copy .env.example .env

Variable

Por defecto

Propósito

APP_ENV

development

Etiqueta de entorno

DEBUG

false

Registro detallado

DATABASE_URL

sqlite:///./amazon_product_mcp.db

URL de SQLite o PostgreSQL

PERSIST_RESEARCH

true

Almacenar el historial de investigación

AMAZON_API_KEY / AMAZON_API_SECRET

vacío

Credenciales de SP-API / PA-API

PRODUCT_DATA_PROVIDER

demo

demo, sp-api, pa-api o un nombre de API de terceros

PRODUCT_DATA_API_KEY / PRODUCT_DATA_BASE_URL

vacío

Acceso al proveedor de terceros

GOOGLE_TRENDS_ENABLED

false

Habilitar un proveedor de tendencias (no se incluye ninguno con el proyecto)

SUPPLIER_API_KEY / SUPPLIER_API_BASE_URL

vacío

Proveedor de datos de proveedores

DEMO_MODE

true

Datos de demostración deterministas, claramente etiquetados

CACHE_ENABLED / CACHE_TTL_SECONDS

true / 900

Caché en proceso

AMAZON_FEE_CONFIG_PATH

vacío

Archivo JSON con tu tarjeta de tarifas real de Seller Central

Los secretos viven solo en .env, que está en gitignore. Nada está codificado en el código fuente.


Configuración de la base de datos

Las tablas se crean automáticamente al inicio. No hay que ejecutar nada a mano.

Desarrollo (por defecto): SQLite en ./amazon_product_mcp.db.

PostgreSQL:

DATABASE_URL=postgresql+psycopg://user:password@localhost:5432/amazon_mcp

Las columnas de carga JSON se asignan a JSONB en PostgreSQL y a JSON en SQLite automáticamente. Instala el controlador junto a ella: uv add psycopg[binary].

Modelos almacenados: ProductResearch, DemandAnalysis, CompetitionAnalysis, ProfitCalculation, SupplierResearch — cada uno conserva product_name, marketplace, research_data, data_source, data_type, confidence, created_at, updated_at.

El almacenamiento del historial es de mejor esfuerzo: si la base de datos no está disponible, las herramientas siguen funcionando y el error se registra en lugar de mostrarse.


Ejecutar el MCP

uvx amazon-india-seller-mcp              # installed
uv run python -m amazon_india_seller_mcp # from a checkout
uv run server.py                         # legacy path, still supported

El proceso habla el protocolo MCP a través de stdio, por lo que permanecerá en silencio esperando a un cliente — eso es un comportamiento correcto. Los registros van a stderr, manteniendo stdout limpio para el tráfico del protocolo. Detenlo con Ctrl+C.


Configuración de Claude Desktop

  1. Abre el archivo de configuración de Claude Desktop:

    • Windows: %APPDATA%\Claude\claude_desktop_config.json

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  2. Copia el bloque mcpServers de mcp.json.example en él, reemplazando las rutas con tus propias rutas absolutas:

{
  "mcpServers": {
    "amazon-product-research": {
      "command": "/ABSOLUTE/PATH/TO/amazon-india-seller-mcp/.venv/bin/python",
      "args": ["/ABSOLUTE/PATH/TO/amazon-india-seller-mcp/server.py"],
      "env": { "DEMO_MODE": "true" }
    }
  }
}

En Windows usa .venv\\Scripts\\python.exe y escapa las barras invertidas. También se incluye una variante uv --directory ... run server.py en el archivo de ejemplo.

  1. Cierra y reinicia Claude Desktop por completo (ciérralo desde la bandeja/barra de menús; recargar la ventana no es suficiente).

  2. Prueba la conexión: las herramientas aparecen en el menú de herramientas de Claude Desktop, y preguntar "Calcula el beneficio de un producto de 399 ₹ que cuesta 120 ₹" debería activar calculate_profitability.


Herramientas MCP disponibles

Descubrimiento

Herramienta

Qué hace

find_product_opportunities

Evalúa hasta 15 ideas de producto a la vez según los criterios para principiantes y las clasifica. Empieza aquí.

research_product

Informe de oportunidad completo para una idea: categoría, rango de precios, BSR, peso, valoración, reseñas, demanda, competencia, riesgo de devolución / bloqueo / marca, idoneidad para principiantes, puntuación de 0 a 100 y recomendación

Demanda

Herramienta

Qué hace

analyze_product_demand

Demanda mensual, nivel de demanda, dirección de la tendencia, estacionalidad, confianza y una decisión de lanzamiento

analyze_evergreen

Puntuación evergreen de 0 a 100 a partir de hasta 5 años de interés de búsqueda real: estabilidad, planitud, suelo de demanda, crecimiento, más orientación sobre inventario

analyze_purchase_signals

Agrega las insignias propias de Amazon de «X comprados en el último mes»: la señal de ventas gratuita más fiable que existe

Competencia

Herramienta

Qué hace

analyze_competition

Nivel de competencia, promedios de precio y valoraciones, barrera de reseñas, dominio de marca, calidad de listado e imágenes, listados débiles y oportunidades de diferenciación

analyze_competitors

Unidades por competidor, ingresos, cuota de mercado, tamaño del mercado y concentración. Señala a los vendedores nuevos (pocas reseñas) y a quienes superan las 300+ unidades/mes, y luego da un veredicto de entrada

analyze_review_metrics

La barrera de reseñas: recuentos de reseñas mediana y por cuartiles, meses para ponerse al día y qué listados son superables

Dinero

Herramienta

Qué hace

calculate_profitability

Tarifas de referencia, de cierre, de cumplimiento y GST, reserva de devoluciones, coste total, beneficio, margen, ROI, punto de equilibrio y precio recomendado, más una explicación en lenguaje sencillo

calculate_revenue

Ingresos mensuales y anuales a partir de unidades, BSR o una insignia de compra, como un rango, con el método indicado. Añade product_cost para el beneficio

plan_product_launch

Cantidad de pedido, reparto del presupuesto (inventario / muestras / fotografía / anuncios / colchón), días de cobertura, punto de reorden, coste publicitario asumible, recuperación de la inversión, cronograma semana a semana y advertencias

Listado

Herramienta

Qué hace

research_keywords

Palabras clave primarias, secundarias, de cola larga y relacionadas, intención de búsqueda, prioridad, términos de búsqueda de backend y orientación de colocación

generate_listing

Título SEO y alternativas, cinco viñetas, descripción, términos de backend, dirección de imagen, consejos de embalaje y una lista de verificación de cumplimiento

analyze_product_images

Cobertura de la galería de la competencia, galerías pobres que puedes superar, requisitos de imagen de Amazon y un plan de imágenes de siete espacios

analyze_reviews

Quejas agrupadas por tema con recuentos de menciones y soluciones concretas de producto, más características apreciadas y ángulos de diferenciación

scrape_listing_details

Desglose completo de un listado en vivo — título, imágenes, viñetas, descripción, A+, vídeo, especificaciones, insignias, variaciones — calificado de 0 a 100 con cómo superarlo

Publicidad

Herramienta

Qué hace

suggest_ppc_keywords

Palabras clave de anuncio con tipo de concordancia (exacta / de frase / amplia), puja sugerida según tu beneficio por unidad, prioridad, colocación de campaña, más palabras clave negativas

calculate_ppc_bids

ACOS de punto de equilibrio (= tu margen), ACOS objetivo, CPC de punto de equilibrio y CPC objetivo, una escalera de pujas por tipo de concordancia, clics y coste publicitario por pedido. Comprueba una puja que ya estés ejecutando

plan_ppc_campaign

Estructura de tres campañas (Auto discovery, Manual Exact core, Phrase/Broad expansion) con reparto de presupuesto, pedidos proyectados y una rutina de optimización semanal

Abastecimiento

Herramienta

Qué hace

search_suppliers

Investigación de abastecimiento para Parrys / Chennai / Tamil Nadu / India con estado de verificación y una lista de verificación de evaluación. Nunca inventa proveedores

Datos en vivo

Herramienta

Qué hace

search_web

Búsqueda web mediante DuckDuckGo (gratuita, sin clave) o Brave / Serper / Tavily / Google CSE

scrape_amazon_search

Resultados de búsqueda en vivo de amazon.in: ASIN, precio, valoración, recuento de reseñas, insignia de compra, marcador de patrocinado

scrape_amazon_product

Página de producto en vivo: BSR, peso, vendedor, viñetas, galería de imágenes completa, más una estimación de ventas

scraper_status

Qué está configurado para hacer la capa de datos en vivo y qué la bloquea

Puntuación de oportunidad

Componente

Peso

Demanda

25%

Rentabilidad

25%

Competencia

20%

Riesgo de devolución

10%

Facilidad de abastecimiento

10%

Amabilidad para principiantes

10%

Puntuación

Recomendación

80–100

Oportunidad fuerte

65–79

Buena oportunidad

50–64

Oportunidad moderada

30–49

Riesgo alto

0–29

Evitar


Ejemplos de prompts

Find beginner-friendly Amazon India products under ₹20,000 investment.

Screen these ideas and rank them: sink strainer, cable organizer, spice rack.

Analyze the demand for silicone sink strainers on Amazon India.

Is a silicone sink strainer an evergreen product or seasonal?

How many units are competitors selling for "cable organizer"?

Are any new sellers succeeding in the kitchen drawer organizer market?

What revenue would a ₹399 product at BSR 3,500 make per month?

Calculate the profit for a ₹399 product that costs ₹120.

Plan a ₹20,000 launch for a ₹399 sink strainer that costs ₹120.

Find suppliers for cable organizers in Chennai or Tamil Nadu.

Find customer complaints about manual soap dispensers.

Generate an Amazon India listing for a reusable silicone food storage bag.

Scrape live Amazon India results for "silicone sink strainer".

Tear down ASIN B0XXXXXXXX and tell me how to beat that listing.

What should I bid on Amazon Ads for a ₹399 product that costs ₹120?

Plan a ₹6,000/month PPC campaign for my sink strainer launch.

Check the scraper status.

Un flujo de trabajo natural: filtrar ideas → comprobar demanda y evergreen → comprobar competidores y vendedores nuevos → calcular beneficio → planificar el lanzamiento → investigar palabras clave → generar el listado.

docs/PROMPTS.md es la biblioteca completa de prompts — 56 prompts de copiar y pegar agrupados por tarea, flujos de trabajo encadenados con varias herramientas y prompts que hacen que Claude muestre qué números son en vivo y cuáles estimados.


Modo de demostración

Con DEMO_MODE=true (el valor predeterminado) todas las herramientas funcionan sin una sola clave de API de pago.

  • Los datos de muestra son deterministas: la misma consulta siempre devuelve los mismos números, por lo que los resultados son reproducibles y comprobables.

  • Cada valor está etiquetado como "data_type": "Demo", "confidence": "Low", "source": "Local Demo Provider".

  • El servidor registra una advertencia al inicio para que nadie olvide en qué modo está.

El modo demo es para aprender el flujo de trabajo y probar la integración. Nunca tomes una decisión de compra basada en números de demostración.


Datos en vivo de fuentes gratuitas (sin claves de API)

Todo lo siguiente es gratuito y no necesita clave de API:

uv sync --extra realtime --extra browser
uv run playwright install chromium     # only for render=true
APP_ENV=production
DEMO_MODE=false
PRODUCT_DATA_PROVIDER=scraper
GOOGLE_TRENDS_ENABLED=true
WEB_SEARCH_PROVIDER=duckduckgo
BROWSER_ENABLED=true
BROWSER_ALLOWED_DOMAINS=amazon.in
BROWSER_MIN_DELAY_SECONDS=8

Fuente

Te ofrece

Fiabilidad

Google Trends

Interés de búsqueda real de India, estacionalidad, puntuación evergreen

Alta

DuckDuckGo

Búsqueda web en vivo de competidores, proveedores, precios

Alta

Páginas de amazon.in

Precios, ASIN, valoraciones, recuentos de reseñas, insignias de compra

Intermitente

Amazon presenta desafíos de bots al tráfico automatizado. Este servidor detecta y se detiene en ellos en lugar de eludirlos, por lo que el scraping funciona de forma oportunista. Lee docs/SCRAPING.md antes de activarlo: cubre robots.txt frente a Términos de Servicio, las barreras de seguridad y cómo corregir selectores sin tocar el código.


Integración de API de producción

  1. Datos de producto. Implementa una subclase de ProductDataProvider en services/amazon_service.py (search_listings y fetch_reviews), o apunta PRODUCT_DATA_BASE_URL / PRODUCT_DATA_API_KEY a una API de terceros aprobada y adapta el mapeo de payload de HttpProductDataProvider. Luego establece DEMO_MODE=false.

  2. Amazon SP-API / PA-API. Regístrate como desarrollador, obtén credenciales y añade un proveedor que firme las solicitudes con AMAZON_API_KEY / AMAZON_API_SECRET. build_provider() ya enruta sp-api y pa-api y actualmente lanza un error claro de «no implementado» en lugar de falsificar datos en silencio.

  3. Tarifas. Exporta tu tarjeta de tarifas de Seller Central a JSON que coincida con el modelo FeeSchedule, apunta AMAZON_FEE_CONFIG_PATH a él y establece data_type en Verified.

  4. Proveedores. Establece SUPPLIER_API_KEY y SUPPLIER_API_BASE_URL; el estado de verificación se transmite desde el proveedor en lugar de asumirse.

Respeta los términos de servicio de cada proveedor. Hacer scraping directamente de Amazon viola sus términos y no está implementado aquí.


Pruebas

uv run pytest                      # whole suite (193 tests)
uv run pytest -v                   # verbose
uv run pytest tests/test_profit_calculator.py
uv run docs/check_connection.py    # end-to-end MCP connection self-test

La cobertura incluye investigación de productos, bandas y pesos de puntuación de oportunidad, análisis de demanda y estacionalidad, análisis de competencia, las matemáticas completas de beneficio (el punto de equilibrio y el precio recomendado se verifican mediante recálculo), configurabilidad del calendario de tarifas, estimación de ingresos y curva BSR, clasificación de vendedores nuevos y objetivo de volumen, puntuación evergreen, todas las barreras de seguridad del scraping (lista de permitidas, robots, presupuesto de página, detección de desafíos de bots), ayudas de análisis de HTML, manejo de entradas no válidas para cada herramienta y determinismo del modo demo.

La suite es completamente offline: Google Trends en vivo, búsqueda web y obtención de páginas se fuerzan a desactivarse para que los resultados sigan siendo deterministas.

La suite fuerza el modo demo, desactiva el almacenamiento en caché y desactiva la persistencia del historial, por lo que nunca toca tu base de datos de investigación.


Solución de problemas

Síntoma

Solución

Falta el servidor en Claude Desktop

Usa rutas absolutas en la configuración y luego cierra y reinicia Claude Desktop por completo

spawn python ENOENT

Apunta command al intérprete dentro de .venv

ModuleNotFoundError

Ejecuta uv sync; asegúrate de que la configuración use el intérprete .venv

El servidor «se cuelga» al ejecutarlo manualmente

Correcto: está esperando un cliente en stdio

Error provider_not_configured

Establece PRODUCT_DATA_API_KEY / PRODUCT_DATA_BASE_URL, o DEMO_MODE=true

rate_limit_exceeded

Espera a que se restablezca la ventana del proveedor; el almacenamiento en caché está activado por defecto

Todo dice «Demo»

Esperado en modo demo; establece DEMO_MODE=false y configura un proveedor

Errores de base de datos

Comprueba DATABASE_URL; las herramientas siguen funcionando sin almacenamiento de historial

Los registros van a stderr. Define DEBUG=true o LOG_LEVEL=DEBUG para ver el detalle; en Claude Desktop, usa los archivos de registro de MCP (%APPDATA%\Claude\logs en Windows, ~/Library/Logs/Claude en macOS).


Seguridad

Hay tres riesgos asociados a lo que hace este servidor, y cada uno tiene un control explícito. Los detalles completos están en SECURITY.md; los controles se prueban en tests/test_security.py.

SSRF. El esquema, el puerto y la IP resuelta se verifican antes de cada solicitud, y cada salto de redirección se vuelve a validar — de modo que un host en la lista de permitidos no puede redirigir la descarga hacia loopback, un rango privado o el endpoint de metadatos de la nube. Las solicitudes de Playwright pasan por la misma compuerta.

Credenciales. Un filtro de registro que redacta datos elimina claves de API, tokens de portador y parámetros de consulta con secretos de cada registro, incluido el registro de bibliotecas, como las URL de solicitud de httpx. Ninguna salida de herramienta contiene jamás una clave.

Inyección de prompts. Los listados, las reseñas y los resultados de búsqueda extraídos son texto de terceros que llega al contexto de un LLM. Cada campo se sanitiza (se eliminan caracteres de control, de ancho cero y bidireccionales), se escanea en busca de contenido con forma de instrucción y se devuelve con un bloque content_safety. Las instrucciones MCP del servidor le indican al modelo que lo trate como datos, nunca como instrucciones.

También se aplican: un límite de respuesta de 8 MB, un límite de 5 saltos de redirección, rutas de archivo de configuración validadas, SQL parametrizado y ninguna traza de pila que llegue al cliente MCP.


Notas de seguridad

  • Las credenciales provienen únicamente de variables de entorno; .env está en gitignore y nada está codificado de forma fija.

  • Las trazas de pila nunca llegan al cliente MCP — los errores se registran en el lado del servidor y se devuelven como cargas útiles estructuradas y seguras para el usuario.

  • La base de datos almacena únicamente cargas útiles de investigación, no credenciales.

  • Las cifras de tarifas y de mercado son configuración, no código, por lo que pueden corregirse sin cambiar el código.

  • Nada en este proyecto extrae datos de Amazon ni elude los términos de ningún proveedor.


Hoja de ruta

  • Proveedores reales de SP-API y Product Advertising API con firma de solicitudes

  • Seguimiento histórico: tendencias de precio, BSR y valoración a partir de investigaciones almacenadas

  • Recursos MCP que exponen el historial de investigación guardado de vuelta a Claude

  • Modelado de costes de almacenamiento y publicidad de FBA (punto de equilibrio consciente de ACOS)

  • Control por categoría y datos de referencia de certificaciones (BIS / FSSAI)

  • Calibración de las curvas de BSR a unidades contra datos reales de ventas de vendedores

  • Minería de listas de bestsellers para descubrir productos con demanda demostrada


Contribuciones

Las contribuciones son bienvenidas — consulta CONTRIBUTING.md.

La regla más importante: nunca inventes datos, y nunca dejes que una estimación parezca una medición. La gente gasta dinero real con esta salida, por lo que cada valor lleva su fuente, tipo de datos y nivel de confianza.

Particularmente valioso en este momento:

  • Correcciones de selectores cuando Amazon cambia su marcado

  • Calibración de las curvas de BSR a unidades contra datos reales de ventas

  • Herramientas de GST, cumplimiento de categoría y costes de importación para vendedores indios

  • Proveedores reales de SP-API / Product Advertising API

Las solicitudes de extracción que añadan evasión de protección anti-bots (rotación de proxies, suplantación de huellas digitales, resolución de CAPTCHA) serán rechazadas — consulta docs/SCRAPING.md.

Consulta también CODE_OF_CONDUCT.md y SECURITY.md.


Licencia

MIT — libre de usar, modificar y distribuir, incluso con fines comerciales. El software se proporciona tal cual, sin garantía.


Esta herramienta apoya la investigación; no la sustituye. Las cifras de demanda, ventas y rentabilidad son estimaciones basadas en los datos de entrada y el programa de tarifas configurado — no son garantías. Verifica las tarifas en Seller Central, verifica a cada proveedor personalmente y confirma los requisitos de categoría y marca con Amazon antes de invertir.

Available Tools

24 tools
analyze_competitionA

Analyse the Amazon India competitive landscape for a keyword: competition level, price and rating averages, review barrier, brand dominance, listing and image quality, weak listings, and bundle / differentiation / keyword opportunities.

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordYes
marketplaceNoamazon.in
max_competitorsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It describes what the tool analyzes but does not mention whether it is read-only, data source, latency, or limitations. For an analysis tool, it is likely safe, but the description lacks explicit safety or operational context. It does not contradict annotations (since none exist) and adds functional detail, but not behavioral depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with a colon and a list. It front-loads the primary purpose and enumerates features concisely. While the list is long, it is efficient and each item earns its place. No fluff or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is moderately complex with three parameters and an output schema. The description provides a solid overview of what is returned (the list of analyzed aspects), which complements the output schema. It lacks explicit notes on data source or limitations, but given the output schema exists and the description covers the core functionality, it is reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It clarifies 'keyword' (the focus) and implicitly 'marketplace' (Amazon India) from the domain, but does not describe 'max_competitors'. The description adds some meaning for two of three parameters but leaves one undocumented. It partially compensates for the low coverage but not fully.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Analyse', the resource 'Amazon India competitive landscape for a keyword', and enumerates specific outputs (competition level, price/rating averages, review barrier, brand dominance, listing/image quality, weak listings, opportunities). This is specific and distinguishes it from siblings like 'analyze_competitors', which is broader and does not mention Amazon India or keyword focus.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage: it is for analyzing a keyword's competitive landscape on Amazon India. However, it does not explicitly state when to use this tool over siblings like 'analyze_competitors' or 'find_product_opportunities', nor does it mention exclusions or prerequisites. The context is clear but lacks explicit routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

analyze_competitorsA

Profile every competitor for a keyword on Amazon India: estimated monthly units and revenue, market share, market size and concentration. Flags which competitors are NEW sellers (low review count - proof a newcomer can rank) and which clear a minimum monthly sales bar (300 units by default), then gives an entry verdict.

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordYes
marketplaceNoamazon.in
max_competitorsNo
min_monthly_unitsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description takes responsibility for explaining behavior. It reveals the heuristic for identifying NEW sellers (low review count), the default sales threshold (300 units), and the output of an entry verdict. It doesn't disclose side effects and has a minor default-value discrepancy, but it goes beyond a vague promise.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with no fluff; the first sentence fronts the core action and key outputs, the second and third add necessary context about flags and the verdict. The description is dense but well-paced, though it could potentially be tightened.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with four parameters and an output schema, the description covers the key behaviors: what it profiles, the metrics, the flags, and the verdict. It omits explanation of `max_competitors` and has the default-value discrepancy, but the presence of an output schema reduces the burden. Overall, it's sufficiently complete for an agent to know when and how to invoke it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds meaning to `min_monthly_units` by explaining what the threshold is and its default, and to `marketplace` by specifying Amazon India. However, it says nothing about `max_competitors` or `keyword` beyond what the schema provides. With 0% schema coverage, this partial compensation yields a mid-score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Describes a specific resource (competitors for a keyword on Amazon India) with active verbs like 'Profile', 'Flags', and 'gives'. However, it does not distinguish itself from the sibling 'analyze_competition', so it misses the top mark.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear context for when to use this tool (competitor analysis for a keyword) but never mentions alternatives or exclusions. The usage is implied by the scenario, meeting the 'implied usage' bar.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

analyze_evergreenA

Decide whether a product has evergreen (year-round) demand or is seasonal / a fad, using up to 5 years of search interest. Returns an evergreen score 0-100, a verdict (Evergreen to Highly Seasonal), stability / flatness / demand-floor / growth components, and inventory guidance. Uses live Google Trends when enabled - free, no API key.

ParametersJSON Schema
NameRequiredDescriptionDefault
geoNoIN
yearsNo5y
product_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Since no annotations are provided, the description carries the full burden, and it mostly delivers: it discloses the data source (live Google Trends), the timeframe (up to 5 years), the dependence ('when enabled'), and enumerates the full output contract (score, verdict, four components, inventory guidance). The 'when enabled' caveat also honestly flags the fallback behavior. It loses a point for not disclosing failure modes (e.g., what happens when Google Trends is unavailable).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences carry a dense payload with no fluff. The core purpose and scope are front-loaded, followed by the return contract and tooling note. The 'stability / flatness / demand-floor / growth components' is mildly listy but efficient. Only minor trimming could be done; overall it respects the reader's attention.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given there is an output schema, the description is right not to belabor return values. It covers the key behavioral aspects: the decision being made, the data source, the lookback window, and cost/API implications. Missing elements like rate limits or guidance on which product names are valid, but the presence of an output schema plus the behavioral disclosure makes this largely adequate for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description must compensate, but it only implicitly documents the 'years' parameter via the phrase 'up to 5 years of search interest', which matches the default '5y'. The 'geo' parameter (defaulting to IN) and 'product_name' are never explained semantically, and no guidance is given on expected formats or constraints. The description gives partial credit to years but leaves the other two parameters to the agent's guesswork.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description leads with a specific verb ('Decide whether'), the resource (product demand type), and the distinguishing scope (5 years of search interest). It clearly differentiates this from the large sibling set by naming the exact output (evergreen vs. seasonal verdict), which is what sets it apart from other demand/buying analysts like analyze_product_demand or find_product_opportunities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context by explaining the data source and the 'when enabled' dependency on Google Trends, and it signals that it's a free, key-less operation. However, it never explicitly states when to choose this tool over the 23 siblings (e.g., analyze_product_demand or find_product_opportunities), leaving the routing decision to the agent's inference. No exclusions or comparison conditions are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

analyze_product_demandA

Estimate monthly demand, demand level, trend direction and seasonality for a product on Amazon India, and return a launch decision (Strong Opportunity to Avoid). Estimates are modelled, never measured Amazon sales data.

ParametersJSON Schema
NameRequiredDescriptionDefault
marketplaceNoamazon.in
product_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses that estimates are modelled and never measured Amazon sales data, which is a key behavioral trait. However, it does not state whether the operation is read-only, or any other side effects, rate limits, or authentication requirements. The description provides some transparency but lacks completeness given the absence of annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that front-loads the core outputs (demand, trend, seasonality, launch decision) and ends with a crucial caveat about data being modelled. There is no redundancy or fluff; every phrase contributes to understanding the tool's purpose and its limitations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the main purpose and output, and hints at the input context (product, marketplace). However, it fails to provide details on parameter formats, whether the marketplace is optional, or how the launch decision is derived. Given the output schema exists (presumably detailing return structure), the description could be more complete about usage constraints but leaves significant gaps for an agent to call it correctly without further probing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It only implies product_name via 'for a product' and marketplace via 'on Amazon India', but never explicitly names or explains the parameters. It does not clarify default values or required fields. The description adds minimal value over the schema, leaving agents to infer parameter usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the tool estimates monthly demand, demand level, trend direction, and seasonality for a product on Amazon India, and returns a launch decision. It clearly identifies the verb 'estimate' and the resource, and distinguishes it from sibling tools like analyze_competition or analyze_reviews by focusing on demand and launch decision. The additional note that estimates are modelled, not measured, adds specificity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool (for demand estimation and launch decisions) but does not explicitly contrast with alternatives or state when not to use it. There is no mention of prerequisites or when this tool is preferred over others like analyze_purchase_signals or find_product_opportunities. The usage context is only implicitly derived from the description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

analyze_product_imagesA

Analyse product imagery on Amazon India. Pass an ASIN to pull one listing's full image gallery, or a product_name to survey image coverage across a search page. Returns image counts, thin galleries you can beat, Amazon's image requirements and a concrete seven-slot gallery plan.

ParametersJSON Schema
NameRequiredDescriptionDefault
asinNo
marketplaceNoamazon.in
max_listingsNo
product_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses the tool's behavior (pulls galleries, surveys coverage, returns counts and a plan) but doesn't mention potential side effects, rate limits, or data freshness. For a read-only analysis tool, this is acceptable but not rich. The description doesn't contradict any annotations since none exist.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no fluff. It front-loads the core purpose, then lists outputs and the concrete plan. Every sentence earns its place, and the structure is easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 4 parameters, 0 required, and an output schema exists. The description covers the main use cases and outputs, but doesn't detail the output schema structure or edge cases (e.g., what happens if both asin and product_name are provided). Given the output schema exists, the description doesn't need to explain return values, but a note on parameter precedence would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains the two key parameters (asin and product_name) and their roles, and implies the marketplace and max_listings parameters through context (Amazon India, search page). However, it doesn't explicitly describe marketplace or max_listings semantics, which is a minor gap given the 0% coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: analyzing product imagery on Amazon India. It specifies two distinct modes of operation (by ASIN or by product_name) and lists the concrete outputs (image counts, thin galleries, requirements, gallery plan). This distinguishes it from sibling tools like analyze_competition or scrape_amazon_product, which focus on different aspects.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains when to use each mode: pass an ASIN for a single listing's gallery, or a product_name for a search-page survey. It doesn't explicitly state when NOT to use this tool or name alternatives, but the clear mode distinction provides adequate usage context. The absence of explicit exclusions is a minor gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

analyze_purchase_signalsB

Aggregate Amazon India's 'X bought in past month' badges across a keyword: how many listings show one, total units, implied revenue, which listings clear a minimum monthly sales bar, and an overall demand verdict. The badge is Amazon's own published figure, making it the most reliable free sales signal available.

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordYes
marketplaceNoamazon.in
max_listingsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It explains what it returns (aggregated badge data, revenue, verdict) but does not mention potential side effects, data freshness, or limitations beyond the badge being a reliable signal. It doesn't contradict anything, but it doesn't fully disclose all behavioral aspects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, fairly dense sentence that front-loads the action and lists outputs. It is concise but slightly wordy (e.g., 'making it the most reliable free sales signal available' could be trimmed). Overall, it is well-structured and not verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description lists the expected outputs (count, units, revenue, list of qualifying listings, verdict) and explains the badge's significance. It does not specify the output format or handle edge cases, but for a tool with this complexity, it covers the essential outputs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% (no parameter descriptions). The description does not mention any of the parameters (keyword, marketplace, max_listings) or explain their meaning, defaults, or how they affect the output. This is a critical gap given the lack of schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: aggregating Amazon India's 'X bought in past month' badges across a keyword, and lists the specific outputs (count, total units, revenue, etc.). It distinguishes itself from siblings like analyze_product_demand or research_keywords by focusing on this specific badge-based signal.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implicitly suggests it is for demand analysis via badges but does not explicitly mention when to use it over alternatives. It lacks direct comparison to sibling tools or conditions for when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

analyze_review_metricsB

Measure the review barrier for an Amazon India keyword: total, median, quartile and range of competitor review counts, rating spread, how many months it would take to match the median, which listings are beatable on reviews or rating, and how many are new sellers.

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordYes
marketplaceNoamazon.in
max_listingsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears the full burden. It performs adequately by enumerating the computed outputs in detail. However, it omits operational attributes like data freshness, read-only safety, or any side effects of invoking the tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single efficient run-on sentence; zero fluff and every clause adds information about the tool's behavior. The main purpose is front-loaded with a colon introducing the metric list, though the long list of comma-separated items is slightly dense to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 3-parameter analysis tool with an output schema, the description covers the core purpose and main input. However, it doesn't document max_listings, and with no annotations to convey safety hints, subtle gaps remain in what an agent needs to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema coverage, the description must compensate. It covers the keyword parameter via "for an Amazon India keyword" and the marketplace via implicit Amazon.in scoping. However, max_listings is completely unexplained — an agent would not know what it controls from the description alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb ("Measure") and resource ("review barrier for an Amazon India keyword") and details the exact outputs (median, quartiles, rating spread, months-to-match, beatable listings, new sellers). This distinguishes it from analyze_review and research_product, though not as explicitly as it could from the similarly-named analyze_competition/analyze_competitors.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use it — when an agent needs competitive review metrics for a keyword — but never explicitly states when to prefer it over the many siblings (analyze_competition, analyze_reviews, analyze_competitors). The broad metric list gives strong hints, yet no explicit routing or when-not-to-use guidance is present.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

analyze_reviewsB

Analyse customer reviews for a product on Amazon India: most common complaints grouped by theme with mention counts, most appreciated features, quality / packaging / size / usability problems, defects, and recommended product improvements and differentiation.

ParametersJSON Schema
NameRequiredDescriptionDefault
marketplaceNoamazon.in
max_reviewsNo
product_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of disclosure. It does go beyond the schema by describing the nature of the output: grouping complaints by theme, mention counts, recommended improvements. However, it doesn't disclose constraints like how many reviews are analyzed (though max_reviews is a parameter), what happens if the product has few reviews, whether the analysis is real-time or cached, or any rate limits or auth requirements. As an analysis tool it likely has no destructive side effects, but the description doesn't explicitly state that. It provides some behavioral context beyond the schema but misses potential operational details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, dense sentence that front-loads the primary purpose and then lists output components. It's efficient and stays under the ideal length, with no filler. The structure is cluttered with a long list of items (complaints, features, quality/packaging/size/usability problems, defects, improvements) but each item adds specificity. Could be slightly restructured for readability but overall concise and informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 3 parameters (one required) and an output schema exists, the description is partially complete. It fully describes the output categories, which is the tool's core value. However, it omits parameter guidance (highest gap) and does not clarify edge cases or limitations. Since the output schema exists, explaining return values is not required, but the lack of parameter semantics and usage context leaves the description incomplete for a correct invocation without further guesswork. A score of 3 indicates adequate but with clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and there are 3 parameters with no enum descriptions. The description adds no parameter-level detail. It doesn't explain what product_name should look like (e.g., exact product name as on Amazon, ASIN?), what marketplace values are valid (default amazon.in but not enumerated), or what max_reviews influence (it is intuitive but not stated). The description is entirely about the output, not the inputs. With 0% coverage, the description must compensate for the schema's silent parameters, and it does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb-resource pair ('Analyse customer reviews for a product') and lists concrete output categories (complaints grouped by theme with counts, appreciated features, problems, defects, improvements). This distinguishes it from sibling tools like analyze_review_metrics (focused on metrics) and scrape_amazon_product (raw data retrieval). A slight deduction because it doesn't explicitly name a sibling alternative, but the purpose is specific and detailed.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly state when to use this tool versus alternatives. It implies a general use case for analyzing reviews but doesn't contrast with analyze_review_metrics, analyze_purchase_signals, or other related tools. No exclusions, prerequisites, or context about when this is the right choice vs. competitors is provided. The tool context suggests it fits a product research workflow, but the description alone leaves selection to the agent's inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

calculate_ppc_bidsB

Calculate Amazon Ads bids from unit economics: break-even ACOS (equal to your margin), target ACOS, break-even and target CPC, a bid ladder for exact / phrase / broad / auto match types, clicks needed per order, ad cost per order and profit after ads. Pass current_cpc to check whether a bid you are already running is profitable.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoHome & Kitchen
current_cpcNo
target_acosNo
product_costNo
selling_priceYes
conversion_rateNo
profit_per_unitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full burden. It implies a pure calculation via the verb 'Calculate' and mentions the current_cpc check, but it does not disclose whether the tool is read-only, calls external services, or has any side effects. There is no statement about reversibility or data persistence, which is expected for a calculation tool but still unstated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, dense sentence that front-loads the core purpose and lists all key outputs. Every phrase adds value—no fluff or redundancy. It is appropriately sized for the complexity and well-structured as a list of results.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema, the description is incomplete for correct invocation: it does not state that selling_price is required, nor explain the relationship between parameters (e.g., whether profit_per_unit substitutes for product_cost and conversion_rate), nor any validation logic. An agent would lack crucial guidance on how to properly fill in the 7 inputs, especially given the low schema coverage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage and 7 parameters, the description must explain parameter meaning, but it only touches current_cpc ('check whether a bid you are already running is profitable') and alludes to unit economics without mapping to specific parameters like selling_price, product_cost, conversion_rate, or profit_per_unit. The purpose of category is entirely unexplained. This leaves most parameters ambiguous.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Calculate') and resource ('Amazon Ads bids'), and enumerates the exact outputs (break-even ACOS, target ACOS, break-even/target CPC, bid ladder for match types, clicks per order, ad cost per order, profit after ads). It clearly distinguishes from siblings like plan_ppc_campaign and suggest_ppc_keywords by focusing on numeric bid calculation from unit economics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when one has unit economics data and wants to compute bids, and adds a specific use case for current_cpc (checking profitability of an existing bid). However, it does not explicitly state when to use this tool vs. alternatives like plan_ppc_campaign, nor does it provide any exclusions or prerequisites beyond 'unit economics'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

calculate_profitabilityB

Calculate Amazon India per-order profitability: referral fee, closing fee, FBA / Easy Ship / Self Ship fulfilment cost, GST on fees, return reserve, total cost, profit, margin, ROI, break-even price and a recommended selling price, with a beginner-friendly explanation.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoHome & Kitchen
other_costsNo
product_costYes
weight_gramsNo
selling_priceYes
packaging_costNo
fulfillment_methodNoFBA
expected_return_rateNo
shipping_cost_overrideNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are absent, so the description must convey that this is a read-only calculation with no side effects. While 'calculate' implies a non-mutating operation, the description does not explicitly state that it makes no external calls or that it uses static fee tables. It does disclose the range of outputs and a beginner-friendly explanation, but it omits details like whether it requires network access or has rate limits, leaving some behavioral traits to inference.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, dense sentence that front-loads the core purpose and then enumerates outputs. It wastes no words and reads efficiently, though the long list makes it slightly heavy. It is appropriately sized for the tool's complexity, earning a high score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 9 parameters, no annotations, and no schema descriptions, the description must provide substantial context. It offers only an overview of computed results and fails to explain parameter purpose, calculation assumptions (e.g., Amazon India fee structures), or usage scenarios. An agent would lack sufficient guidance to correctly set inputs like fulfillment_method or expected_return_rate, making the tool underspecified for real-world invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description adds zero parameter-level detail. It lists output fields but never explains inputs like selling_price, product_cost, fulfillment_method, or shipping_cost_override. It does not clarify defaults, units, or relationships between parameters, forcing the agent to rely solely on the bare schema titles, which carry no semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly specifies the verb 'Calculate' and the resource 'Amazon India per-order profitability', listing a comprehensive set of computed outputs (referral fee, closing fee, fulfilment cost, GST, etc.). It distinguishes itself from siblings like calculate_revenue by focusing on profitability rather than revenue, making its purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance is provided on when to use this tool versus alternatives. It does not mention preferring this over calculate_revenue for detailed financial breakdowns or note any exclusions. The only implicit hint is the name, which is insufficient for an agent to decide between profitability and revenue calculators.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

calculate_revenueA

Estimate monthly and annual revenue for an Amazon India listing from units sold, a best-seller rank, or Amazon's 'X bought in past month' badge. Supply product_cost to also get monthly and annual profit. Returns a range plus the method used, never a single false-precision number.

ParametersJSON Schema
NameRequiredDescriptionDefault
bsrNo
priceYes
categoryNoHome & Kitchen
product_costNo
weight_gramsNo
units_per_monthNo
bought_past_monthNo
fulfillment_methodNoFBA

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses that the tool returns a range and the method used, avoiding false precision, and mentions that profit is calculated only when product_cost is supplied. This is transparent about the output and the conditional behavior, though it does not mention any side effects, data sources, or error conditions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, consisting of two sentences that clearly state the primary function, the optional profit extension, and the output format. It avoids unnecessary detail and is well-structured, with the main purpose stated first.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description provides a good overview of the tool's functionality and output, enough for an agent to decide whether to invoke it. Since an output schema exists, it need not explain return values in detail, and it already mentions the output type. However, it lacks clarity on parameter usage (especially price) and does not fully differentiate from similar sibling tools, leaving some context gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description covers some parameters (units, BSR, bought past month, product_cost) but omits several others, most notably price (which is the only required parameter) and category, weight_grams, and fulfillment_method. It also uses the ambiguous term 'units' which could refer to either units_per_month or bought_past_month. Schema coverage is 0%, so the description must compensate, but it leaves significant gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: it estimates monthly and annual revenue for an Amazon India listing. It specifies the resource (Amazon India listing) and the action (estimate revenue), and distinguishes itself by mentioning the optional profit calculation with product_cost. It also clearly notes the output format, making it distinct from sibling tools like analyze_product_demand or calculate_profitability.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool (when revenue or profit estimation is needed) and lists the input sources (units, BSR, bought past month). However, it does not explicitly contrast with similar sibling tools like calculate_profitability, and it lacks clear conditions or prerequisites. The guidance is adequate but not fully explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_product_opportunitiesA

Screen up to 15 product ideas at once against the beginner Amazon India criteria (₹199-₹699 price, under 500 g, 30%+ margin, non-seasonal, affordable first order) and rank them by opportunity score. Omit product_ideas to screen a built-in starter list. Use this to shortlist, then run research_product on the winners.

ParametersJSON Schema
NameRequiredDescriptionDefault
min_marginNo
marketplaceNoamazon.in
product_ideasNo
max_investmentNo
max_weight_gramsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does disclose useful traits: the 15-idea cap, the built-in starter list fallback, and the ranking-by-score behavior. However, it doesn't state whether this makes external API calls, whether results are cached/free, or what happens with more than 15 ideas (implied truncation only). It's a legitimate read-style operation on the surface, but the description leaves side-effect and limit details to inference.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with zero waste: purpose and criteria front-loaded in sentence one, the optional-input behavior in sentence two, and the follow-up routing in sentence three. Every clause earns its place; nothing is redundant or sprawling.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so the description needn't explain return values, and it correctly omits them. It fully covers the screening criteria, the optional input behavior, and the recommended follow-up. The only minor gap is the unspecified handling of inputs exceeding 15 ideas or empty/invalid idea lists, which would be useful edge-case context for a tool with zero required parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, and it largely does: the criteria map to parameters (30%+ margin ↔ min_margin, under 500 g ↔ max_weight_grams, affordable first order ↔ max_investment, omit product_ideas ↔ built-in list). It doesn't explicitly restate marketplace or each parameter name, but the conceptual mapping is clear enough for an agent to set sensible overrides. High value added over an empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Screen') with a quantified resource ('up to 15 product ideas') and exact criteria (₹199-₹699 price, under 500 g, 30%+ margin, non-seasonal, affordable first order), then states it 'rank[s] them by opportunity score.' It clearly distinguishes itself from the sibling research_product by presenting itself as the shortlisting step, so an agent can tell them apart.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly names the when-to-use context ('Use this to shortlist') and the alternative next step ('then run research_product on the winners'). It also includes the conditional behavior for product_ideas ('Omit product_ideas to screen a built-in starter list'), so an agent knows exactly when and how to invoke it versus alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_listingA

Generate an Amazon India listing: SEO title plus alternatives, five benefit-led bullet points, product description, backend search terms, keyword placement strategy, main / lifestyle / infographic / comparison image direction, packaging advice and a compliance checklist.

ParametersJSON Schema
NameRequiredDescriptionDefault
featuresYes
product_nameYes
target_marketNoIndia
target_keywordsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the burden. It discloses the output comprehensively (title, bullets, etc.) but does not mention the operation's side effects (e.g., no writes, but no explicit read-only claim). It does not mention any limitations, such as dependency on input quality.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, dense sentence that covers the full scope without fluff. It is slightly long but front-loads the verb and resource, and each phrase contributes to the listing components.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (4 params with 0% schema coverage) and the rich output schema, the description covers the output structure well, but does not specify input requirements (e.g., what constitutes a valid 'features' array) or how parameters influence the output. Still, the provided coverage is sufficient for an agent to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description explains the overall purpose. It does not detail how each parameter maps to the output (e.g., target_keywords and target_market) beyond the general purpose. Given zero coverage, a baseline of 3 is appropriate, but it could be higher if it explicitly clarified how target_market affects the listing or how features are used.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'generate' and a clear resource 'an Amazon India listing', listing the exact components (SEO title, bullets, etc.). It clearly distinguishes this from other tools like research_product or analyze_competition.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for creating a full listing but does not specify when to use it versus alternatives, nor mention any prerequisites (e.g., has product research been done). It does not provide explicit when-to-use or when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

plan_ppc_campaignA

Build a complete Sponsored Products plan for a product on Amazon India: a three-campaign structure (Auto discovery, Manual Exact core, Phrase/Broad expansion) with the budget split across them, default bids per campaign, keyword assignments, negative keywords, projected clicks / orders / ad sales, a weekly optimisation routine, and warnings when the margin cannot support advertising.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoHome & Kitchen
target_acosNo
launch_phaseNo
product_costYes
product_nameYes
selling_priceYes
conversion_rateNo
monthly_ad_budgetNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It does reveal an important behavior: 'warnings when the margin cannot support advertising,' which hints at validation logic. However, it does not mention prerequisites (e.g., product research data), potential side effects (e.g., long-running computation), or handling of invalid inputs (e.g., negative selling price). Adequate but not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one dense sentence that packs in a large amount of crucial detail without filler. It front-loads the core purpose and then lists the plan's contents efficiently. A slightly more structured format (e.g., breaking out the list) could improve skimmability, but the sentence remains clear and earns its length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (8 parameters) and the existence of an output schema, the description adequately covers the plan's scope but misses input constraints and any preconditions. It does not mention that costs/prices are in INR or that certain parameters have dependencies. An output schema may cover return structure, but parameter semantics and preconditions are not addressed in the description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must clarify parameter meaning, but it does not. While parameter names like product_name and selling_price are self-explanatory, ambiguous ones like target_acos, conversion_rate (decimal or percentage?), and launch_phase (what behavior changes?) remain undefined. The description lists plan components but fails to map them to the input fields, leaving agents to guess units and formats.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear, specific action: 'Build a complete Sponsored Products plan for a product on Amazon India' and enumerates the plan's components (three-campaign structure, budget split, bids, keywords, projections, optimization routine, warnings). This differentiates it from sibling tools like calculate_ppc_bids (bids only) and suggest_ppc_keywords (keywords only) by covering the full planning scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use when a comprehensive Amazon India Sponsored Products plan is needed, listing many deliverables. However, it never explicitly contrasts with related tools (e.g., calculate_ppc_bids, suggest_ppc_keywords) or states when not to use it, such as when only one component is required. Clear context is present, but exclusions and alternatives are missing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

plan_product_launchA

Turn a product decision into a launch plan for Amazon India: how many units to order, how to split the budget across inventory, samples, photography, ads and buffer, days of stock cover, reorder trigger, affordable ad cost per order, months to recover the budget, a week-by-week timeline, and warnings before you commit cash.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoHome & Kitchen
product_costYes
product_nameYes
total_budgetNo
weight_gramsNo
selling_priceYes
packaging_costNo
fulfillment_methodNoFBA
expected_daily_salesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses that the tool produces warnings before committing cash, indicating risk-aware behavior, and implies a calculation model (units, budget splits, timeline). It does not state assumptions or edge cases (e.g., what happens with invalid inputs), but it does signal the non-trivial nature of the planning calculation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single long sentence but well-structured, front-loading the purpose and then listing outputs. It is dense but not bloated. It could be broken into two sentences for readability, but it earns its place with specific outputs. No fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (9 params, multiple calculations) and absence of annotations, the description already conveys comprehensive outputs. The presence of an output schema likely details the return structure, so not describing return fields is acceptable. Missing specifics on parameter defaults and how they influence the plan, but overall the agent can infer the intent. A 4 is justified because it covers the essential 'what' and 'why', though it leaves parameter interactions to the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and there are 9 parameters. The description does not detail any specific parameter except implicitly through the output list (e.g., it mentions 'budget', 'units', etc. as outputs, not as inputs). It does not explain how inputs like category or fulfillment_method affect the calculation, or defaults like total_budget=20000. The description adds context on what the tool produces overall, but it does not compensate for the complete lack of per-parameter documentation. Baseline is 3 since no param info is given, but the schema covers names/types. Given 0% coverage in the schema, the description should have added at least one or two parameter clarifications, so 3 is fair.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb ('plan') plus resource ('product launch'), and enumerates the concrete outputs: order quantity, budget split, days of cover, reorder trigger, ad cost, payback months, timeline, and warnings. This fully distinguishes it from siblings like calculate_profitability or plan_ppc_campaign. No ambiguity about what the tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage before committing cash to a launch, and lists the inputs a user must provide (product decision, pricing, cost). It does not explicitly name alternatives or when NOT to use it, but the context is clear enough. It could mention that financial/planning tools like calculate_profitability are complementary rather than substitutes, but that's not required.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

research_keywordsA

Research Amazon India keywords for a product: primary, secondary, long-tail and related keywords, search intent, keyword priority, backend search terms, and where to place each keyword across title, bullets, description and backend fields.

ParametersJSON Schema
NameRequiredDescriptionDefault
marketplaceNoamazon.in
product_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the behavioral disclosure burden. It does well by stating not just the output categories but also the guidance aspect ('where to place each keyword across title, bullets, description, and backend fields'). 'Research' implies a non-mutating action, though it does not explicitly state side-effect behavior or data-source constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence with no wasted words. It front-loads the core action and then packs the entire deliverable scope into a compact, readable enumeration. Redundancy is zero.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a keyword-research tool with no annotations and an output schema, the description covers the key outputs and even the placement guidance. It is slightly incomplete because it never identifies the obvious alternative context (organic listing keyword research vs. PPC keyword suggestions) or notes how the marketplace parameter affects the output.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, but with only two simple parameters this is a minor risk. The description orients product_name toward the product being researched and the marketplace implicitly through 'Amazon India,' but it does not add syntax, examples, or clarify how marketplace can change the regional scope.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Research'), a clear resource ('Amazon India keywords for a product'), and then enumerates the deliverables. The list of output types separates it from PPC-focused siblings like suggest_ppc_keywords or broader tools like research_product.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It implies the tool is for product-level keyword research on Amazon India and that the results inform listing content placement. However, it does not explicitly say when to choose this tool over suggest_ppc_keywords, plan_ppc_campaign, or other keyword-adjacent siblings, nor does it state any exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

research_productA

Research an Amazon India product idea: category, price band, BSR, weight, rating, demand, competition, return/gating/brand risk, beginner fit and an overall 0-100 opportunity score. Every figure is labelled Live, Estimated, Historical or Demo.

ParametersJSON Schema
NameRequiredDescriptionDefault
marketplaceNoamazon.in
product_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the transparency burden. It states the tool 'researches' and lists outputs, but does not explicitly mention whether it is read-only, any external calls, or potential side effects. Since it's called 'research', it's likely non-destructive, but this is not stated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, tightly packed sentence that lists all relevant aspects without fluff or repetition. It is well-structured and immediately conveys the tool's purpose, making it efficient for an agent to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description provides a good overview of the tool's outputs, including the opportunity score and the listed data points. While it does not detail the exact output format or caveats like data freshness, the absence of an explicit output schema makes this sufficient for an agent to understand what to expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has no parameter descriptions, so the tool description is the sole source. It mentions 'Amazon India' implying the marketplace default, and 'product idea' implies the product_name. However, it does not explicitly explain the parameters, their formats, or whether marketplace can be changed to other regions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb (Research) and resource (Amazon India product idea), and enumerates the aspects covered (category, price, BSR, etc.). It distinguishes from sibling tools by being a holistic research tool rather than a focused analysis (e.g., analyze_product_demand).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for a comprehensive product research but does not explicitly state when to prefer this tool over individual analysis tools. It could benefit from a note like 'Use this when you need an overall opportunity assessment' to guide selection among many siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scrape_amazon_productB

Scrape one live Amazon India product page by ASIN: title, brand, price, rating, review count, best-seller ranks, weight, seller, bullet points, full image gallery and the 'bought in past month' badge, plus a sales and revenue estimate derived from them.

ParametersJSON Schema
NameRequiredDescriptionDefault
asinYes
renderNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full responsibility for disclosing behavioral traits. It does mention the tool scrapes a 'live' page, implying a network dependency and real-time data, and notes a derived sales/revenue estimate, which adds some context. However, it does not disclose potential failure modes (e.g., invalid ASIN, page not found, changes in Amazon's layout), rate limits, costs, or execution time. For a web scraping tool, this is a significant gap in behavioral transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, efficient and dense with useful information. The core action (scrape by ASIN) is front-loaded, followed by an enumeration of the data points. It is a bit long with many comma-separated items, but every word adds value. It avoids fluff and clearly prioritizes the essential information. Slightly over-packed, but acceptable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity and the fact that an output schema exists (which defines the return structure), the description covers the main purpose and data points well. However, it misses important context: it does not explain the purpose of the 'render' parameter, does not mention prerequisites (e.g., valid Amazon India ASIN, region restrictions), and does not clarify how the sales/revenue estimate is derived. While the output schema handles return types, these gaps reduce completeness for an agent deciding to use the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning the description must explain parameters. It clearly explains that 'asin' is the Amazon product identifier and scopes it to India, but it completely omits the 'render' parameter. The description does not mention what 'render' does (e.g., whether it enables JavaScript rendering for dynamic content). This leaves one of two parameters undefined, requiring the agent to guess or rely on the parameter name alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb ('scrape'), a specific resource ('one live Amazon India product page by ASIN'), and enumerates the exact data points returned (title, brand, price, rating, etc.). It distinguishes itself from sibling tools like scrape_amazon_search (which scrapes search results) and scrape_listing_details by focusing on a single product page and adding a sales/revenue estimate. No ambiguity remains about what this tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage: it is for scraping a single product page by ASIN, useful when detailed product data is needed for one specific product. However, it does not explicitly state when to choose this tool over alternatives like research_product or analyze_product_demand, nor does it mention when not to use it. There is no exclusions or comparison to siblings, so an agent must infer the appropriate context from the tool name and description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scrape_listing_detailsA

Scrape a complete Amazon India listing by ASIN: title, all images, bullet points, description, A+ content, video, specifications table, category path, variations, badges, coupon, seller, delivery, BSR and price/discount. Then grades the listing 0-100 against Amazon best practice and tells you exactly how to beat it.

ParametersJSON Schema
NameRequiredDescriptionDefault
asinYes
renderNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral disclosure burden. It clearly states the tool scrapes and grades the listing, which is a good start, but it does not disclose potential rate limits, anti-bot risks, the need for the 'render' flag to handle dynamic content, or any side effects like delays. This leaves meaningful behavioral gaps for a scraping tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, information-dense sentence that front-loads the core action and then enumerates data points. While long, every item adds value for an agent deciding whether to call it, and the grading promise is a strong differentiator. A more structured format (e.g., bullets) would improve maintainability, but the current prose is efficient and not redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity and the presence of an output schema (which covers return values), the description is largely complete in listing what data is scraped and the grading output. However, it omits any practical caveats such as the need for rendering, error handling for invalid ASINs, or rate-limit expectations. Overall, it is close to sufficient for a scraping tool but lacks some operational warnings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description explicitly mentions 'by ASIN', which clarifies the 'asin' parameter, but it completely omits any explanation of the 'render' parameter. With 0% schema description coverage, the description must name and explain both parameters; it only covers one, so the agent cannot know the purpose or effect of 'render' without external context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('scrape') and resource ('complete Amazon India listing by ASIN'), enumerating many distinct data points (title, images, bullets, A+ content, etc.), and pairs it with a unique grading feature that sets it apart from sibling tools like scrape_amazon_product or scrape_amazon_search. The additional promise to 'tell you exactly how to beat it' clearly distinguishes its purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use it (when you need a comprehensive listing analysis and grading), but it does not explicitly contrast with alternatives, mention when not to use it, or state any prerequisites (e.g., ASIN validity, country-specific access). No exclusions or routing guidance to siblings is provided, so the agent must infer context from the purpose alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scraper_statusA

Check how the scraping and data layers are configured: browser enabled, allowlisted domains, robots.txt enforcement, crawl delay, page budget, Playwright availability, search provider, Google Trends status, and anything blocking a live scrape.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses what aspects it checks, but it doesn't mention side effects (likely none), performance, or how it gets the status. It does not contradict annotations (none provided). It provides a reasonable overview but lacks detail beyond the listed checks.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence but quite long, listing many checks. It's informative but could be structured better (e.g., separate the blocking factors). It's reasonably concise for the amount of information, and front-loads 'Check how the scraping and data layers are configured'.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero parameters and the output schema existing (not shown but mentioned), the description explains what the tool checks and mentions 'anything blocking a live scrape' which is the likely use case. It seems complete enough for an agent to know when to invoke it, though it could explicitly state that it returns a status report.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so there is nothing to document. The description fully compensates by explaining what the tool reports, which is the main value. Baseline for zero parameters is 4, and the description provides ample context on what the status includes.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states what the tool does: checks the configuration of scraping and data layers, listing specific aspects like browser enabled, allowlisted domains, robots.txt enforcement, etc. It distinguishes itself from sibling scraping tools by focusing on status/config rather than executing a scrape.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It implies usage for diagnosing why a live scrape might fail or to check configuration, but it doesn't explicitly state when to use this vs. other scraping tools. However, the sibling list includes scraping tools, and this tool's focus on status suggests a pre-flight check, but guidance is not explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_suppliersA

Research sourcing for a product in India (Parrys, Chennai, Tamil Nadu or nationwide). Returns supplier records only when a supplier data API is configured; otherwise returns real, publicly known wholesale markets, manufacturing clusters and B2B directories plus a verification checklist. Supplier names, prices and MOQs are never invented.

ParametersJSON Schema
NameRequiredDescriptionDefault
locationNoIndia
product_nameYes
supplier_typeNoany

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full transparency burden, and it does so well. It reveals the conditional behavior depending on whether a supplier data API is configured, the fallback output (real public markets, manufacturing clusters, B2B directories, verification checklist), and explicitly states that supplier names, prices, and MOQs are never invented. This is valuable behavioral context beyond any structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded with the core purpose and scope. The second sentence adds necessary behavioral detail about fallback behavior and anti-hallucination guarantees without being verbose. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the tool's purpose, geographic scope, conditional behavior, and data-integrity policy, which is strong for a research/search tool. An output schema exists, so return structure is covered. The main missing piece is explicit guidance on when to prefer this tool over sibling research/search tools, but overall the description is sufficiently complete for a competent agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, and the description does not directly explain each parameter. However, the parameter names are self-explanatory, and the description adds meaningful context for 'location' by naming Parrys, Chennai, Tamil Nadu, and nationwide. It does not elaborate on 'supplier_type', but the default of 'any' and the tool's purpose make this gap understandable.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb ('Research sourcing') and a specific resource ('suppliers for a product in India'), with geographic scope (Parrys, Chennai, Tamil Nadu or nationwide). This is distinct from the sibling research/analysis tools, which focus on demand, competition, profitability, or listings rather than supplier sourcing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The intended use case is clear: use this tool when researching sourcing and suppliers for a product in India. It does not explicitly name alternatives or state when not to use it, but the context alone is enough for an agent to distinguish it from the product-research and competition-analysis siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_webA

Search the web for product, competitor, price and supplier research. Uses DuckDuckGo by default (free, no API key); Brave, Serper, Tavily and Google Programmable Search are supported when a key is configured. Returns live web results, not Amazon data.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
regionNoin-en
max_resultsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses the default provider (DuckDuckGo), free usage without API key, and that it returns live web results as opposed to Amazon data. This gives the agent critical behavioral knowledge about data source and limitations that are not apparent from the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences long, all informative. It front-loads the core purpose, then provides provider details and ends with a key distinction. No wasted words or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A search tool with a simple schema and an output schema present. The description covers the main context: purpose, providers, and what it returns. Given the simplicity, it is reasonably complete, though it could add more on how to select providers or handle errors, but these are minor gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must add meaning to the parameters. The description mentions the query scope (product, competitor, price, supplier) and providers, which gives context to the 'query' parameter. However, it does not explain the 'region' parameter (e.g., format 'in-en' or how it affects results) or 'max_results' beyond the default. The description adds some value but does not fully compensate for the lack of schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Search the web for product, competitor, price and supplier research.' It lists the specific domains it covers. It does not explicitly differentiate from siblings like 'search_suppliers' or 'research_product', but it clarifies it returns 'live web results, not Amazon data', which helps distinguish it from Amazon-scraping tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives context on when to use it: for web research on products, competitors, prices, and suppliers. It notes it uses DuckDuckGo by default and supports other providers, which implies usage when a provider key is configured, but it doesn't explicitly state when to use an alternative tool or what specific conditions would make another tool more appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suggest_ppc_keywordsA

Suggest Amazon Ads (Sponsored Products) keywords for a product: each with a recommended match type (exact / phrase / broad), a suggested bid and bid range derived from your unit profit, priority, and which campaign it belongs in. Harvests terms from competitor titles, and returns negative keywords plus the break-even CPC you must never bid past.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoHome & Kitchen
target_acosNo
product_costNo
product_nameYes
selling_priceYes
conversion_rateNo
profit_per_unitNo
include_competitor_termsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full responsibility for revealing behavior. It reveals several non-obvious traits: terms are harvested from competitor titles, bids are derived from unit profit, and a break-even CPC is returned as a hard ceiling. It does not mention the full calculation factors or what happens when optional financial fields are omitted, but the core behavioral contract is well covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and information-dense, packed with exactly what matters: match type, bid range, priority, campaign, competitor sourcing, negative keywords, and break-even stake. There is no filler, repetition, or vague phrasing, and the most essential output is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description gives a strong overview and acknowledges important constraints, and an output schema exists to define return structure. However, with eight parameters and 0% schema coverage, leaving the financial-injection model implicit creates a real gap. An agent can likely make a correct basic call, but edge cases around ACoS, cost, conversion, and profitability inputs are not sufficiently contextualized.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides no parameter-level descriptions, so the description must compensate. It references profit-related input via 'derived from your unit profit' and competitor terms via 'harvests terms from competitor titles', but it does not explain category, target_acos, product_cost, conversion_rate, or how selling_price is used. Several important optional parameters are left undefined despite being central to bid calculation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies a highly specific outcome: Sponsored Products keyword suggestions with match type, bid/bid range, priority, campaign placement, negative keywords, and break-even CPC. This clearly separates it from sibling tools like calculate_ppc_bids and plan_ppc_campaign. It also scopes the tool to Amazon Ads, making the resource unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It clearly describes the context of use—generating a full PPC keyword plan for a specific product, including competitor harvesting and campaign placement. It does not explicitly route the agent away from alternative tools like calculate_ppc_bids or plan_ppc_campaign, so it stops short of a 5. But the tool's purpose is clear enough that an agent can decide when to invoke it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 24 tool updatesv0.2.1
    • First observedanalyze_competition
    • First observedanalyze_competitors
    • First observedanalyze_evergreen
    • First observedanalyze_product_demand
    • First observedanalyze_product_images
    • First observedanalyze_purchase_signals
    • First observedanalyze_review_metrics
    • First observedanalyze_reviews
    • First observedcalculate_ppc_bids
    • First observedcalculate_profitability
    • First observedcalculate_revenue
    • First observedfind_product_opportunities
    • First observedgenerate_listing
    • First observedplan_ppc_campaign
    • First observedplan_product_launch
    • First observedresearch_keywords
    • First observedresearch_product
    • First observedscrape_amazon_product
    • First observedscrape_amazon_search
    • First observedscrape_listing_details
    • First observedscraper_status
    • First observedsearch_suppliers
    • First observedsearch_web
    • First observedsuggest_ppc_keywords

TDQS

A3.7/5.0

Scored across 24 tools

Disambiguation3/5

Several tools have overlapping responsibilities, such as analyze_competition vs analyze_competitors vs analyze_review_metrics, and scrape_amazon_product vs scrape_listing_details. However, detailed descriptions clarify their distinct focuses, reducing but not eliminating ambiguity.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern with lowercase and underscores (e.g., analyze_product_demand, calculate_profitability, scrape_amazon_search). Minor plural/singular variants like analyze_competition vs analyze_competitors do not break the overall predictable scheme.

Tool Count4/5

With 24 tools, the server is comprehensive but slightly heavy. Each tool addresses a distinct aspect of product research, and the count is justified by the breadth of the domain, though it approaches the upper boundary of ideal scope.

Completeness5/5

The server covers the full product research lifecycle: demand analysis, competition, profitability, keyword research, listing creation, PPC planning, scraping, review analysis, and launch planning. It also includes a health check (scraper_status) and no critical gaps are evident for its stated purpose.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Hosted Amazon market-intelligence MCP for Claude and ChatGPT: query brands, sellers, ASINs, under-competed niches, the cross-seller operator network, observed buy-box history, and Amazon/Walmart cross-marketplace overlap. 65 read-only research tools over a pre-collected research dataset.
    72
    MIT
  • F
    license
    A
    quality
    C
    maintenance
    Connects Claude to your Amazon Seller Central account via the Selling Partner API, enabling queries for recent orders, sales summaries, FBA inventory, and financial events.
    4
    -