Asinlens

io.github.CloudCorpRecordsPublished by GitHub account CloudCorpRecordsv0.1.0Updated Nov 7, 2026

Amazon product, seller and search data: details, offers, sales history, ranks and dimensions.

Overview

AI-generated overview

Local bridge to Easyparser's hosted Amazon data service, letting an assistant pull product, seller, search, rank and sales-history data plus account and…

What you can do
  • Fetch product profiles, offers, Best Sellers Rank, package dimensions and up to 12 months of sales history
  • Search Amazon by keyword or search URL and convert UPC, EAN, GTIN, ISBN, JAN or MINSAN codes to ASINs
  • Read seller profiles, catalogues and individual buyer feedback entries
  • Inspect the operation catalogue, bulk jobs, bulk item results, webhook delivery logs and API error logs
  • Check plan, credit balance, rate limits and monthly usage by operation
When to use it
Useful for Amazon marketplace research: competitor and pricing analysis, reseller and supplier checks, demand and seasonality trends, FBA fee and shipping estimates, and monitoring bulk extraction jobs started in the Easyparser web app.
Requirements
Runs locally over stdio via npx or the Docker image, so Node.js or Docker is needed. It forwards calls to the hosted Easyparser endpoint; the optional EASYPARSER_API_KEY variable adds a bearer token, and EASYPARSER_MCP_URL can override the endpoint. Network access to the upstream service is required.
Before you install
Calls consume Easyparser account credits, so check the balance before expensive multi-page or 12-month-history requests. The optional EASYPARSER_API_KEY is sent upstream as a bearer token; keep it out of shared configs. Product and seller data is fetched from a third-party hosted service, and the bridge keeps no data itself.

Installation

In SourceWeft

  1. Open Asinlens in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

asinlens

asinlens is a small local bridge to Easyparser's hosted MCP server, which turns Amazon pages into structured data: product details and offers, keyword search, barcode-to-ASIN lookup, sales history, Best Sellers Rank, package dimensions, and seller profiles, feedback and catalogues — plus the account's bulk-job, webhook-log, error-log and credit-balance views.

The bridge keeps no Amazon data and scrapes nothing itself. It serves the upstream server's tool list locally, exactly as captured from the live endpoint, and forwards each tool call upstream, returning the result untouched. Every captured tool is a data read: this rebuild adds no write capability.

Tools

Product data:

  • get_product_detail — the full product profile: title, brand, images, bullets, Buy Box price and availability, Prime eligibility, rating, rank, variants, specifications and top reviews. Give either asin or url, never both; optional domain, language, currency, a_plus_content and seller_id. No required arguments.
  • get_product_offers — every seller offer for one product, with price, shipping, condition, fulfilment type and the Buy Box winner. Required: asin. Optional filters include prime, free_shipping, condition and a page range.
  • search_products — keyword or search-URL search with structured listings and refinement filters. Optional sort_by, exclude_sponsored, refinements and a page range. No required arguments.
  • lookup_product — convert a UPC, EAN, GTIN, ISBN, JAN or MINSAN code (or an ASIN) into the matching Amazon ASIN with a product snapshot. Required: identifier and identifier_type.
  • get_sales_history — up to 12 months of weekly trends for traffic, sales, price and rank. Required: asin; history_range picks the depth.
  • get_bestseller_rank — the current Best Sellers Rank in main and sub-categories. Required: asin.
  • get_package_dimensions — exact package size and weight plus the Amazon fee category, for FBA fee and shipping estimates. Required: asin.

Seller data:

  • get_seller_profile — a merchant's legal business name, registered address and feedback trends. Give either seller_id or url. No required arguments.
  • get_seller_products — a seller's full catalogue with prices, Prime status and ratings. Give either seller_id or url. No required arguments.
  • get_seller_feedback — individual buyer feedback entries, filterable by rating and period. Required: seller_id.

Account and bulk monitoring:

  • list_operations — the upstream operation catalog with parameters, credit costs and examples.
  • list_bulk_jobs — bulk extraction jobs and their progress, filterable by status, operation and domain.
  • get_bulk_job_items — the items inside one bulk job. Required: group_id.
  • get_bulk_item_result — the parsed result data of one bulk item (retained 24 hours after completion). Required: item_id.
  • get_bulk_webhook_logs — webhook delivery logs for bulk jobs, optionally scoped to one group_id.
  • get_error_logs — the account's API error logs for real-time and bulk channels.
  • check_credits — plan, credit balance, reset date, rate limits and this month's usage by operation. No arguments.

Configuration

  • EASYPARSER_MCP_URL (optional) — override the upstream endpoint. Defaults to https://mcp.easyparser.com/mcp. (The override hook is this rebuild's own labelled reconstruction.)
  • EASYPARSER_API_KEY (optional) — when set, every upstream request carries an Authorization: Bearer <key> header. When it is not set, no auth header is sent. (This forwarding is also a labelled reconstruction; the original surface was captured keyless, though the registry record declares the Authorization header.)

Forwarding mechanics

On the first tool call the client opens a streamable HTTP session with the upstream: a JSON-RPC initialize request (protocolVersion 2025-03-26, clientInfo name asinlens), then a notifications/initialized notification, then the tools/call request carrying the caller's arguments unchanged. When the upstream answers initialize with an Mcp-Session-Id header, that value rides on every later request of the session, which is reused for the life of the process. Replies may arrive as plain JSON or as server-sent events; both are read.

Successful upstream results pass through verbatim, including any isError flag the upstream sets. Failures — a JSON-RPC error, a non-2xx status, an unreadable response, or a request that cannot be completed — come back as an isError result whose text starts with asinlens error: (this rendering is this rebuild's own labelled reconstruction).

CLI

Each tool is also a subcommand taking one JSON argument string (omit it for tools that take none):

bash
npx @reneturcios/asinlens get_product_offers '{"asin":"B0CJB6V2L5"}'npx @reneturcios/asinlens lookup_product '{"identifier":"724382975021","identifier_type":"UPC"}'npx @reneturcios/asinlens check_creditsnpx @reneturcios/asinlens --version

Exit codes: 0 on success, 1 on an isError result, 2 on a usage error.

MCP server

bash
npx -y @reneturcios/asinlens mcp

MCP client config:

json
{  "mcpServers": {    "asinlens": {      "command": "npx",      "args": ["-y", "@reneturcios/asinlens", "mcp"]    }  }}

Docker

bash
docker run -i ghcr.io/cloudcorprecords/asinlensdocker run --rm ghcr.io/cloudcorprecords/asinlens --version

The container's default command is mcp, so the first form is a stdio MCP server; any other arguments reach the CLI normally.

Development

bash
npm installnpm run buildnpm testnpm run dev

The test suite runs entirely against a stubbed JSON-RPC upstream — no live network calls.

License

MIT — see LICENSE.

Source: README.md at commit c6f1718

Tools

17

get_product_detail

Fetch complete, structured information about a single Amazon product: title, brand, images, feature bullets, description, Buy Box price and availability, Prime eligibility, rating and review count, Best Sellers Rank, category path, variants, specifications, and top reviews. This is the primary tool for product analysis, listing enrichment, and price monitoring. Use this tool when you need a full product profile. If you only need competing seller prices, use get_product_offers instead (cheaper context). If you only need the sales rank, use get_bestseller_rank. If you only need shipping dimensions or the FBA fee category, use get_package_dimensions. Provide EITHER the identifier field OR url — never both. Costs 1 credit; set a_plus_content to true only when the user explicitly asks about enhanced brand content, as it costs 1 extra credit.

Parametersurlasindomaincurrencylanguageseller_ida_plus_content

get_product_offers

Fetch the list of seller offers for an Amazon product: every merchant selling the item with their price, shipping cost, condition (new/used), fulfillment type (FBA/FBM), and seller rating. Also returns the Buy Box winner. This is the tool for competitive price analysis, reseller monitoring, and availability tracking. Use this tool when the question is about WHO sells the product and at WHAT price. If you need the product's own details (title, images, rating), use get_product_detail instead. Each requested page costs 1 credit. Start with a single page (default) and only increase max_page if the user needs the full offer list. Use the condition and shipping filters to narrow results instead of paginating — it is cheaper.

Parametersasinrequiredprimedomainmax_pagemin_pageconditionfree_shipping

search_products

Search Amazon by keyword or a full search/category URL and get structured product listings: ASIN, title, price, rating, review count, Prime status, and badges (Best Seller, Amazon's Choice) for each result. Also returns the available refinement filters (category, brand, price range) with their IDs. Use this tool for market research, keyword analysis, and product discovery. If the user already has an ASIN or product URL, do NOT search — use get_product_detail directly. Each page costs 1 credit. One page typically returns 20-40 products, which is enough for most questions. Use sort_by and exclude_sponsored to improve result quality instead of fetching more pages. To filter by category or brand, first run one search and read the refinements field in the response to discover valid filter IDs, then pass them in refinements.

Parametersurldomainkeywordsort_bycurrencylanguagemax_pagemin_pagerefinementsexclude_sponsored

lookup_product

Convert an external product identifier (UPC, EAN, GTIN, ISBN, JAN, MINSAN) into the corresponding Amazon ASIN, with an essential product snapshot. This is the bridge between manufacturer/retail barcodes and the Amazon ecosystem. Use this tool when the user has a barcode or standard product code and wants to find the matching Amazon listing. Typical workflows: catalog matching, inventory synchronization, converting supplier data into Amazon ASINs. Also accepts ASIN as input type if you need to validate one. You MUST set identifier_type to match the code you have — guessing the wrong type returns no results. UPC is 12 digits, EAN/GTIN is 13, ISBN is 10 or 13 (books). If the user gives a keyword instead of a code, use search_products instead. Costs 1 credit.

Parametersdomainidentifierrequiredidentifier_typerequired

get_sales_history

Retrieve a product's historical performance over up to 12 months: weekly aggregated trends for estimated views/traffic, sales, price, and Best Sellers Rank. This is Easyparser's 'time machine' — the deepest competitive-intelligence tool in this server. Use this tool for trend forecasting, seasonality analysis, conversion-rate estimation, and investment/sourcing due diligence. Do NOT use it for a simple current price check — get_product_detail is 5x cheaper for that. IMPORTANT cost rule: the base cost is 5 credits, and each month of history adds 1 credit (3 months = 8 credits, 12 months = 17 credits). Always ask the user how far back they need, or default to 3 months for a quick trend read. The history array in the response is aggregated by WEEK, not by day.

Parametersasinrequireddomainhistory_range

get_bestseller_rank

Get a product's current Best Sellers Rank (BSR): its numerical rank in main categories and sub-category node identifiers. A lightweight, single-purpose tool for popularity and demand tracking. Use this tool when you only need the rank — e.g. 'Is this product selling well?' or daily rank monitoring. Lower rank number means higher sales velocity. If you also need price, rating or content, use get_product_detail instead (it includes BSR along with everything else). For historical rank trends, use get_sales_history. Costs 1 credit.

Parametersasinrequireddomain

get_package_dimensions

Get a product's precise physical and logistical attributes: package height, width, length, weight, and its Amazon fee category (e.g. Computers, Apparel). This is the FBA fee-estimation and shipping-cost tool. Use this tool when the question is about shipping, storage, FBA fees, or warehouse planning. Do NOT use it for general product info — get_product_detail includes a human-readable dimensions string, but only THIS tool returns the structured fee category and exact measurements needed for fee calculation. Costs 1 credit.

Parametersasinrequireddomain

get_seller_profile

Unmask the legal identity and reputation of any Amazon merchant: legal business name, registered business address, and granular feedback trends over 30/90/365 days and lifetime. This is the supplier-verification and brand-protection tool. Use this tool when the user asks 'who is this seller?', 'is this merchant legitimate?', or needs a supplier's legal entity for compliance or invoicing. To see WHAT the seller sells, use get_seller_products. To read individual buyer reviews about the seller, use get_seller_feedback. Provide EITHER seller_id OR url — never both. You can discover a product's seller by calling get_product_offers first. Costs 1 credit.

Parametersurldomainlanguageseller_id

get_seller_products

Extract a seller's full product catalog: every ASIN they sell with brand, category, price, Prime status, variant counts, and rating data. Also returns dynamic refinement filters (department, shipping, sustainability) for drilling into the catalog. Use this tool for competitor inventory analysis, stock monitoring, and pricing-strategy research. If you need the seller's legal identity or reputation instead of their products, use get_seller_profile. Each page costs 1 credit. Start with one page and use sort_by (e.g. 'exact-aware-popularity-rank' for best sellers first) to surface the most relevant products early. Provide EITHER seller_id OR url — never both.

Parametersurldomainsort_bylanguagemax_pagemin_pageseller_idexclude_refinements

get_seller_feedback

Read individual buyer feedback entries for an Amazon seller: star ratings, comment text, and dates — filterable by rating range and time period. This is the reputation deep-dive tool. Use this tool when the user wants to read actual buyer comments about a seller, analyze complaint patterns, or audit service quality. For aggregate reputation scores (30/90/365-day percentages) without individual comments, get_seller_profile is sufficient and cheaper in context. Each page costs 1 credit. To find dissatisfied customers, set max_rating to 3 instead of paging through everything.

Parametersdomainmax_pagemin_pageseller_idrequiredmax_ratingmin_ratinghistory_range

list_operations

List all Easyparser operations available in this server, with their parameters, credit costs, and example use cases. Works WITHOUT an API key — call this first to understand what the server can do, or when you are unsure which tool fits the user's question. Also returns the list of supported Amazon marketplace domains.

Parametersoperation

list_bulk_jobs

List the user's bulk extraction jobs with their progress: operation, domain, status, total/completed/failed/invalid item counts, and timestamps. This reads the SAME data as the Bulk Requests page in the Easyparser web app — so it can see and track jobs the user started from the app UI, not just jobs submitted through this MCP server. Use this tool when the user asks about their bulk jobs: "is my job done?", "what bulk jobs are running?", "did the DETAIL batch finish?". Each row includes a group_id — pass it to get_bulk_job_items to drill into individual items, or to get_bulk_webhook_logs to check webhook deliveries. Statuses: pending (queued), processing (running), completed (all items succeeded), partial_success (some items failed or were dropped — check failed_items/invalid_items counts), failed. This tool is free of per-call credits (monitoring endpoints do not consume credits).

Parameterspagelimitdomainstatusoperationsort_directionbulk_request_id

get_bulk_job_items

Inspect the individual items inside a bulk job: each item's input value (ASIN, keyword, seller ID...), its status (success/failed/invalid/pending/processing), error message if it failed, credit cost, and completion time. Use this tool to debug a job after list_bulk_jobs shows failed_items or invalid_items > 0 — filter with status='failed' or status='invalid' to see exactly which inputs failed and why. Use search_key to locate one specific ASIN inside a large job. The item's item_id can be used with the Data Service (GET /v1/queries/{id}) to fetch its parsed result. This tool is free of per-call credits (monitoring endpoints do not consume credits).

Parameterspagelimitstatusdate_togroup_idrequireddate_fromsearch_keysort_direction

get_bulk_item_result

Fetch the parsed result data of a single bulk job item — the actual Amazon data that item produced (product detail, search results, seller profile, etc., depending on the job's operation). This is the same data shown in the item result modal on the Bulk Requests page of the web app. Use this tool after get_bulk_job_items, when the user wants to see the DATA behind a specific item, not just its status. Typical flow: list_bulk_jobs → get_bulk_job_items → get_bulk_item_result. IMPORTANT: bulk results are retained for 24 HOURS after the job completes, then they expire. If the item's data has expired, the tool returns a clear message — suggest re-running that item through the matching real-time tool (e.g. get_product_detail for a DETAIL item) to regenerate the data. This tool is free of per-call credits.

Parametersitem_idrequired

get_bulk_webhook_logs

Check webhook delivery logs for bulk jobs: whether the completion notification was delivered to the user's callback_url, delivery status, and timestamps. Use this when a job shows as completed but the user's system never received the webhook — the classic "job finished but my integration didn't fire" debugging case. Scope to one job with group_id (from list_bulk_jobs), or omit it to scan recent deliveries across all jobs. This tool is free of per-call credits.

Parameterspagelimitstatusdate_togroup_iddate_fromrequest_idsort_directionbulk_request_id

get_error_logs

List the user's API request error logs — the same data shown on the Errors page of the Easyparser web app. Covers both real-time API errors and bulk job errors: each row has the platform, operation, domain, error code, channel (BULK/REALTIME), the request parameters that caused it, and a timestamp. Use this tool when the user asks about failures: "why are my requests failing?", "show me recent errors", "any webhook errors today?", "what went wrong with my DETAIL calls?". Filter by error_channel (BULK or REALTIME), error_code, operation, or domain to narrow down. Each row includes a request_id and the query_params that triggered the error, so you can trace exactly which input failed. This tool is free of per-call credits (monitoring endpoints do not consume credits).

Parameterspagelimitdomaindate_toorder_byplatformdate_fromoperationerror_codeorder_typeerror_channel

check_credits

Check the Easyparser account: current plan, credit balance (used/remaining/limit), credit reset date, per-minute rate limits, and this month's daily usage breakdown by operation. FREE — this calls the Account API and consumes no credits. Use this before running expensive multi-page or 12-month-history jobs, when the user asks about their quota or plan, or to analyze usage patterns (e.g. 'which operation consumed the most credits this month?'). Requires an API key.

Takes no parameters.

Version history

1
  1. v0.1.0LatestNov 4, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts