{"serverId":"mcp-registry/com.pangolinfo/amazon-mcp","tools":[{"name":"ai_search","fixed":{"name":"ai_search","description":"[AI Search via Google SERP] Scrape publicly-available Google search results (data source: Google; use must comply with Google Terms of Service) with top AI Overview, organic results, and related searches. Two modes: overview (standard SERP) / ai_mode (immersive multi-turn conversational search).\nUse when: user says \"Google for me\" / \"external demand\" / \"what do people say about X\" / \"Reddit/Quora pain points\" / \"will my content be cited in AI search\" / \"find user complaints for keyword X\"; \"cons","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["query"],"properties":{"mode":{"enum":["overview","ai_mode"],"type":"string","default":"overview","description":"Search mode: 'overview' (default) = standard Google SERP with AI Overview at the top, best for one-shot queries; 'ai_mode' = Google AI Mode immersive search (udm=50), best for complex multi-step questions with follow-ups."},"query":{"type":"string","minLength":1,"description":"Search keyword or question. Examples: 'wireless earbuds reviews' (single keyword) / 'how does noise cancellation work' (question) / 'what do people complain about Stanley Quencher' (user pain point)."},"followups":{"type":"array","items":{"type":"string"},"maxItems":5,"description":"Follow-up question list (only honored when mode='ai_mode'). Each item is a follow-up question on the previous answer. **More than 5 entries significantly degrades response time.**"},"screenshot":{"type":"boolean","default":false,"description":"Whether to return a screenshot URL of the rendered search page. Defaults to false."},"clientSource":{"enum":["skill","mcp"],"type":"string","description":"调用来源标记。仅由 Pangolinfo Skill 传 skill；普通 MCP 调用省略即可。"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":501,"tokensAfter":501},{"name":"get_amazon_alexa_questions","fixed":{"name":"get_amazon_alexa_questions","description":"Alexa Listing API: extract both Alexa/Rufus preset-question regions from a logged-in Amazon PDP; if neither has questions, use the product panel's initial suggestions (regions.panel). Optionally answer in that ASIN context. Questions cost 5 points and each answered region adds 20 (0/5/25/45 total); panel answers count as one region. No-question and service failures cost 0; explicitly invalid ASINs cost 5.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"url":{"type":"string","format":"uri","description":"Amazon.com product-detail URL. Provide either asin or url."},"asin":{"type":"string","pattern":"^[A-Za-z0-9]{10}$","description":"10-character Amazon ASIN. Provide asin or url; if both are provided they must identify the same product."},"region":{"enum":["region1","region2","all"],"type":"string","default":"all","description":"Only selects answer regions: region1 below the main image, region2 below Product information, all includes the side-panel fallback when inline questions are absent. Questions are never filtered. Panel suggestions appear in regions.panel with source=panel."},"concurrency":{"type":"integer","default":5,"maximum":10,"minimum":1,"description":"Maximum answer-generation concurrency, 1-10. Defaults to 5."},"includeAnswers":{"type":"boolean","default":false,"description":"Whether to generate Rufus answers. Questions from both regions are always returned; when false, every answer is null."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":434,"tokensAfter":434},{"name":"get_amazon_delivery_time","fixed":{"name":"get_amazon_delivery_time","description":"[Amazon Delivery Time] Return the full listing detail for one ASIN plus address-dependent delivery estimates.\nUse when: the user explicitly needs estimated arrival, free vs paid delivery timing, the fastest option, handling lead time, or the listing's high-return warning.\nDon't use: for ordinary product detail only; use get_amazon_product at the lower 1-point cost.\nReturns: data.json[0].data.results[0] inherits every get_amazon_product field and adds frequentlyReturnedItem, leadTime, and deliver","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["asin"],"properties":{"asin":{"type":"string","pattern":"^[A-Za-z0-9]{10}$","description":"Amazon ASIN, 10 letters/digits (case-insensitive; auto-uppercased)."},"site":{"enum":["amz_us","amz_uk","amz_de","amz_jp","amz_fr","amz_it","amz_es","amz_ca","amz_au","amz_sa","amz_ae","amz_br","amz_mx"],"type":"string","default":"amz_us","description":"Amazon marketplace. Defaults to amz_us."},"zipcode":{"type":"string","description":"ZIP code matching the marketplace country. Delivery estimates vary by address; the backend selects a country-matched ZIP when omitted."},"clientSource":{"enum":["skill","mcp"],"type":"string","description":"调用来源标记。仅由 Pangolinfo Skill 传 skill；普通 MCP 调用省略即可。"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":381,"tokensAfter":381},{"name":"get_amazon_product","fixed":{"name":"get_amazon_product","description":"[Amazon single-product detail] Scrape the full PDP for one ASIN.\nUse when: user supplies a specific ASIN (\"look at B0XXXXXXXX\" / \"check this product's price/rating/seller\" / \"analyse this competitor\"); or as a SOP step after candidate ASINs are picked.\nDon't use: for many products at once (use search_amazon or list_* series for lists); for reviews only (use get_amazon_reviews — cheaper and more focused).\nReturns (format='json', default): data.json[0].data.results[0] = { asin, title, itemName, it","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["asin"],"properties":{"asin":{"type":"string","pattern":"^[A-Za-z0-9]{10}$","description":"Amazon ASIN, 10 letters/digits (case-insensitive — auto-uppercased). Example: 'B0B4NLGCH5'."},"site":{"enum":["amz_us","amz_uk","amz_de","amz_jp","amz_fr","amz_it","amz_es","amz_ca","amz_au","amz_sa","amz_ae","amz_br","amz_mx"],"type":"string","default":"amz_us","description":"Amazon marketplace. Defaults to 'amz_us' (US)."},"format":{"enum":["json","markdown"],"type":"string","default":"json","description":"Response format. Defaults to 'json' — a structured payload (title, price, rating, reviews, seller, etc.) ready for programmatic use. Use 'markdown' if you want the rendered PDP text instead."},"zipcode":{"type":"string","description":"ZIP code that must match the site country (amz_us → US zip, amz_jp → JP zip, ...). Optional; backend picks a random one from the per-country pool when omitted. Cross-country zips (e.g. amz_us + JP zip) are rejected by the backend. Examples: 10001 (NY) / 90001 (LA) / 100-0001 (Tokyo)."},"clientSource":{"enum":["skill","mcp"],"type":"string","description":"调用来源标记。仅由 Pangolinfo Skill 传 skill；普通 MCP 调用省略即可。"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":508,"tokensAfter":508},{"name":"get_amazon_reviews","fixed":{"name":"get_amazon_reviews","description":"[Amazon review batch scrape] Page-fetch real buyer reviews for an ASIN. Filterable by star / sort / media type.\nUse when: user says \"look at X's negative reviews\" / \"mine pain points\" / \"analyse competitor reviews\" / \"do VOC\" / \"find user complaints for Listing copy\"; or pre-launch critical-review scan; or finding improvement points for listing optimization.\nDon't use: when the few reviews already in the PDP would suffice (get_amazon_product carries 5-10 reviews + aiReviewsSummary — enough for a","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["asin"],"properties":{"asin":{"type":"string","pattern":"^[A-Za-z0-9]{10}$","description":"Amazon ASIN (10 letters/digits, case-insensitive — auto-uppercased). Example: 'B0B4NLGCH5'."},"site":{"enum":["amz_us","amz_de","amz_uk","amz_jp","amz_fr","amz_it","amz_es","amz_br","amz_au","amz_mx","amz_in","amz_eg","amz_ae","amz_ca"],"type":"string","default":"amz_us","description":"Amazon review marketplace: 14 supported sites including France (amz_fr), Italy (amz_it), Spain (amz_es), Brazil (amz_br) and Japan (amz_jp). Defaults to amz_us."},"sortBy":{"enum":["recent","helpful"],"type":"string","default":"recent","description":"Sort order: 'recent' (newest first — track current sentiment) or 'helpful' (most-upvoted first — highest impact reviews)."},"zipcode":{"type":"string","description":"ZIP code that must match the site country (amz_us → US zip, amz_jp → JP zip, ...). Optional; backend picks a random one from the per-country pool when omitted. Cross-country zips (e.g. amz_us + JP zip) are rejected by the backend. Examples: 10001 (NY) / 90001 (LA) / 100-0001 (Tokyo)."},"mediaType":{"enum":["all_contents","media_reviews_only"],"type":"string","default":"all_contents","description":"Review type: 'all_contents' for all, 'media_reviews_only' for reviews with photos/videos only (higher credibility)."},"pageCount":{"type":"integer","default":1,"maximum":10,"minimum":1,"description":"Number of review pages to fetch (~10 reviews per page). **Costs 10 points per page** — control accordingly. Defaults to 1."},"clientSource":{"enum":["skill","mcp"],"type":"string","description":"调用来源标记。仅由 Pangolinfo Skill 传 skill；普通 MCP 调用省略即可。"},"filterByStar":{"enum":["all_stars","five_star","four_star","three_star","two_star","one_star","positive","critical"],"type":"string","default":"all_stars","description":"Filter by star rating. For VOC pain-point mining, pass 'critical' (1-3 star reviews) to surface defects; for positive-aspect extraction, pass 'positive'."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":738,"tokensAfter":738},{"name":"get_category_children","fixed":{"name":"get_category_children","description":"[Amazon category tree drilldown] List direct children from any node (or omit parent to start at the roots).\nUse when: user says \"show me Amazon's category tree\" / \"subcategories under X\" / \"list top-level departments\" / \"drill to level 3\"; building a category map; deciding which level is right after search_categories returned candidates.\nDon't use: when a keyword jump is faster (use search_categories); when you want products in the category, not its subcategories (use list_category_products).\nRe","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"page":{"type":"integer","default":1,"minimum":1,"description":"Page number, 1-based."},"size":{"type":"integer","default":10,"maximum":50,"minimum":1,"description":"Page size."},"clientSource":{"enum":["skill","mcp"],"type":"string","description":"调用来源标记。仅由 Pangolinfo Skill 传 skill；普通 MCP 调用省略即可。"},"parentBrowseNodeIdPath":{"type":"string","description":"Parent node path. Either a single browseNodeId or a slash-joined path. Examples: '2619526011' (Appliances, drill from top) / '2619526011/18116197011' (Appliances > Ranges/Ovens/Cooktops, level-3 drill). Omit to fetch top-level roots."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":357,"tokensAfter":357},{"name":"get_category_paths","fixed":{"name":"get_category_paths","description":"[Amazon category breadcrumb resolver] Batch-resolve categoryId list to full paths (e.g. 'Electronics > Headphones > Over-Ear Headphones').\nUse when: a report needs readable category context (not bare IDs); user has a list of numeric IDs and wants the names; multiple categories need labels for comparison.\nDon't use: for a single ID — most other tools already return browseNodeNamePath in their responses; for tree structure (use get_category_children).\nReturns: data.items[{ categoryId, categoryName","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["categoryIds"],"properties":{"site":{"enum":["amz_us","amz_uk","amz_de","amz_jp","amz_fr","amz_it","amz_es","amz_ca","amz_au","amz_sa","amz_ae","amz_br","amz_mx"],"type":"string","default":"amz_us","description":"Amazon marketplace. Defaults to 'amz_us' (US)."},"categoryIds":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Category IDs to resolve full path for. Examples: ['2619526011'] (Appliances) / ['172282', '11965861'] (Electronics + Musical Instruments)."},"clientSource":{"enum":["skill","mcp"],"type":"string","description":"调用来源标记。仅由 Pangolinfo Skill 传 skill；普通 MCP 调用省略即可。"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":357,"tokensAfter":357},{"name":"list_bestsellers","fixed":{"name":"list_bestsellers","description":"[Amazon Best Sellers] Top-50 ranking for a category with 24h rank deltas.\nUse when: user says \"X category bestsellers\" / \"who's #1 in X\" / \"any new entrants climbing\" / \"benchmark top sellers\"; setting baseline products during niche scouting; tracking category leadership in competitor radars.\nDon't use: for new arrivals (use list_new_releases); for full category listings beyond top 50 (use list_category_products); when you only have a keyword (use search_categories first).\nReturns: data.json[0].","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["categorySlug"],"properties":{"site":{"enum":["amz_us","amz_uk","amz_de","amz_jp","amz_fr","amz_it","amz_es","amz_ca","amz_au","amz_sa","amz_ae","amz_br","amz_mx"],"type":"string","default":"amz_us","description":"Amazon marketplace. Defaults to amz_us."},"format":{"enum":["json","markdown"],"type":"string","default":"json","description":"Response format. Defaults to 'json' — structured Top-50 ranked ASIN list. Use 'markdown' for the rendered page text."},"zipcode":{"type":"string","description":"ZIP code that must match the site country (amz_us → US zip, amz_jp → JP zip, ...). Optional; backend picks a random one from the per-country pool when omitted. Cross-country zips (e.g. amz_us + JP zip) are rejected by the backend. Examples: 10001 (NY) / 90001 (LA) / 100-0001 (Tokyo)."},"categorySlug":{"type":"string","minLength":1,"description":"Amazon Best Sellers category slug (lowercase, hyphenated). Examples: 'electronics', 'home-garden', 'beauty', 'toys-and-games'. Find these in the URL path on amazon.com/Best-Sellers."},"clientSource":{"enum":["skill","mcp"],"type":"string","description":"调用来源标记。仅由 Pangolinfo Skill 传 skill；普通 MCP 调用省略即可。"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":511,"tokensAfter":511},{"name":"list_category_products","fixed":{"name":"list_category_products","description":"[Amazon category listing] List concrete on-sale products under a Browse Node ID (paginated, 24 rows/page).\nUse when: user says \"what's selling in category X\" / \"list products in node 12345\" / \"show me what's in this category\"; after picking a categoryId during scouting, you want to see real listings; competitor-research on category density.\nDon't use: when only the top-50 winners matter (use list_bestsellers — cheaper and more signal); for category-level aggregate metrics (use filter_categories ","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["nodeId"],"properties":{"page":{"type":"integer","default":1,"minimum":1,"description":"Page number, 1-based. 24 rows per page. Use response's pageIndex/maxPage/nextPage to decide whether to continue: nextPage holds the next page number; nextPage=null or page>=maxPage means last page reached. **Only paginate when the user explicitly asks for more / all results** — otherwise the first page is enough."},"site":{"enum":["amz_us","amz_uk","amz_de","amz_jp","amz_fr","amz_it","amz_es","amz_ca","amz_au","amz_sa","amz_ae","amz_br","amz_mx"],"type":"string","default":"amz_us","description":"Amazon marketplace. Defaults to amz_us."},"format":{"enum":["json","markdown"],"type":"string","default":"json","description":"Response format. Defaults to 'json' — structured category listings. Use 'markdown' for the rendered page text."},"nodeId":{"type":"string","pattern":"^\\d+$","description":"Amazon category Browse Node ID (numeric). Examples: '172282' (Electronics) / '2619526011' (Appliances) / '11965861' (Musical Instruments). Obtain via search_categories or get_category_children."},"zipcode":{"type":"string","description":"ZIP code that must match the site country (amz_us → US zip, amz_jp → JP zip, ...). Optional; backend picks a random one from the per-country pool when omitted. Cross-country zips (e.g. amz_us + JP zip) are rejected by the backend. Examples: 10001 (NY) / 90001 (LA) / 100-0001 (Tokyo)."},"clientSource":{"enum":["skill","mcp"],"type":"string","description":"调用来源标记。仅由 Pangolinfo Skill 传 skill；普通 MCP 调用省略即可。"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":617,"tokensAfter":617},{"name":"list_new_releases","fixed":{"name":"list_new_releases","description":"[Amazon New Releases] Best-selling Top-50 ASINs that hit the market within the last 30 days for a category (backend cap; not 100).\nUse when: user says \"new arrivals in X\" / \"any breakout new products\" / \"newly-launched that sell well\" / \"trending new directions\" / \"new entrants to monitor\"; GTM scouting for new angles; competitor radar catching new entrants.\nDon't use: for evergreen winners (use list_bestsellers); for full category listings (use list_category_products); when you only have a keyw","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["categorySlug"],"properties":{"site":{"enum":["amz_us","amz_uk","amz_de","amz_jp","amz_fr","amz_it","amz_es","amz_ca","amz_au","amz_sa","amz_ae","amz_br","amz_mx"],"type":"string","default":"amz_us","description":"Amazon marketplace. Defaults to amz_us."},"format":{"enum":["json","markdown"],"type":"string","default":"json","description":"Response format. Defaults to 'json' — structured ranking list. Use 'markdown' for the rendered page text."},"zipcode":{"type":"string","description":"ZIP code that must match the site country (amz_us → US zip, amz_jp → JP zip, ...). Optional; backend picks a random one from the per-country pool when omitted. Cross-country zips (e.g. amz_us + JP zip) are rejected by the backend. Examples: 10001 (NY) / 90001 (LA) / 100-0001 (Tokyo)."},"categorySlug":{"type":"string","minLength":1,"description":"Amazon New Releases category slug (lowercase, hyphenated). Examples: 'electronics', 'home-garden'. Find these in the URL path on amazon.com/gp/new-releases."},"clientSource":{"enum":["skill","mcp"],"type":"string","description":"调用来源标记。仅由 Pangolinfo Skill 传 skill；普通 MCP 调用省略即可。"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":501,"tokensAfter":501},{"name":"list_seller_products","fixed":{"name":"list_seller_products","description":"[Amazon seller storefront] List all listings under a merchant ID, paginated (24 rows/page).\nUse when: user says \"show me this seller's products\" / \"how many SKUs does store X carry\" / \"competitor storefront category breadth\" / \"what is this seller pushing\" / \"research a seller's catalog strategy\".\nDon't use: without a merchant ID (find 'sold by' link on any product PDP first); for a single product (use get_amazon_product).\nReturns: data.json[0].data.{ pageIndex, maxPage, nextPage, results[{ asin","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["sellerId"],"properties":{"page":{"type":"integer","default":1,"minimum":1,"description":"Page number, 1-based. 24 rows per page. Use response's pageIndex/maxPage/nextPage to decide whether to continue: nextPage holds the next page number; nextPage=null or page>=maxPage means last page reached. **Only paginate when the user explicitly asks for more / all SKUs** — otherwise the first page is enough. NOTE: when pageCount>1 (multi-page accumulate) is set, page is ignored (the backend always accumulates from page 1)."},"site":{"enum":["amz_us","amz_uk","amz_de","amz_jp","amz_fr","amz_it","amz_es","amz_ca","amz_au","amz_sa","amz_ae","amz_br","amz_mx"],"type":"string","default":"amz_us","description":"Amazon marketplace. Defaults to amz_us."},"format":{"enum":["json","markdown"],"type":"string","default":"json","description":"Response format. Defaults to 'json' — structured seller listings. Use 'markdown' for the rendered page text."},"zipcode":{"type":"string","description":"ZIP code that must match the site country (amz_us → US zip, amz_jp → JP zip, ...). Optional; backend picks a random one from the per-country pool when omitted. Cross-country zips (e.g. amz_us + JP zip) are rejected by the backend. Examples: 10001 (NY) / 90001 (LA) / 100-0001 (Tokyo)."},"sellerId":{"type":"string","minLength":1,"description":"Amazon merchant ID (14-char alphanumeric). Examples: 'ATVPDKIKX0DER' (Amazon.com first-party) / 'A2L77EE7U53NWQ' (Amazon Warehouse). Find it in a product page's 'sold by' link or amazon.com/sp?seller=... URL."},"pageCount":{"type":"integer","default":1,"maximum":3,"minimum":1,"description":"Multi-page accumulate: passing N crawls the first N pages in one call and returns them flat-merged (e.g. 3 = all products from pages 1+2+3). Default 1 (single page, uses the `page` flow); cap 3, larger values treated as 3. Difference vs `page`: `page` locates one specific page, `pageCount` pulls the first N pages merged. **Use only when you need the full multi-page SKU set in one shot.** Billed by pages actually crawled (a failed page is refunded)."},"categoryId":{"type":"string","description":"Category filter ID — filters the seller's products by category. A single leaf category ID (e.g. '7161074011'), or comma-separated multi-level categories (e.g. '172282,502394,7161073011'). Omit = all products of the seller. Extractable from the rh=n:<categoryId> part of an Amazon storefront URL."},"clientSource":{"enum":["skill","mcp"],"type":"string","description":"调用来源标记。仅由 Pangolinfo Skill 传 skill；普通 MCP 调用省略即可。"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":897,"tokensAfter":897},{"name":"search_amazon","fixed":{"name":"search_amazon","description":"[Amazon SERP scrape] Run a real Amazon keyword search and return the first-page ASIN list.\nUse when: user says \"search Amazon for X\" / \"who sells X\" / \"top results for keyword X\" / \"competitors for X\"; or you need a list of ASINs for a keyword as upstream input to deeper analysis.\nDon't use: for a single ASIN detail (use get_amazon_product); for category bestseller ranks (use list_bestsellers); for Google/external demand on the term (use ai_search or keyword_trends).\nReturns (format='json', defa","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["keyword"],"properties":{"page":{"type":"integer","default":1,"minimum":1,"description":"Page number, 1-based. ~22 ASINs per page. Use response's pageIndex/nextPage to decide whether to continue: nextPage holds the next page number; nextPage=null (or absent) means last page reached. **Only paginate when the user explicitly asks for more / Top-N where N exceeds one page / all results** — otherwise the first page is enough."},"site":{"enum":["amz_us","amz_uk","amz_de","amz_jp","amz_fr","amz_it","amz_es","amz_ca","amz_au","amz_sa","amz_ae","amz_br","amz_mx"],"type":"string","default":"amz_us","description":"Amazon marketplace. Defaults to 'amz_us' (US)."},"format":{"enum":["json","markdown"],"type":"string","default":"json","description":"Response format. Defaults to 'json' — structured search rows (asin, title, price, star, rating, sales, badge, rank, ...) ready for programmatic use. Use 'markdown' if you want the rendered SERP text instead."},"keyword":{"type":"string","minLength":1,"description":"Search keyword. Examples: 'wireless earbuds' / 'stanley quencher' / 'iphone 16 case' / 'kitchen knife set'."},"zipcode":{"type":"string","description":"ZIP code that must match the site country (amz_us → US zip, amz_jp → JP zip, ...). Optional; backend picks a random one from the per-country pool when omitted. Cross-country zips (e.g. amz_us + JP zip) are rejected by the backend. Examples: 10001 (NY) / 90001 (LA) / 100-0001 (Tokyo)."},"clientSource":{"enum":["skill","mcp"],"type":"string","description":"调用来源标记。仅由 Pangolinfo Skill 传 skill；普通 MCP 调用省略即可。"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":626,"tokensAfter":626},{"name":"search_amazon_alexa","fixed":{"name":"search_amazon_alexa","description":"[Alexa Agent API] Ask Amazon Rufus and receive answers, grouped product recommendations and follow-up suggestions. Separate pools support the United States (default) and Japan.\nUse when: scenario-based discovery, gifts or open-ended shopping advice. Use search_amazon for explicit keywords and get_amazon_product for a single ASIN.\nReturns: data.json[{prompt,status,content,products[{title,items[{asin,url,title,cover,score,ratingsCount,price,originalPrice,describe}]}],follow_up_questions[],refusal_","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["prompts"],"properties":{"url":{"type":"string","format":"uri","description":"Optional amazon.com product detail URL. Uses the product-page panel and may take longer than a general query."},"asin":{"type":"string","pattern":"^[A-Za-z0-9]{10}$","description":"Optional US product ASIN. Ask in that product's detail-page context, including books. Supply asin or url; if both are supplied they must match."},"site":{"enum":["us","jp"],"type":"string","default":"us","description":"Amazon marketplace: us (United States, default) or jp (Japan). Pools are isolated; unavailable markets fail rather than falling back to the US."},"prompts":{"type":"array","items":{"type":"string","minLength":1},"maxItems":5,"minItems":1,"description":"1–5 natural-language prompts. Prompts within one call form a sequential conversation; separate calls do not retain context. Each prompt costs 6 points (N prompts=N×6); multiple turns increase latency."},"screenshot":{"type":"boolean","default":false,"description":"Return a page screenshot. General questions use native HTTP by default; product-targeted questions and screenshots use the browser path."},"clientSource":{"enum":["skill","mcp"],"type":"string","description":"调用来源标记。仅由 Pangolinfo Skill 传 skill；普通 MCP 调用省略即可。"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":537,"tokensAfter":537},{"name":"search_categories","fixed":{"name":"search_categories","description":"[Amazon category search] Match Amazon's category tree by keyword (Chinese or English) and return candidate nodes.\nUse when: user gave a keyword/concept rather than a category id, and a downstream tool needs categoryId / browseNodeId (e.g. filter_niches / filter_categories / list_category_products / inferring list_bestsellers slug); when you need to know where a product concept lives in Amazon's taxonomy.\nDon't use: when you already have categoryId/nodeId (use get_category_paths for breadcrumbs o","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["keyword"],"properties":{"site":{"enum":["amz_us","amz_uk","amz_de","amz_jp","amz_fr","amz_it","amz_es","amz_ca","amz_au","amz_sa","amz_ae","amz_br","amz_mx"],"type":"string","default":"amz_us","description":"Marketplace to search categories in. Defaults to 'amz_us'."},"keyword":{"type":"string","minLength":1,"description":"Category name keyword (Chinese or English). Examples: 'headphones' / 'kitchen knives' / '无线耳机' / 'wireless earbuds'."},"clientSource":{"enum":["skill","mcp"],"type":"string","description":"调用来源标记。仅由 Pangolinfo Skill 传 skill；普通 MCP 调用省略即可。"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":345,"tokensAfter":345},{"name":"search_local_maps","fixed":{"name":"search_local_maps","description":"[Local Maps via Google Maps] Local-business search (data source: Google Maps; use must comply with Google Terms of Service). Search local businesses at a given lat/lng — returns name, address, rating, review count, etc.\nUse when: user says \"Y businesses in city X\" / \"local retail research\" / \"offline channel distribution\" / \"coffee shops/supermarkets/wholesalers in area\" / \"physical-store coverage density\"; offline competitor/channel research; gauging physical-supply density of a category in a r","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["query","latitude","longitude"],"properties":{"zoom":{"type":"integer","default":13,"maximum":21,"minimum":1,"description":"Map zoom level, 1=world, 13=city, 21=building. Default 13."},"limit":{"type":"integer","default":50,"maximum":100,"minimum":1,"description":"Max results to return (1-100)."},"query":{"type":"string","minLength":1,"description":"Local search query. Examples: 'coffee shop' / 'wholesale electronics' / '电子产品批发' / 'pet store'."},"language":{"type":"string","default":"en","description":"BCP-47 language code, e.g. 'en', 'zh-CN'."},"latitude":{"type":"number","maximum":90,"minimum":-90,"description":"Latitude of search center. Examples: 37.7822 (San Francisco) / 40.7128 (New York) / 34.0522 (Los Angeles)."},"longitude":{"type":"number","maximum":180,"minimum":-180,"description":"Longitude of search center. Examples: -122.4642 (San Francisco) / -74.0060 (New York) / -118.2437 (Los Angeles)."},"clientSource":{"enum":["skill","mcp"],"type":"string","description":"调用来源标记。仅由 Pangolinfo Skill 传 skill；普通 MCP 调用省略即可。"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":479,"tokensAfter":479},{"name":"wipo_search","fixed":{"name":"wipo_search","description":"[Design Patent TRO risk control · WIPO global design / IP search] Query the WIPO design database across 12 sources (USPTO US designs, CNID China, HAGUE international registrations, …), with one-click chaining to US design-patent TRO (temporary restraining order) / litigation risk control.\nUse when: user says \"check trademark\" / \"design patent search\" / \"any IP risk for new product\" / \"X company's patent portfolio\" / \"WIPO search\" / \"USPTO query\" / \"what is registration DM/XXX\"; pre-launch IP cle","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["source"],"properties":{"ds":{"type":"string","description":"Designated country code (e.g. 'US', 'CN'). Optional — usually implied by `source`."},"id":{"type":"string","description":"Full ID exact match, e.g. 'CNID.2023.123456'. Routes CNID queries to a single partition (avoids full scan)."},"rd":{"type":"string","description":"Registration date (YYYY or YYYY-MM-DD). One of the recommended narrowing fields for CNID — routes to a year partition."},"hol":{"type":"string","description":"Holder name fuzzy match. Examples: 'Apple' / 'Samsung' / 'Nike'. NOTE: CNID + hol MUST be paired with id/idSearch/rd/status/lcs; JPID has no HOL column (will be ignored)."},"irn":{"type":"string","description":"International Registration Number exact match. Examples: 'DM/000298' (HAGUE) / 'D1107730' (USID)."},"lcs":{"type":"string","description":"Design classification (Locarno Classification code), e.g. '23-01' = fluid distribution equipment."},"num":{"type":"integer","default":10,"maximum":100,"minimum":1,"description":"Page size (default 10, max 100)."},"from":{"type":"integer","default":0,"minimum":0,"description":"Pagination offset, 0-based."},"prod":{"type":"string","description":"Product name fuzzy match. CNID searches Chinese, other sources search English. Examples: '椅子' (CNID) / 'wireless headphones' (USID) / 'iphone case' (USID). CNID + prod MUST be paired with id/idSearch/rd/status/lcs; JPID has no PROD column."},"source":{"enum":["USID","CNID","DEID","JPID","KRID","EMID","FRID","INID","ITID","ESID","CHID","HAGUE"],"type":"string","description":"Data source (required). WIPO data is partitioned by source — cross-source queries not supported. Common: USID (US design), CNID (China design, 17M+ rows), HAGUE (Hague international), DEID, JPID."},"status":{"type":"string","description":"Legal status: 'ACT' (active), 'EXP' (expired), etc. USID has no STATUS column (will be ignored)."},"idSearch":{"type":"string","description":"ID variant fuzzy match."},"clientSource":{"enum":["skill","mcp"],"type":"string","description":"调用来源标记。仅由 Pangolinfo Skill 传 skill；普通 MCP 调用省略即可。"},"enableLitigation":{"type":"boolean","default":false,"description":"Enable Smart Risk Control Mode: after patents match, auto-query related US litigation (PACER backend) by patent number; cases are joined into each patent's `cases` field. Default false. When on, each matched patent gains litigationStatus / caseTotal / cases; +12 points charged only when a patent is found (free if none)."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":879,"tokensAfter":879}],"toolsChanged":16,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}