Skip to main content
Glama
Pangolin-spg

Pangolinfo Amazon Data MCP

scrape_url

Scrape Amazon pages that standard tools don't cover: pass a bare keyword, nodeId, sellerId, or ASIN, or a full URL to apply filters, sorting, and pagination.

Instructions

[Generic Amazon scrape — power-user escape hatch] Scrape pages the 5 purpose-built tools don't cover. Two input modes (pick one): ① content=bare fragment (keyword / nodeId / sellerId / ASIN) + site — backend builds a basic URL per parserName. content mode carries NO filter/sort/pagination — it's just the bare fragment. Best for simple pages when you only have the fragment. ② url=full Amazon link — put ANY filter/sort/pagination into this url (the only way, since content mode can't). Filter syntax examples: price $25-50 → '/s?k=earbuds&low-price=25&high-price=50'; sort by reviews → '&s=review-rank'; paginate → '&page=2'; category+price → '/s?i=aps&rh=n%3A172282&fs=true&low-price=25'. Use when: a standard tool can't build the target URL — "search X but only $25-50" / "results sorted by reviews" / "category filtered by price"; or the user already has a specific Amazon link. For any filtering, use url mode. Don't use: when a purpose-built tool fits — plain keyword search → search_amazon, single ASIN → get_amazon_product, seller → list_seller_products, category ranks → list_bestsellers/list_new_releases. Returns (format='json'): data.json[0].data.{ ... results[] ... }, shape depends on parserName. amzFollowSeller returns items[{options,price,delivery,shipsFrom,soldBy,hasSoldByLink,isFeatured?}], where hasSoldByLink explicitly tells whether the seller name was a hyperlink. ⚠️ If content/url doesn't match parserName, the backend returns data.{ status_code, rawHtml, url } (unparsed). Pair with: ↓ feed asin into get_amazon_product / get_amazon_reviews. Cost: ~1 point/call, ~5s. ⚠️ Pass exactly one of content / url (both or neither errors); filtering/pagination requires url mode; parserName must match the page type.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlNoFull Amazon URL (https://). Pass this OR content. Use when you already have a ready link (e.g. a filtered/sorted SERP copied from the browser). Example: 'https://www.amazon.com/s?k=earbuds&rh=p_36%3A2500-5000&s=review-rank'. Must match parserName.
siteNoAmazon site (in content mode the backend picks the domain from this). Defaults to amz_us. Optional in url mode (the URL already has the domain).amz_us
formatNoResponse format. Defaults to 'json' (structured results). Use 'markdown' for the rendered page text.json
contentNoBare fragment (backend builds the URL per parserName). Pass this OR url. Examples: 'wireless earbuds' (amzKeyword) / '172282' (nodeId for amzProductOfCategory) / 'ATVPDKIKX0DER' (sellerId for amzProductOfSeller) / 'B0B4NLGCH5' (ASIN for amzProductDetail, amzDeliveryTime, or amzFollowSeller). Users/AI usually only have the fragment — prefer this.
zipcodeNoZIP/postal code matching the site or URL country. Optional; backend picks one when omitted. Supported: US 10041/90001/60601/84104; UK W1S 3AS/EH15 1LR/M13 9PL/M2 5BQ; CA M4C 4Y4/V6E 1N2/H3G 2K8/T2R 0G5; DE 80331/10115/20095/60306; FR 75000/69001/06000/13000; JP 100-0004/060-8588/163-8001/900-8570; IT 20019/50121/00042/30100; ES 41001/28001/08001/46001; AU 2000_SYDNEY/3000_MELBOURNE; MX 01000/55000; SA Riyadh_الرياض/Jeddah_جدة; AE Abu Dhabi_ADCO Compound/Ajman_Aamra; BR 03001-000/20031-000.
parserNameYesParser deciding how the backend extracts the page AND builds the URL from content. Must match the page type: amzKeyword=keyword search (content=keyword) / amzProductOfCategory=category (content=nodeId) / amzProductOfSeller=seller storefront (content=sellerId) / amzProductDetail=single product (content=ASIN) / amzBestSellers / amzNewReleases / amzReviewV2=reviews / amzFollowSeller=follow-seller / amzVariantAsin=variant.
clientSourceNo调用来源标记。仅由 Pangolinfo Skill 传 skill;普通 MCP 调用省略即可。

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.2

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and largely delivers: it discloses cost (~1 point/call, ~5s), return shapes per parserName, a failure mode where mismatched content/url yields unparsed data.{status_code, rawHtml, url}, and the mutual-exclusion rule that exactly one of content/url must be passed. These are non-obvious operational traits (cost, error semantics, silent-unparsed fallback) that an agent could not infer from the schema alone.

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?

It is long, but the length is driven by a genuinely complex tool (7 params, 9 parsers, two mutually exclusive input modes) and it is well-structured with bold headers, bullets, and a front-loaded statement of what the tool is. A little redundancy between the mode descriptions and the 'Use when' block keeps it just short of 5.

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

Completeness5/5

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

With no output schema, the description supplies the missing return shape (json path, amzFollowSeller item fields including hasSoldByLink) and the unparsed fallback shape. It also covers cost, error conditions, the url-only filtering constraint, and downstream pairing (feed asin into get_amazon_product/get_amazon_reviews), which is everything 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.

Parameters4/5

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

Schema coverage is 100%, so 3 is the baseline, but the description adds genuine semantics the schema does not: that content mode carries NO filter/sort/pagination, that filtering is only possible via url mode, and concrete filter-syntax fragments (low-price/high-price, s=review-rank, page=2, rh/fs category filters). That mode-selection meaning goes beyond the field-level 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?

It states a concrete verb+resource ('Scrape pages the 5 purpose-built tools don't cover') and immediately names the escape-hatch role relative to siblings. The 'Don't use' clause routes plain keyword search, single ASIN, seller, and category-rank requests to search_amazon, get_amazon_product, list_seller_products, and list_bestsellers/list_new_releases respectively, so an agent can distinguish it without opening any schema.

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?

Explicit 'Use when' and 'Don't use' clauses give both positive and negative routing criteria, and the two input modes are gated by their own when-to-use guidance (content for simple pages with only a fragment; url whenever filtering/sorting/pagination is needed, with the rule that filtering requires url mode). Alternatives are named by tool, not left to inference.

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