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

Ein MCP-Server (Model Context Protocol), der Claude Desktop in einen Produktrecherche-Assistenten für Anfänger-Verkäufer bei Amazon Indien verwandelt. Er bewertet Produktchancen, schätzt die Nachfrage, bewertet den Wettbewerb, berechnet die tatsächliche Rentabilität bei Amazon Indien, plant die Beschaffung, sammelt Kundenbeschwerden, recherchiert Keywords und entwirft ein vollständiges Listing.

Läuft über stdio und lässt sich daher direkt in Claude Desktop einbinden.

Neuling? Starte mit dem Setup- und Ausführungsleitfaden – Schritt-für-Schritt-Installation, Verifizierung und Claude-Desktop-Konfiguration, mit einem Abschnitt zur Fehlerbehebung. Für live Daten siehe den Leitfaden für Live-Daten & Scraping.

24 Tools. Funktioniert ohne API-Schlüssel – im Demo-Modus offline oder mit echten Live-Daten aus kostenlosen Quellen (Google Trends, DuckDuckGo, öffentliche amazon.in-Seiten).


Projektübersicht

Der Server ist auf ein einziges Verkäuferprofil ausgerichtet:

Kriterium

Ziel

Investition

₹5.000 – ₹20.000

Verkaufspreis

₹199 – ₹699

Gewicht

unter 500 g

Gewinnmarge

mindestens 30 %

Nachfrage

täglicher Gebrauch, nicht saisonal

Retouren

niedrige Retourenquote

Beschaffung

einfache Beschaffung in Indien

Risiko

keine offensichtlichen Gating- oder Markenfreigabeprobleme

Jedes Tool bewertet Produkte anhand dieser Kriterien und bestraft Dinge, die Anfänger-Verkäufer scheitern lassen: Markenartikel, Fälschungsrisiko, zerbrechliche Artikel, Batterien, komplexe Elektronik, verderbliche Waren, saisonale Produkte, Bekleidungsgrößen, schwere Artikel und Kategorien, die von starken Marken dominiert werden.

Datenintegrität steht an erster Stelle

Dieses Projekt weigert sich, Marktplatz-Fakten zu erfinden. Jede bedeutende Ausgabe trägt source, data_type, confidence und last_updated, wobei data_type einer der Werte Live, Verified, Estimated, Historical oder Demo ist.

  • Demo-Daten sind immer als Demo gekennzeichnet und werden niemals als echte Amazon-Daten präsentiert.

  • Nachfrage- und Monatsumsatzzahlen sind modellierte Schätzungen, niemals gemessene Amazon-Verkäufe.

  • Amazon-Gebühren stammen aus einem konfigurierbaren Zeitplan; der mitgelieferte ist als Estimated gekennzeichnet.

  • Lieferanten werden nie erfunden. Ohne eine Lieferanten-API gibt search_suppliers eine leere Lieferantenliste plus echte, öffentlich bekannte Beschaffungskanäle zurück, die du selbst überprüfen kannst.

  • Kein Tool behauptet jemals garantierte Gewinne oder garantierte Verkäufe.


Related MCP server: LaunchFast MCP

Funktionen

  • 20 MCP-Tools für den gesamten Verkäufer-Workflow: Entdeckung, Nachfrage, Wettbewerb, Geld, Listing, Beschaffung und Live-Daten

  • Kostenlose Live-Daten ohne API-Schlüssel: Google-Trends-Suchinteresse, DuckDuckGo-Websuche und öffentliche amazon.in-Seiten, einschließlich „im letzten Monat gekauft"-Abzeichen

  • Umsatz- und Verkaufsschätzung anhand von BSR-Kurven oder Amazons eigenen Kaufabzeichen, immer als Bereich mit angegebener Methode

  • Erkennung von Neulingen: welche Wettbewerber niedrige Bewertungszahlen haben und welche davon bereits 300+ Einheiten pro Monat verkaufen – das stärkste Signal, dass eine Seite gewinnbar ist

  • Evergreen-Bewertung anhand von bis zu 5 Jahren echtem Suchinteresse, damit du saisonale Ladenhüter vermeidest

  • Planung von Amazon Ads: Break-even-ACOS, Gebotsleitern nach Match-Typ, Keyword-Match-Zuordnung, Kampagnenstruktur und negative Keywords – alles abgeleitet aus deiner eigenen Stückkalkulation statt aus allgemeinen Ratschlägen

  • 0–100 gewichtete Chancenbewertung, plus Batch-Screening von bis zu 15 Ideen gleichzeitig

  • Amazon-Indien-Gebühren-Mathematik: Empfehlungsgebühr, Abschlussgebühr, FBA / Easy Ship / Self Ship, GST auf Gebühren, Retourenreserve, Break-even und empfohlener Preis

  • Launch-Planung: Bestellmenge, Budgetaufteilung, Werbebudget, Nachbestellpunkt, Amortisation

  • Clustering von Bewertungsbeschwerden mit konkreten Korrekturen auf Lieferantenebene

  • Keyword-Recherche, Listing-Entwurf und ein Bildplan für sieben Slots

  • Compliance-orientiertes Scraping: robots.txt, Whitelist, Crawl-Verzögerung, Seitenbudget und ein harter Stopp bei Bot-Herausforderungen – kein Umgehen des Bot-Schutzes

  • Forschungshistorie gespeichert in SQLite oder PostgreSQL

  • Vollständiger Demo-Modus: alles funktioniert offline, deterministisch


Architektur

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

Regeln, die der Code befolgt: server.py enthält keine Geschäftslogik, Tools enthalten keine Geschäftslogik, Services enthalten die gesamte Logik.


Installation

Anforderungen: Python 3.11+ und uv. Der Setup- und Ausführungsleitfaden behandelt jeden Schritt im Detail.

Ohne Klonen verwenden

uvx amazon-india-seller-mcp

Das ist die gesamte Installation. Richte Claude Desktop darauf aus:

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

Oder in eine Umgebung installieren

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

Oder aus einem Quellcode-Checkout arbeiten (für die Entwicklung)

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

Für kostenlose Live-Daten benötigst du die Extras: 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

Virtuelle Umgebung

uv sync verwaltet die virtuelle Umgebung für dich; führe Befehle mit uv run aus. Wenn du sie lieber manuell aktivieren möchtest:

# Windows
.venv\Scripts\activate

# macOS / Linux
source .venv/bin/activate

Abhängigkeiten

In pyproject.toml deklariert und in uv.lock gepinnt:

mcp, pydantic, pydantic-settings, httpx, sqlalchemy, python-dotenv; pytest in der Dev-Gruppe.

Füge eine Abhängigkeit hinzu oder ändere sie mit uv add <package> / uv remove <package> – bearbeite die Lockdatei niemals von Hand.


Umgebungskonfiguration

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

Variable

Standard

Zweck

APP_ENV

development

Umgebungsbezeichnung

DEBUG

false

Ausführliche Protokollierung

DATABASE_URL

sqlite:///./amazon_product_mcp.db

SQLite- oder PostgreSQL-URL

PERSIST_RESEARCH

true

Forschungshistorie speichern

AMAZON_API_KEY / AMAZON_API_SECRET

leer

SP-API / PA-API-Anmeldedaten

PRODUCT_DATA_PROVIDER

demo

demo, sp-api, pa-api oder ein Drittanbieter-API-Name

PRODUCT_DATA_API_KEY / PRODUCT_DATA_BASE_URL

leer

Zugriff auf Drittanbieter-Anbieter

GOOGLE_TRENDS_ENABLED

false

Trends-Anbieter aktivieren (keiner wird mitgeliefert)

SUPPLIER_API_KEY / SUPPLIER_API_BASE_URL

leer

Lieferanten-Datenanbieter

DEMO_MODE

true

Deterministische Demo-Daten, klar gekennzeichnet

CACHE_ENABLED / CACHE_TTL_SECONDS

true / 900

In-Process-Caching

AMAZON_FEE_CONFIG_PATH

leer

JSON-Datei mit deiner echten Seller-Central-Gebührenkarte

Geheimnisse liegen nur in .env, das gitignored ist. Nichts ist im Quellcode hartcodiert.


Datenbank-Einrichtung

Tabellen werden automatisch beim Start erstellt. Nichts muss von Hand ausgeführt werden.

Entwicklung (Standard): SQLite unter ./amazon_product_mcp.db.

PostgreSQL:

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

JSON-Payload-Spalten werden auf PostgreSQL automatisch auf JSONB und auf SQLite auf JSON abgebildet. Installiere den Treiber dazu: uv add psycopg[binary].

Gespeicherte Modelle: ProductResearch, DemandAnalysis, CompetitionAnalysis, ProfitCalculation, SupplierResearch – jedes speichert product_name, marketplace, research_data, data_source, data_type, confidence, created_at, updated_at.

Die Speicherung der Historie ist eine Best-Effort-Leistung: Wenn die Datenbank nicht erreichbar ist, funktionieren die Tools weiterhin und der Fehler wird protokolliert statt angezeigt.


Den MCP ausführen

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

Der Prozess spricht das MCP-Protokoll über stdio und sitzt daher still da und wartet auf einen Client – das ist korrektes Verhalten. Logs gehen an stderr, damit stdout für den Protokollverkehr sauber bleibt. Beenden mit Ctrl+C.


Claude-Desktop-Konfiguration

  1. Öffne die Claude-Desktop-Konfigurationsdatei:

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

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

  2. Kopiere den mcpServers-Block aus mcp.json.example hinein und ersetze die Pfade durch deine eigenen absoluten Pfade:

{
  "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" }
    }
  }
}

Verwende auf Windows .venv\\Scripts\\python.exe und maskiere Backslashes. Eine uv --directory ... run server.py-Variante ist ebenfalls in der Beispieldatei enthalten.

  1. Claude Desktop vollständig beenden und neu starten (über das Tray-/Menüleisten-Symbol schließen – ein Neuladen des Fensters reicht nicht).

  2. Teste die Verbindung: Die Tools erscheinen im Tool-Menü von Claude Desktop, und die Frage "Berechne den Gewinn für ein ₹399-Produkt, das ₹120 kostet" sollte calculate_profitability auslösen.


Verfügbare MCP-Tools

Entdeckung

Tool

Was es tut

find_product_opportunities

Prüfe bis zu 15 Produktideen gleichzeitig anhand der Anfängerkriterien und ordne sie ein. Beginne hier.

research_product

Vollständiger Chancenbericht für eine Idee: Kategorie, Preisspanne, BSR, Gewicht, Bewertung, Rezensionen, Nachfrage, Wettbewerb, Retouren-/Gating-/Markenrisiko, Anfängertauglichkeit, 0–100-Punktzahl und Empfehlung

Nachfrage

Tool

Was es tut

analyze_product_demand

Monatliche Nachfrage, Nachfrageniveau, Trendrichtung, Saisonalität, Konfidenz und eine Launch-Entscheidung

analyze_evergreen

Evergreen-Score 0–100 aus bis zu 5 Jahren realem Suchinteresse: Stabilität, Flachheit, Nachfrage-Untergrenze, Wachstum, plus Bestandsempfehlung

analyze_purchase_signals

Aggregiert Amazons eigene „X in den letzten Monat gekauft“-Abzeichen – das zuverlässigste kostenlose Verkaufssignal, das es gibt

Wettbewerb

Tool

Was es tut

analyze_competition

Wettbewerbsniveau, Preis- und Bewertungsdurchschnitte, Review-Barriere, Markendominanz, Listing- und Bildqualität, schwache Listings und Differenzierungsmöglichkeiten

analyze_competitors

Einheiten pro Wettbewerber, Umsatz, Marktanteil, Marktgröße und Konzentration. Markiert neue Verkäufer (wenige Reviews) und wer 300+ Einheiten/Monat schafft, und gibt dann ein Einstiegsurteil

analyze_review_metrics

Die Review-Barriere: Median- und Quartil-Review-Zahlen, Monate bis zum Aufholen und welche Listings schlagbar sind

Geld

Tool

Was es tut

calculate_profitability

Referral-, Closing-, Fulfilment- und GST-Gebühren, Rücklagen für Retouren, Gesamtkosten, Gewinn, Marge, ROI, Break-even und empfohlener Preis, plus eine verständliche Erklärung

calculate_revenue

Monatlicher und jährlicher Umsatz aus Einheiten, BSR oder einem Kauf-Abzeichen – als Spanne, mit angegebener Methode. Füge product_cost für den Gewinn hinzu

plan_product_launch

Bestellmenge, Budgetaufteilung (Inventar / Muster / Fotografie / Anzeigen / Puffer), Reichweite in Tagen, Nachbestellpunkt, erschwingliche Werbekosten, Amortisation, Wochen-für-Wochen-Zeitplan und Warnungen

Listing

Tool

Was es tut

research_keywords

Primäre, sekundäre, Long-Tail- und verwandte Keywords, Suchintention, Priorität, Backend-Suchbegriffe und Platzierungsempfehlung

generate_listing

SEO-Titel und Alternativen, fünf Bulletpoints, Beschreibung, Backend-Begriffe, Bildrichtung, Verpackungsempfehlung und eine Compliance-Checkliste

analyze_product_images

Abdeckung der Wettbewerbs-Galerien, dünne Galerien, die du schlagen kannst, Amazons Bildanforderungen und ein Bildplan für sieben Slots

analyze_reviews

Beschwerden nach Thema gruppiert mit Erwähnungszahlen und konkreten Produktlösungen, plus geschätzte Funktionen und Differenzierungswinkel

scrape_listing_details

Vollständige Analyse eines Live-Listings – Titel, Bilder, Bulletpoints, Beschreibung, A+, Video, Spezifikationen, Abzeichen, Variationen – bewertet mit 0–100 und wie man es schlägt

Werbung

Tool

Was es tut

suggest_ppc_keywords

Anzeigen-Keywords mit Match-Typ (exact / phrase / broad), vorgeschlagenes Gebot aus deinem Stückgewinn, Priorität, Kampagnenplatzierung, plus negative Keywords

calculate_ppc_bids

Break-even-ACOS (= deine Marge), Ziel-ACOS, Break-even- und Ziel-CPC, eine Gebotsleiter pro Match-Typ, Klicks und Werbekosten pro Bestellung. Prüft ein Gebot, das du bereits schaltest

plan_ppc_campaign

Drei-Kampagnen-Struktur (Auto Discovery, Manual Exact Core, Phrase/Broad Expansion) mit Budgetaufteilung, prognostizierten Bestellungen und einer wöchentlichen Optimierungsroutine

Sourcing

Tool

Was es tut

search_suppliers

Sourcing-Recherche für Parrys / Chennai / Tamil Nadu / Indien mit Verifizierungsstatus und einer Prüf-Checkliste. Erfindet niemals Lieferanten

Live-Daten

Tool

Was es tut

search_web

Websuche über DuckDuckGo (kostenlos, ohne Schlüssel) oder Brave / Serper / Tavily / Google CSE

scrape_amazon_search

Live-Suchergebnisse von amazon.in: ASIN, Preis, Bewertung, Review-Anzahl, Kauf-Abzeichen, Sponsored-Kennzeichnung

scrape_amazon_product

Live-Produktseite: BSR, Gewicht, Verkäufer, Bulletpoints, vollständige Bildergalerie, plus eine Umsatzschätzung

scraper_status

Was die Live-Daten-Ebene konfiguriert ist zu tun, und was sie blockiert

Opportunity-Scoring

Komponente

Gewicht

Nachfrage

25%

Profitabilität

25%

Wettbewerb

20%

Retourenrisiko

10%

Sourcing-Leichtigkeit

10%

Anfängerfreundlichkeit

10%

Score

Empfehlung

80–100

Starke Chance

65–79

Gute Chance

50–64

Mäßige Chance

30–49

Hohes Risiko

0–29

Vermeiden


Beispiel-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.

Ein natürlicher Workflow: Ideen prüfen → Nachfrage und Evergreen prüfen → Wettbewerber und neue Verkäufer prüfen → Gewinn berechnen → Launch planen → Keywords recherchieren → Listing erstellen.

docs/PROMPTS.md ist die vollständige Prompt-Bibliothek – 56 Copy-Paste-Prompts nach Aufgabe gruppiert, verkettete Multi-Tool-Workflows und Prompts, die Claude dazu bringen, zu zeigen, welche Zahlen live und welche geschätzt sind.


Demo-Modus

Mit DEMO_MODE=true (der Standardeinstellung) funktioniert jedes Tool ohne einen einzigen kostenpflichtigen API-Schlüssel.

  • Beispieldaten sind deterministisch – dieselbe Abfrage liefert immer dieselben Zahlen, sodass Ergebnisse reproduzierbar und testbar sind.

  • Jeder Wert ist gekennzeichnet mit "data_type": "Demo", "confidence": "Low", "source": "Local Demo Provider".

  • Der Server protokolliert beim Start eine Warnung, damit niemand vergisst, in welchem Modus er sich befindet.

Der Demo-Modus dient zum Erlernen des Workflows und zum Testen der Integration. Triff niemals eine Kaufentscheidung auf Basis von Demo-Zahlen.


Live-Daten aus kostenlosen Quellen (ohne API-Schlüssel)

Alles unten ist kostenlos und benötigt keinen API-Schlüssel:

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

Quelle

Liefert dir

Zuverlässigkeit

Google Trends

Reales Suchinteresse in Indien, Saisonalität, Evergreen-Scoring

Hoch

DuckDuckGo

Live-Websuche für Wettbewerber, Lieferanten, Preise

Hoch

amazon.in-Seiten

Preise, ASINs, Bewertungen, Review-Anzahlen, Kauf-Abzeichen

Zeitweise

Amazon stellt automatisiertem Traffic Bot-Herausforderungen. Dieser Server erkennt und stoppt bei ihnen, anstatt sie zu umgehen, sodass Scraping opportunistisch funktioniert. Lies docs/SCRAPING.md, bevor du es aktivierst – es behandelt robots.txt vs. Nutzungsbedingungen, die Schutzmaßnahmen und wie man Selektoren repariert, ohne Code anzufassen.


Produktions-API-Integration

  1. Produktdaten. Implementiere eine ProductDataProvider-Unterklasse in services/amazon_service.py (search_listings und fetch_reviews), oder richte PRODUCT_DATA_BASE_URL / PRODUCT_DATA_API_KEY auf eine genehmigte Drittanbieter-API und passe das Payload-Mapping von HttpProductDataProvider an. Setze dann DEMO_MODE=false.

  2. Amazon SP-API / PA-API. Registriere dich als Entwickler, erhalte Anmeldedaten und füge einen Provider hinzu, der Anfragen mit AMAZON_API_KEY / AMAZON_API_SECRET signiert. build_provider() routet bereits sp-api und pa-api und wirft derzeit einen klaren „not implemented“-Fehler, anstatt stillschweigend Daten zu fälschen.

  3. Gebühren. Exportiere deine Seller-Central-Preisliste als JSON, das dem FeeSchedule-Modell entspricht, richte AMAZON_FEE_CONFIG_PATH darauf und setze data_type auf Verified.

  4. Lieferanten. Setze SUPPLIER_API_KEY und SUPPLIER_API_BASE_URL; der Verifizierungsstatus wird vom Provider durchgereicht und nicht angenommen.

Respektiere die Nutzungsbedingungen jedes Providers. Direktes Scraping von Amazon verstößt gegen deren Bedingungen und ist hier nicht implementiert.


Tests

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

Die Abdeckung umfasst Produktrecherche, Opportunity-Scoring-Bänder und -Gewichte, Nachfrageanalyse und Saisonalität, Wettbewerbsanalyse, die vollständige Gewinnmathematik (Break-even und empfohlener Preis werden durch Neuberechnung verifiziert), Konfigurierbarkeit der Gebührenpläne, Umsatz- und BSR-Kurven-Schätzung, Klassifizierung neuer Verkäufer und Volumenziele, Evergreen-Scoring, jede Scraping-Schutzmaßnahme (Allowlist, robots, Seitenbudget, Bot-Challenge-Erkennung), HTML-Parsing-Hilfsfunktionen, Behandlung ungültiger Eingaben für jedes Tool und Demo-Modus-Determinismus.

Die Suite ist vollständig offline: Live-Google-Trends, Websuche und Seitenabruf sind erzwungenermaßen deaktiviert, sodass Ergebnisse deterministisch bleiben.

Die Suite erzwingt den Demo-Modus, deaktiviert Caching und deaktiviert die Verlaufspersistenz, sodass sie deine Recherche-Datenbank nie berührt.


Fehlerbehebung

Symptom

Lösung

Server fehlt in Claude Desktop

Verwende absolute Pfade in der Konfiguration und beende und starte Claude Desktop dann vollständig neu

spawn python ENOENT

Richte command auf den Interpreter in .venv

ModuleNotFoundError

Führe uv sync aus; stelle sicher, dass die Konfiguration den .venv-Interpreter verwendet

Server „hängt“ bei manueller Ausführung

Richtig – er wartet auf einen Client auf stdio

provider_not_configured-Fehler

Setze PRODUCT_DATA_API_KEY / PRODUCT_DATA_BASE_URL oder DEMO_MODE=true

rate_limit_exceeded

Warte, bis sich das Provider-Fenster zurücksetzt; Caching ist standardmäßig aktiviert

Alles sagt „Demo“

Im Demo-Modus erwartet; setze DEMO_MODE=false und konfiguriere einen Provider

Datenbankfehler

Prüfe DATABASE_URL; Tools funktionieren weiterhin ohne Verlaufsspeicherung

Logs gehen nach stderr. Setze DEBUG=true oder LOG_LEVEL=DEBUG für Details; in Claude Desktop nutze die MCP-Logdateien (%APPDATA%\Claude\logs unter Windows, ~/Library/Logs/Claude unter macOS).


Sicherheit

Mit dem, was dieser Server tut, gehen drei Risiken einher, und jedes hat eine explizite Kontrolle. Vollständige Details in SECURITY.md; die Kontrollen sind in tests/test_security.py getestet.

SSRF. Schema, Port und aufgelöste IP werden vor jeder Anfrage geprüft, und jeder Redirect-Hop wird erneut validiert – so kann ein auf der Whitelist stehender Host den Fetch nicht auf Loopback, einen privaten Bereich oder den Cloud-Metadata-Endpunkt umleiten. Playwright-Anfragen laufen durch dasselbe Tor.

Anmeldedaten. Ein Redacting-Logfilter entfernt API-Keys, Bearer-Tokens und geheimnistragende Query-Parameter aus jedem Logeintrag, einschließlich Bibliotheks-Logging wie httpx-Anfrage-URLs. Keine Tool-Ausgabe enthält jemals einen Schlüssel.

Prompt-Injection. Gecrawlte Listings, Bewertungen und Suchergebnisse sind Texte Dritter, die im Kontext eines LLM landen. Jedes Feld wird bereinigt (Steuer-, Nullbreiten- und bidirektionale Zeichen werden entfernt), auf instruktionsförmigen Inhalt gescannt und mit einem content_safety-Block zurückgegeben. Die MCP-Anweisungen des Servers sagen dem Modell, es als Daten zu behandeln, niemals als Anweisungen.

Zusätzlich erzwungen: ein 8-MB-Antwortlimit, 5-Hop-Redirect-Grenze, validierte Konfigurationsdateipfade, parametrisierte SQL und keine Stack-Traces, die den MCP-Client erreichen.


Sicherheitshinweise

  • Anmeldedaten stammen ausschließlich aus Umgebungsvariablen; .env ist gitignored und nichts ist fest codiert.

  • Stack-Traces erreichen nie den MCP-Client – Fehler werden serverseitig protokolliert und als strukturierte, benutzersichere Payloads zurückgegeben.

  • Die Datenbank speichert nur Forschungs-Payloads, keine Anmeldedaten.

  • Gebühren- und Marktplatzzahlen sind Konfiguration, nicht Code, sodass sie ohne Codeänderung korrigiert werden können.

  • Nichts in diesem Projekt scraped Amazon oder umgeht die Bedingungen eines Anbieters.


Roadmap

  • Echte SP-API- und Product Advertising API-Provider mit Anfragesignatur

  • Historische Nachverfolgung: Preis-, BSR- und Bewertungstrends aus gespeicherter Forschung

  • MCP-Ressourcen, die gespeicherte Forschungshistorie zurück an Claude bereitstellen

  • FBA-Lager- und Werbekostenmodellierung (ACOS-bewusste Gewinnschwelle)

  • Kategoriebezogene Sperren und Zertifizierungs- (BIS / FSSAI) Referenzdaten

  • Kalibrierung der BSR-zu-Einheiten-Kurven anhand realer Verkäuferverkaufsdaten

  • Bestsellerlisten-Mining für die Produktfindung mit nachgewiesener Nachfrage


Mitwirken

Beiträge sind willkommen – siehe CONTRIBUTING.md.

Die wichtigste Regel: Erfinde nie Daten und lass eine Schätzung nie wie eine Messung aussehen. Menschen geben echtes Geld für diese Ausgabe aus, daher trägt jeder Wert seine Quelle, seinen Datentyp und sein Konfidenzniveau.

Besonders wertvoll sind derzeit:

  • Selektor-Fixes, wenn Amazon sein Markup ändert

  • Kalibrierung der BSR-zu-Einheiten-Kurven anhand realer Verkaufsdaten

  • GST-, Kategorie-Compliance- und Importkosten-Tools für indische Verkäufer

  • Echte SP-API / Product Advertising API-Provider

Pull Requests, die Bot-Schutz-Umgehung hinzufügen (Proxy-Rotation, Fingerprint-Spoofing, CAPTCHA-Lösung), werden abgelehnt – siehe docs/SCRAPING.md.

Siehe auch CODE_OF_CONDUCT.md und SECURITY.md.


Lizenz

MIT – frei nutzbar, modifizierbar und verteilbar, auch kommerziell. Die Software wird wie besehen bereitgestellt, ohne Gewährleistung.


Haftungsausschluss

Dieses Tool unterstützt Recherche; es ersetzt sie nicht. Nachfrage-, Verkaufs- und Rentabilitätszahlen sind Schätzungen auf Grundlage der Eingaben und des konfigurierten Gebührenplans – keine Garantien. Überprüfe Gebühren in Seller Central, überprüfe jeden Lieferanten selbst und bestätige Kategorie- und Marken- anforderungen bei Amazon, bevor du investierst.

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
    -