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

Amazon India の初心者セラー向けに、Claude Desktop をプロダクトリサーチアシスタントに変える MCP (Model Context Protocol) サーバーです。製品機会のスコアリング、需要の推定、競合の分析、Amazon India における実際の利益率の計算、仕入れの計画、顧客の不満の分析、キーワードリサーチ、完全なリスティングのドラフト作成を行います。

stdio 上で動作するため、Claude Desktop にそのまま接続できます。

はじめての方? セットアップ & 実行ガイド から始めてください — インストール、動作確認、Claude Desktop の設定をステップバイステップで解説し、トラブルシューティングのセクションも用意しています。ライブデータについては ライブデータ & スクレイピングガイド を参照してください。

24 個のツール。API キーは一切不要 — オフラインのデモモードか、無料ソース (Google Trends、DuckDuckGo、公開されている amazon.in のページ) からの実際のライブデータで動作します。


プロジェクト概要

このサーバーは、次の 1 つのセラー像を中心に構築されています:

基準

対象

投資額

₹5,000 – ₹20,000

販売価格

₹199 – ₹699

重量

500 g 未満

利益率

最低 30%

需要

日常使いで、季節性がないもの

返品

返品率が低いもの

仕入れ

インドで調達しやすいもの

リスク

明確なゲーティングやブランド承認の問題がないもの

すべてのツールは、これらの基準に照らして製品をスコアリングし、新規セラーを失敗に追いやる要素 (ブランド品、偽物リスク、壊れやすい商品、バッテリー、複雑な電子機器、生鮮食品、季節商品、アパレルのサイズ展開、重量のある商品、強力なブランドが支配するカテゴリ) にペナルティを課します。

データの整合性を最優先

このプロジェクトは、マーケットプレイスの事実を捏造しません。意味のある出力にはすべて source、data_type、confidence、last_updated が付与され、data_type は Live、Verified、Estimated、Historical、Demo のいずれかです。

  • デモデータは常に Demo とラベル付けされ、実際の Amazon データとして提示されることはありません。

  • 需要と月間売上は モデル化された推定値 であり、測定された Amazon の売上ではありません。

  • Amazon の手数料は設定可能なスケジュールに基づきます。同梱のスケジュールは Estimated とラベル付けされています。

  • 仕入先が捏造されることはありません。 仕入先 API がない場合、search_suppliers は空の仕入先リストと、ご自身で検証できる実際に公開されている仕入れチャネルを返します。

  • いかなるツールも、利益や売上の保証を主張することはありません。


Related MCP server: LaunchFast MCP

機能

  • 20 個の MCP ツール。発見、需要、競合、資金、リスティング、仕入れ、ライブデータまで、セラーのワークフロー全体をカバー

  • API キー不要の無料ライブデータ: Google Trends の検索関心度、DuckDuckGo のウェブ検索、および「過去 1 か月に購入」バッジを含む公開 amazon.in のページ

  • BSR カーブまたは Amazon 自身の購入バッジに基づく 売上と販売数の推定。常に範囲と算出方法が明記されます

  • 新規セラーの検出: どの競合がレビュー数の少ないセラーか、そのうちどのセラーがすでに月 300 個以上を売り上げているか — 参入可能なページを示す最も強いシグナルです

  • 最大 5 年間の実際の検索関心度に基づく エバーグリーンスコアリング。季節性のある売れ残り在庫を回避できます

  • Amazon Ads のプランニング: 損益分岐 ACOS、マッチタイプ別の入札ラダー、キーワードのマッチタイプ割り当て、キャンペーン構成、否定キーワード — すべて一般的なアドバイスではなく、ご自身のユニットエコノミクスから導き出されます

  • 0〜100 の重み付き機会スコアリングに加え、最大 15 件のアイデアを一度にバッチスクリーニング

  • Amazon India の手数料計算: 紹介料、成約料、FBA / Easy Ship / Self Ship、手数料への GST、返品準備金、損益分岐点、推奨価格

  • ローンチプランニング: 発注数量、予算配分、広告予算、再発注点、回収期間

  • レビュー不満のクラスタリングと、サプライヤーレベルでの具体的な改善策

  • キーワードリサーチ、リスティングドラフト、7 枠の画像プラン

  • コンプライアンス優先のスクレイピング: robots.txt、許可リスト、クロール遅延、ページ予算、ボットチャレンジでの強制停止 — ボット対策の回避は行いません

  • SQLite または PostgreSQL に保存されるリサーチ履歴

  • 完全なデモモード: すべてがオフラインで決定的に動作


アーキテクチャ

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

コードが従うルール: server.py はビジネスロジックを持たず、ツールもビジネスロジックを持たず、サービスのみがすべてのビジネスロジックを保持します。


インストール

要件: Python 3.11+ と uv。セットアップ & 実行ガイド にすべての手順が詳しく記載されています。

クローンせずに使用する

uvx amazon-india-seller-mcp

これでインストールは完了です。Claude Desktop でこのサーバーを指定します:

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

または環境にインストールする

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

またはソースコードのチェックアウトで作業する (開発用)

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

無料のライブデータには追加パッケージが必要です: 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

仮想環境

uv sync が仮想環境を管理します。コマンドは uv run で実行してください。手動でアクティベートしたい場合は:

# Windows
.venv\Scripts\activate

# macOS / Linux
source .venv/bin/activate

依存関係

pyproject.toml で宣言され、uv.lock で固定されています:

mcp、pydantic、pydantic-settings、httpx、sqlalchemy、python-dotenv。dev グループには pytest。

依存関係の追加や変更は uv add <package> / uv remove <package> で行います — ロックファイルを手動で編集しないでください。


環境設定

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

変数

デフォルト

目的

APP_ENV

development

環境ラベル

DEBUG

false

詳細なロギング

DATABASE_URL

sqlite:///./amazon_product_mcp.db

SQLite または PostgreSQL の URL

PERSIST_RESEARCH

true

リサーチ履歴を保存

AMAZON_API_KEY / AMAZON_API_SECRET

空

SP-API / PA-API の認証情報

PRODUCT_DATA_PROVIDER

demo

demo、sp-api、pa-api、またはサードパーティ API 名

PRODUCT_DATA_API_KEY / PRODUCT_DATA_BASE_URL

空

サードパーティプロバイダーへのアクセス

GOOGLE_TRENDS_ENABLED

false

トレンドプロバイダーを有効にする (プロジェクトには同梱されていません)

SUPPLIER_API_KEY / SUPPLIER_API_BASE_URL

空

仕入先データプロバイダー

DEMO_MODE

true

決定的なデモデータ。明確にラベル付けされます

CACHE_ENABLED / CACHE_TTL_SECONDS

true / 900

プロセス内キャッシュ

AMAZON_FEE_CONFIG_PATH

空

実際の Seller Central レートカードを含む JSON ファイル

シークレットは gitignore されている .env にのみ保存されます。ソースにハードコードされた情報はありません。


データベース設定

テーブルは起動時に自動的に作成されます。手動で行う操作はありません。

開発 (デフォルト): ./amazon_product_mcp.db の SQLite。

PostgreSQL:

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

JSON ペイロード列は、PostgreSQL では JSONB に、SQLite では JSON に自動的にマッピングされます。ドライバーも一緒にインストールします: uv add psycopg[binary]。

保存されるモデル: ProductResearch、DemandAnalysis、CompetitionAnalysis、ProfitCalculation、SupplierResearch — それぞれが product_name、marketplace、research_data、data_source、data_type、confidence、created_at、updated_at を保持します。

履歴の保存はベストエフォート方式です。データベースに到達できない場合でもツールは動作し、失敗は表面化されずログに記録されます。


MCP の実行

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

このプロセスは stdio 上で MCP プロトコルを話すため、クライアントを待って静かに待機し続けます — これは正しい動作です。ログは stderr に出力され、プロトコルトラフィック用に stdout はクリーンな状態が保たれます。停止するには Ctrl+C を押します。


Claude Desktop の設定

  1. Claude Desktop の設定ファイルを開きます:

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

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

  2. mcp.json.example から mcpServers ブロックをコピーし、パスをご自身の 絶対 パスに置き換えます:

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

Windows では .venv\\Scripts\\python.exe を使用し、バックスラッシュをエスケープします。uv --directory ... run server.py のバリアントもサンプルファイルに含まれています。

  1. Claude Desktop を完全に終了して再起動します (トレイ/メニューバーから閉じてください — ウィンドウの再読み込みでは不十分です)。

  2. 接続をテストします: ツールが Claude Desktop のツールメニューに表示され、「₹120 の原価の ₹399 の製品の利益を計算してください」 と尋ねると calculate_profitability が実行されるはずです。


利用可能な MCP ツール

発見

ツール

機能

find_product_opportunities

最大 15 件の製品アイデアを初心者向け基準に照らして一度にスクリーニングし、ランク付けします。ここから始めてください。

research_product

1 つのアイデアに対する完全な機会レポート: カテゴリ、価格帯、BSR、重量、評価、レビュー、需要、競合、返品 / ゲーティング / ブランドリスク、初心者向き度、0〜100 のスコア、および推奨事項

需要

ツール

機能

analyze_product_demand

月間需要、需要レベル、トレンドの方向性、季節性、信頼度、および発売の判断

analyze_evergreen

最大5年間の実際の検索関心に基づく0〜100のエバーグリーンスコア:安定性、フラット性、需要の下限、成長性、および在庫ガイダンス

analyze_purchase_signals

Amazon独自の「先月中にX点のご注文」バッジを集約 — 最も信頼できる無料の販売シグナル

競合

ツール

機能

analyze_competition

競争レベル、価格と評価の平均、レビューの壁、ブランド支配力、リスティングと画像の品質、弱いリスティングと差別化の余地

analyze_competitors

競合他社ごとのユニット数、売上、市場シェア、市場規模と集中度。新規セラー(レビューが少ない)と月300ユニット超を売り上げているセラーをフラグ付けし、参入判定を下す

analyze_review_metrics

レビューの壁:レビュー数の中央値と四分位、追いつくまでの月数、打ち負かせるリスティング

calculate_profitability

紹介料、成約手数料、フルフィルメント手数料、GST手数料、返品引当金、総コスト、利益、利益率、ROI、損益分岐点、推奨価格、および平易な英語での説明

calculate_revenue

ユニット数、BSR、または購入バッジからの月間および年間売上高 — 範囲と方法を明記。利益のためにはproduct_costを追加

plan_product_launch

発注数量、予算配分(在庫/サンプル/撮影/広告/予備費)、在庫日数、発注点、広告費の許容額、回収期間、週次タイムラインと警告

リスティング

ツール

機能

research_keywords

一次、二次、ロングテール、関連キーワード、検索意図、優先度、バックエンド検索語、掲載場所のガイダンス

generate_listing

SEOタイトルと代替案、5つの箇条書き、説明文、バックエンド用語、画像ディレクション、パッケージングのアドバイス、コンプライアンスチェックリスト

analyze_product_images

競合のギャラリー網羅性、打ち負かせる薄いギャラリー、Amazonの画像要件、7枠の画像プラン

analyze_reviews

テーマ別にグループ化された苦情(言及数と具体的な製品改善案を含む)、評価されている機能、差別化のアングル

scrape_listing_details

ライブリスティングの完全分解 — タイトル、画像、箇条書き、説明、A+、動画、仕様、バッジ、バリエーション — 0〜100で評価し、打ち負かし方を提示

広告

ツール

機能

suggest_ppc_keywords

マッチタイプ(完全一致/フレーズ一致/部分一致)付きの広告キーワード、ユニット利益からの推奨入札額、優先度、キャンペーン配置、および否定キーワード

calculate_ppc_bids

損益分岐ACOS(= あなたのマージン)、目標ACOS、損益分岐点と目標CPC、マッチタイプ別の入札ラダー、クリック数と注文あたりの広告費。すでに実施中の入札をチェック

plan_ppc_campaign

3キャンペーン構成(自動ディスカバリー、手動完全一致コア、フレーズ/部分一致拡張)と予算配分、予測注文数、毎週の最適化ルーチン

仕入れ

ツール

機能

search_suppliers

パリー/チェンナイ/タミル・ナードゥ/インド向けの仕入れ調査(検証ステータスと審査チェックリスト付き)。サプライヤーを捏造することはありません

ライブデータ

ツール

機能

search_web

DuckDuckGo(無料、キー不要)またはBrave / Serper / Tavily / Google CSEによるウェブ検索

scrape_amazon_search

ライブのamazon.in検索結果:ASIN、価格、評価、レビュー数、購入バッジ、スポンサーフラグ

scrape_amazon_product

ライブ商品ページ:BSR、重量、セラー、箇条書き、全画像ギャラリー、売上見込み

scraper_status

ライブデータレイヤーが何をするように設定されているか、何がブロックされているか

機会スコアリング

コンポーネント

ウェイト

需要

25%

収益性

25%

競合

20%

返品リスク

10%

仕入れの容易さ

10%

初心者への優しさ

10%

スコア

推奨

80–100

有力な機会

65–79

良い機会

50–64

中程度の機会

30–49

高リスク

0–29

避ける


プロンプトの例

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.

自然なワークフロー:アイデアをスクリーニング → 需要とエバーグリーンを確認 → 競合と新規セラーを確認 → 利益を計算 → 発売を計画 → キーワードを調査 → リスティングを生成。

docs/PROMPTS.md は完全なプロンプトライブラリです — タスクごとにグループ化された56のコピペ用プロンプト、連鎖するマルチツールワークフロー、そしてどの数値がライブでどの数値が推定かをClaudeに示させるプロンプトが含まれています。


デモモード

DEMO_MODE=true(デフォルト)の場合、すべてのツールは有料のAPIキーなしで動作します。

  • サンプルデータは決定論的です — 同じクエリは常に同じ数値を返すため、結果は再現可能でテスト可能です。

  • すべての値には"data_type": "Demo"、"confidence": "Low"、"source": "Local Demo Provider"というラベルが付きます。

  • サーバーは起動時に警告をログに記録するため、どのモードにいるかを忘れることはありません。

デモモードは、ワークフローの学習と統合のテストを目的としています。デモの数値で購入を決定しないでください。


無料ソースのライブデータ(APIキー不要)

以下はすべて無料で、APIキーは不要です:

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

ソース

提供されるもの

信頼性

Google Trends

インドの実際の検索関心、季節性、エバーグリーンスコア

高

DuckDuckGo

競合他社、サプライヤー、価格のライブウェブ検索

高

amazon.in ページ

価格、ASIN、評価、レビュー数、購入バッジ

断続的

Amazonは自動トラフィックに対してボットチャレンジを提供します。このサーバーはそれらを回避するのではなく、検出して停止するため、スクレイピングは日和見的に機能します。有効にする前にdocs/SCRAPING.mdをお読みください。robots.txtと利用規約、ガードレール、コードに触れずにセレクタを修正する方法について説明しています。


本番API統合

  1. 商品データ。 services/amazon_service.pyにProductDataProviderサブクラスを実装するか(search_listingsとfetch_reviews)、PRODUCT_DATA_BASE_URL / PRODUCT_DATA_API_KEYを承認済みのサードパーティAPIに向けて、HttpProductDataProviderのペイロードマッピングを適合させます。次にDEMO_MODE=falseを設定します。

  2. Amazon SP-API / PA-API。 開発者として登録し、認証情報を取得して、AMAZON_API_KEY / AMAZON_API_SECRETでリクエストに署名するプロバイダーを追加します。build_provider()はすでにsp-apiとpa-apiをルーティングしており、現在はデータを黙って偽装するのではなく、明確な「未実装」エラーを発生させます。

  3. 手数料。 Seller CentralのレートカードをFeeScheduleモデルに一致するJSONにエクスポートし、AMAZON_FEE_CONFIG_PATHをそのファイルに向けて、data_typeをVerifiedに設定します。

  4. サプライヤー。 SUPPLIER_API_KEYとSUPPLIER_API_BASE_URLを設定します。検証ステータスは、推測ではなくプロバイダーから渡されます。

各プロバイダーの利用規約を尊重してください。Amazonを直接スクレイピングすることは彼らの利用規約に違反するため、ここでは実装されていません。


テスト

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

カバレッジには、商品リサーチ、機会スコアリングのバンドとウェイト、需要分析と季節性、競合分析、完全な利益計算(損益分岐点と推奨価格は再計算によって検証)、手数料スケジュールの構成可能性、売上高とBSR曲線の推定、新規セラーと数量ターゲットの分類、エバーグリーンスコアリング、すべてのスクレイピングガードレール(許可リスト、robots、ページ予算、ボットチャレンジ検出)、HTML解析ヘルパー、すべてのツールの無効な入力処理、デモモードの決定論性が含まれます。

スイートは完全にオフラインです。ライブのGoogle Trends、ウェブ検索、ページフェッチは強制的にオフにされ、結果が決定的に保たれます。

スイートはデモモードを強制し、キャッシュと履歴の永続化を無効にするため、リサーチデータベースに触れることはありません。


トラブルシューティング

症状

修正

Claude Desktopでサーバーが見つからない

設定で絶対パスを使用し、Claude Desktopを完全に終了して再起動する

spawn python ENOENT

commandを.venv内のインタープリターに向ける

ModuleNotFoundError

uv syncを実行し、設定が.venvインタープリターを使用していることを確認する

手動で実行するとサーバーが「ハング」する

正常です — stdioでクライアントを待機しています

provider_not_configuredエラー

PRODUCT_DATA_API_KEY / PRODUCT_DATA_BASE_URLを設定するか、DEMO_MODE=trueを設定する

rate_limit_exceeded

プロバイダーのウィンドウがリセットされるのを待つ。キャッシュはデフォルトでオン

すべてが「デモ」と表示される

デモモードでは想定どおり。DEMO_MODE=falseを設定し、プロバイダーを構成する

データベースエラー

DATABASE_URLを確認する。ツールは履歴ストレージがなくても機能し続ける

ログはstderrに出力されます。詳細を確認するにはDEBUG=trueまたはLOG_LEVEL=DEBUGを設定してください。Claude Desktopでは、MCPログファイル(Windowsでは%APPDATA%\Claude\logs、macOSでは~/Library/Logs/Claude)を使用します。


セキュリティ

このサーバーが行うことには3つのリスクが伴い、それぞれに明示的な対策があります。詳細はSECURITY.mdにあります。対策はtests/test_security.pyでテストされています。

SSRF。 スキーム、ポート、解決済みIPはすべてのリクエストの前にチェックされ、すべてのリダイレクトホップは再検証されます。つまり、許可リストに登録されたホストがループバック、プライベートレンジ、クラウドメタデータエンドポイントへのフェッチをリダイレクトすることはできません。Playwrightリクエストも同じゲートを通過します。

認証情報。 リダクションログフィルターが、APIキー、ベアラートークン、シークレットを含むクエリパラメータを、httpxのリクエストURLなどのライブラリログを含むすべてのログレコードから削除します。ツールの出力にキーが含まれることはありません。

プロンプトインジェクション。 スクレイピングされたリスト、レビュー、検索結果は、LLMのコンテキストに取り込まれるサードパーティのテキストです。すべてのフィールドはサニタイズされ(制御文字、ゼロ幅文字、双方向文字が除去)、命令形式のコンテンツがないかスキャンされ、content_safetyブロックとともに返されます。サーバーのMCP指示は、モデルにそれをデータとして扱うよう指示し、命令としては扱わせません。

さらに強制される事項:8MBのレスポンス上限、5ホップのリダイレクト制限、検証済みの設定ファイルパス、パラメータ化されたSQL、MCPクライアントに到達するスタックトレースなし。


セキュリティに関する注意事項

  • 認証情報は環境変数からのみ取得されます。.envはgitignoreされており、ハードコードされたものはありません。

  • スタックトレースがMCPクライアントに到達することはありません。エラーはサーバー側でログに記録され、構造化されたユーザーセーフなペイロードとして返されます。

  • データベースには調査ペイロードのみが保存され、認証情報は保存されません。

  • 手数料とマーケットプレイスの数値はコードではなく設定であるため、コード変更なしで修正できます。

  • このプロジェクトではAmazonをスクレイピングしたり、プロバイダーの利用規約を回避したりすることはありません。


ロードマップ

  • リクエスト署名付きの本格的なSP-APIおよびProduct Advertising APIプロバイダー

  • 保存された調査からの価格、BSR、レーティングのトレンドの履歴追跡

  • 保存された調査履歴をClaudeに公開するMCPリソース

  • FBA保管料と広告コストのモデリング(ACOSを考慮した損益分岐点)

  • カテゴリレベルのゲーティングと認証(BIS / FSSAI)リファレンスデータ

  • BSRからユニット数への曲線を実際のセラー販売データに対してキャリブレーション

  • 需要が証明された商品発見のためのベストセラーリストマイニング


コントリビューション

コントリビューションは歓迎します — CONTRIBUTING.mdを参照してください。

最も重要なルール:データを決して捏造せず、推定値を測定値のように見せかけないこと。 人々はこの出力に実際のお金を費やすため、すべての値にはそのソース、データ型、信頼度が付随します。

特に現在価値が高いもの:

  • Amazonがマークアップを変更したときのセレクター修正

  • BSRからユニット数への曲線を実際の販売データに対してキャリブレーション

  • インドのセラー向けのGST、カテゴリコンプライアンス、輸入コストツール

  • 本格的なSP-API / Product Advertising APIプロバイダー

ボット対策バイパス(プロキシローテーション、フィンガープリントスプーフィング、CAPTCHA解決)を追加するプルリクエストは却下されます — docs/SCRAPING.mdを参照してください。

CODE_OF_CONDUCT.mdとSECURITY.mdも参照してください。


ライセンス

MIT — 商用を含め、自由に使用、変更、配布できます。本ソフトウェアは現状のまま提供され、保証はありません。


免責事項

このツールは調査を支援するものであり、調査そのものを代替するものではありません。需要、売上、収益性の数値は、入力と設定された手数料スケジュールに基づく推定値であり、保証ではありません。手数料はSeller Centralで確認し、サプライヤーはすべてご自身で検証し、カテゴリとブランドの要件は投資前にAmazonで確認してください。

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
    -