Skip to main content
Glama
Suriya-Ravichandran

Amazon India Product Research MCP

Amazon India 제품 리서치 MCP

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

Claude Desktop을 초보 Amazon India 셀러를 위한 제품 리서치 어시스턴트로 바꿔주는 MCP(Model Context Protocol) 서버입니다. 제품 기회를 점수화하고, 수요를 추정하며, 경쟁을 평가하고, 실제 Amazon India 수익성을 계산하고, 소싱을 계획하고, 고객 불만을 분석하고, 키워드를 리서치하고, 전체 리스팅 초안을 작성합니다.

stdio로 실행되므로 Claude Desktop에 바로 연결됩니다.

**처음이신가요? 설정 및 실행 가이드**부터 시작하세요 — 단계별 설치, 검증, Claude Desktop 구성 및 문제 해결 섹션이 포함되어 있습니다. 실시간 데이터는 실시간 데이터 및 스크래핑 가이드를 참조하세요.

24가지 도구. API 키 없이 작동 — 데모 모드에서는 오프라인으로, 또는 무료 소스(Google Trends, DuckDuckGo, 공개 amazon.in 페이지)의 실제 실시간 데이터로 작동합니다.


프로젝트 개요

이 서버는 하나의 셀러 프로필을 기준으로 구축되었습니다:

기준

목표

투자 금액

₹5,000 – ₹20,000

판매 가격

₹199 – ₹699

무게

500g 미만

이익률

최소 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 웹 검색, "지난달 구매" 배지가 포함된 공개 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>를 사용하세요 — lockfile을 수동으로 편집하지 마세요.


환경 구성

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 파일

비밀은 .env에만 저장되며 gitignore됩니다. 소스에 하드코딩된 것은 없습니다.


데이터베이스 설정

테이블은 시작 시 자동으로 생성됩니다. 수동으로 실행할 것이 없습니다.

개발(기본): ./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의 도구 메뉴에 나타나고, *"₹399 제품의 이익을 계산해줘, 비용은 ₹120"*라고 물으면 calculate_profitability가 실행되어야 합니다.


사용 가능한 MCP 도구

발견

도구

기능

find_product_opportunities

최대 15개의 제품 아이디어를 초보자 기준으로 한 번에 스크리닝하고 순위를 매깁니다. 여기서 시작하세요.

research_product

하나의 아이디어에 대한 전체 기회 보고서: 카테고리, 가격대, BSR, 무게, 평점, 리뷰, 수요, 경쟁, 반품/게이팅/브랜드 위험, 초보자 적합성, 0–100 점수 및 권장 사항

수요

도구

기능

analyze_product_demand

월간 수요, 수요 수준, 추세 방향, 계절성, 신뢰도 및 출시 결정

analyze_evergreen

최대 5년간의 실제 검색 관심도 기반 상시 수요 점수 0–100: 안정성, 평탄도, 수요 바닥, 성장성, 재고 가이드라인 제공

analyze_purchase_signals

아마존 자체의 "지난달 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

경쟁사 갤러리 커버리지, 공략 가능한 빈약한 갤러리, 아마존 이미지 요구사항 및 7개 슬롯 이미지 플랜

analyze_reviews

언급 횟수와 구체적인 제품 개선안이 포함된 테마별 불만 사항 그룹, 호평받는 기능 및 차별화 포인트 제공

scrape_listing_details

라이브 리스팅 전체 분석 — 타이틀, 이미지, 불릿, 설명, A+, 비디오, 사양, 배지, 변형 — 0–100 점수 및 공략 방법 제공

광고

도구

기능

suggest_ppc_keywords

매치 타입(정확 / 구문 / 광범위)별 광고 키워드, 단위 이익 기반 제안 입찰가, 우선순위, 캠페인 배치, 네거티브 키워드 제공

calculate_ppc_bids

손익분기 ACOS(= 마진), 목표 ACOS, 손익분기 및 목표 CPC, 매치 타입별 입찰 사다리, 주문당 클릭 수 및 광고 비용. 기존 입찰가 검증

plan_ppc_campaign

3개 캠페인 구조(자동 발견, 수동 정확 코어, 구문/광범위 확장)와 예산 배분, 예상 주문 수 및 주간 최적화 루틴 제공

소싱

도구

기능

search_suppliers

Parrys / Chennai / Tamil Nadu / India 소싱 조사, 검증 상태 및 실사 체크리스트 제공. 공급업체를 임의로 창조하지 않음

실시간 데이터

도구

기능

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 키 없이 모든 도구가 작동합니다.

  • 샘플 데이터는 결정적(deterministic) 입니다 — 동일한 쿼리는 항상 동일한 숫자를 반환하므로 결과를 재현하고 테스트할 수 있습니다.

  • 모든 값에는 "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, 평점, 리뷰 수, 구매 배지

간헐적

아마존은 자동화된 트래픽에 봇 챌린지를 제공합니다. 이 서버는 이를 우회하지 않고 감지하여 중단하므로 스크래핑은 기회적으로 작동합니다. 활성화 전에 docs/SCRAPING.md를 읽으십시오 — robots.txt와 서비스 약관의 차이, 가드레일, 코드 수정 없이 셀렉터를 수정하는 방법을 다룹니다.


프로덕션 API 통합

  1. 제품 데이터. services/amazon_service.py에서 ProductDataProvider 하위 클래스를 구현하거나(search_listings 및 fetch_reviews), 승인된 타사 API에 PRODUCT_DATA_BASE_URL / PRODUCT_DATA_API_KEY를 지정하고 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"로 표시됨

데모 모드에서 정상입니다. DEMO_MODE=false로 설정하고 공급자를 구성하십시오

데이터베이스 오류

DATABASE_URL을 확인하십시오. 도구는 기록 저장 없이도 계속 작동합니다

로그는 stderr로 출력됩니다. 자세한 내용은 DEBUG=true 또는 LOG_LEVEL=DEBUG를 설정하세요. Claude Desktop에서는 MCP 로그 파일을 사용하세요(Windows의 경우 %APPDATA%\Claude\logs, macOS의 경우 ~/Library/Logs/Claude).


보안

이 서버가 수행하는 작업에는 세 가지 위험이 따르며, 각각에 명시적인 통제 장치가 있습니다. 자세한 내용은 SECURITY.md에 있으며, 통제 장치는 tests/test_security.py에서 테스트됩니다.

SSRF. 스킴, 포트, 확인된 IP는 모든 요청 전에 검사되며, 모든 리디렉션 홉은 재검증됩니다. 따라서 허용 목록에 있는 호스트가 루프백, 사설 대역 또는 클라우드 메타데이터 엔드포인트로 가져오기를 리디렉션할 수 없습니다. Playwright 요청도 동일한 게이트를 통과합니다.

자격 증명. 편집 로그 필터는 httpx의 요청 URL과 같은 라이브러리 로깅을 포함한 모든 로그 레코드에서 API 키, 베어러 토큰 및 비밀을 포함한 쿼리 매개변수를 제거합니다. 어떤 도구 출력에도 키가 포함되지 않습니다.

프롬프트 인젝션. 스크래핑된 목록, 리뷰 및 검색 결과는 LLM의 컨텍스트에 들어오는 제3자 텍스트입니다. 모든 필드는 정화되고(제어 문자, 제로 너비 문자, 양방향 문자 제거), 명령 형태의 콘텐츠가 있는지 검사되며, 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
    -