Etsy Search & Shop Sales MCP
PYPI · ETSY-SALES-MCP · 2 COMPONENTS
Etsy search + Etsy shop sales: live listing rows and sales counters via Apify MCP.
Available components
Last scanned (1 day ago)
Scores higher than 74% of PyPI servers
Category E-commerce
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security100
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- Runs hatchling.build at install time, a recognised build step with no custom scripting around it. View diagnostics → Pass
- 1 of 28 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency100
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to GeminiGeorge22/etsy-sales-mcp). View diagnostics → Pass
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 0 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability50
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 1397 tokens (~698/item across 2 items; 2 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 2 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 3 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
Unverified: 1 category
A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 4 Nov 26 +15
- Malware scan: unverified → pass ▲ security
- 3 Nov 26 62
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 4 Nov 2026 · Analysed pypi/etsy-sales-mcp@0.2.1
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | pypi |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| Source repo | GeminiGeorge22/etsy-sales-mcp |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/GeminiGeorge22/etsy-sales-mcp/.github/workflows/pypi-publish.yml@refs/tags/python-v0.2.1 |
| Rekor log index | 3680828348 |
| Predicate type | PyPI publish attestation https://docs.pypi.org/attestations/publish/v1 |
| Subject digest | sha256:0c4be35ea0ab47de1de23387110a1b8e089a4b96e1a5abe29afa148caaf9109f |
Background: How many MCP packages publish verified provenance →
Install scripts 1 script
| Hook | Tier | Command |
|---|---|---|
| build_backend | allowlisted | hatchling.build |
Background: Why install scripts are a supply-chain risk →
Dependencies 28 packages
| Packages resolved | 28 |
|---|---|
| No linked repository | 1 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
publicrecords--etsy-search-scraper Etsy Scraper — Listings, Prices & Best Sellers ~957
Etsy Scraper — Listings, Prices & Best Sellers. Scrape Etsy search results by keyword, category or market page: title, price, rating, reviews, Bestseller and Star Seller badges, ad flag and search rank. When to use: Use when you need what ranks on Etsy for a keyword, category or market page: position, price, rating, review count, Bestseller/Star Seller badges and whether the listing is an ad. Returns: the run's dataset rows as structured JSON (one row per result), plus the run and dataset IDs for paging the full dataset. Behavior: starts one run of the Apify Actor "publicrecords/etsy-search-scraper" through Apify's hosted MCP gateway (mcp.apify.com) with your own APIFY_TOKEN; the run uses your Apify account. Read-only: it only reads public web data and changes nothing on the source site. Docs: https://apify.com/publicrecords/etsy-search-scraper
| Name | Type | Req | Description |
|---|---|---|---|
| categoryUrls | array | – | Etsy category pages, e.g. https://www.etsy.com/c/jewelry/necklaces (no query string). Read in Etsy's default order. |
| fillLazyCards | boolean | – | Etsy renders 12 cards and lazy-loads the rest (48 more on page 1). On, the run fetches them the way Etsy's own page does, so you get the whole page in rank order. Off, you get the 12 rendered cards p… |
| free_shipping | boolean | – | Only return listings with free shipping. |
| instant_download | boolean | – | Only return digital download listings. |
| is_best_seller | boolean | – | Keeps listings shown with Etsy's Bestseller badge on the search page. |
| is_discounted | boolean | – | Only return listings currently on sale. |
| is_handmade_only | boolean | – | Only return listings Etsy flags as handmade. |
| is_personalizable | boolean | – | Only return listings that offer personalization. |
| is_star_seller | boolean | – | Only return listings from Star Seller shops. |
| marketPhrases | array | – | Phrases for Etsy's /market/ pages (any phrase resolves). Example: personalized dog collar |
| maxCacheAgeHours | integer | – | Serve a keyword from our recent snapshot of the same search when it is at most this many hours old and holds every row you asked for; otherwise fetch live. Snapshot rows say data_source "cache", stal… |
| maxItems | integer | – | Stop after this many listing rows across all inputs. Raise it (or set 0 for no cap) to get more pages. |
| maxPages | integer | – | Pages per input, 1–20 (Etsy's own cap). On the Standby/MCP endpoint one call stops at 240 s and says so (truncated:true with pagesDone/pagesRequested); big jobs belong in a batch run. |
| maxPrice | integer | – | Highest price to include, whole units. Leave empty for no maximum. |
| max_processing_days | integer | – | Only return listings whose processing time is at most this many days (Etsy's ready-to-ship filter). |
| minPrice | integer | – | Leave empty for no minimum. |
| proxyConfiguration | object | – | Etsy blocks datacenter IPs. Default: Apify Proxy RESIDENTIAL, included in the event prices (no separate proxy or compute charge). Your own residential proxy works too. A blocked page is never charged. |
| queries | array | – | Keywords to search, one per line (e.g. ceramic mug). Each keyword lands on Etsy's /market page, then pages through Etsy's own search API — every listing on the page (rendered and lazy-loaded), in Ets… |
| ship_to | string | – | Two-letter code, e.g. US, GB, DE. |
| sort | string | – | Order of results, as on Etsy's own sort menu. Applies to search keywords (a market phrase with a sort set runs as a keyword search). Options: relevance = Relevance (Etsy default); newest = Newest; pr… |
| source | string | – | Optional free-text label for this run (for example the Make template that started it). Copied onto every listing row and onto RUN_SUMMARY so template runs can be filtered. Leave empty if you do not n… |
No output schema declared.
No examples provided.
publicrecords--etsy-shop-velocity Etsy Shop Sales Tracker & Scraper ~396
Etsy Shop Sales Tracker & Scraper. Track Etsy shop sales counters with this Etsy shop scraper: measured sales counts with the date each was read. When to use: Use when you need how many sales an Etsy shop has made, or how fast shops are selling, filtered by shop name, title keyword, category or change date. Returns one row per shop with the measured sales counter and the date it was read. Returns: the run's dataset rows as structured JSON (one row per result), plus the run and dataset IDs for paging the full dataset. Behavior: starts one run of the Apify Actor "publicrecords/etsy-shop-velocity" through Apify's hosted MCP gateway (mcp.apify.com) with your own APIFY_TOKEN; the run uses your Apify account. Read-only: it only reads public web data and changes nothing on the source site. Docs: https://apify.com/publicrecords/etsy-shop-velocity
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | Exact panel category label, matched case-insensitively, e.g. "kids & baby > toys", "home & living > home decor > scatter cushions", "art & collectibles > fine art ceramics". The label is filled for a… |
| keywords | array | – | Case-insensitive words matched against the shop title and headline. |
| maxShops | integer | – | Upper bound on rows returned (and charged). |
| minSales | integer | – | Only shops at or above this sales counter. |
| shops | array | – | Etsy shop names (the part after etsy.com/shop/). Leave empty to use the keyword or category filters. Example: ["OrelCeramics","Bestickend"] |
| since | string | – | ISO date. Return only shops whose counters changed since this date. Empty = all matching shops. |
No output schema declared.
No examples provided.
How do I install the Etsy Search & Shop Sales MCP server?
Etsy Search & Shop Sales MCP runs locally as a PyPI package, launched with uvx etsy-sales-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
pypi · etsy-sales-mcp
claude mcp add geminigeorge22-etsy-sales-mcp -- uvx etsy-sales-mcp
What is the Etsy Search & Shop Sales MCP server?
Etsy Search & Shop Sales MCP is listed in the public MCP registry as io.github.GeminiGeorge22/etsy-sales-mcp. Etsy search + Etsy shop sales: live listing rows and sales counters via Apify MCP. This page covers its PyPI package (etsy-sales-mcp).
Is the Etsy Search & Shop Sales MCP server safe to use?
Etsy Search & Shop Sales MCP scores 77 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 4 November 2026. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Etsy Search & Shop Sales MCP server expose?
Etsy Search & Shop Sales MCP exposes 2 tools: publicrecords--etsy-shop-velocity, publicrecords--etsy-search-scraper. Their descriptions and schemas cost roughly 1,353 tokens of context every time the server is loaded.
Is the Etsy Search & Shop Sales MCP server still maintained?
Etsy Search & Shop Sales MCP is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the Etsy Search & Shop Sales MCP server under?
Etsy Search & Shop Sales MCP declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.