# Etsy Search & Shop Sales MCP (pypi · etsy-sales-mcp)

Etsy search + Etsy shop sales: live listing rows and sales counters via Apify MCP.

- Trust score: 77/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-04

## Components

- remote · `mcp.apify.com`: 48/100, [markdown](https://verifymcp.io/servers/geminigeorge22-etsy-sales-mcp/mcp.md), [page](https://verifymcp.io/servers/geminigeorge22-etsy-sales-mcp/mcp)
- pypi · `etsy-sales-mcp`: 77/100 (this document), [markdown](https://verifymcp.io/servers/geminigeorge22-etsy-sales-mcp/etsy-sales-mcp.md), [page](https://verifymcp.io/servers/geminigeorge22-etsy-sales-mcp/etsy-sales-mcp)

## Channel facts

- Registry: `pypi`
- Package: `etsy-sales-mcp`
- Version: `0.2.1`
- Transport: `stdio`

## Trust breakdown

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. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-04.

- **Supply Chain Security**: 100/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - Runs hatchling.build at install time, a recognised build step with no custom scripting around it.
  - 1 of 28 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 100/100
  - Source repository is publicly reachable at the declared URL.
  - Cryptographically verified build provenance (signed, bound to GeminiGeorge22/etsy-sales-mcp).
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 0 days ago).
  - Publishes a security disclosure policy (SECURITY.md).
- **Schema Quality & AI Usability**: 50/100
  - AI-judged instruction clarity (good).
  - 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.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 2 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 3 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

**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.

## Install

### 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.

### Claude

```bash
claude mcp add geminigeorge22-etsy-sales-mcp -- uvx etsy-sales-mcp
```

### Cursor

```json
{
  "mcpServers": {
    "geminigeorge22-etsy-sales-mcp": {
      "command": "uvx",
      "args": [
        "etsy-sales-mcp"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "geminigeorge22-etsy-sales-mcp": {
      "command": "uvx",
      "args": [
        "etsy-sales-mcp"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add geminigeorge22-etsy-sales-mcp -- uvx etsy-sales-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "geminigeorge22-etsy-sales-mcp": {
      "type": "local",
      "command": [
        "uvx",
        "etsy-sales-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add geminigeorge22-etsy-sales-mcp --command uvx --arg etsy-sales-mcp
```

### Hermes

```yaml
mcp_servers:
  geminigeorge22-etsy-sales-mcp:
    command: "uvx"
    args: ["etsy-sales-mcp"]
```

### Netclaw

```json
{
  "McpServers": {
    "geminigeorge22-etsy-sales-mcp": {
      "Transport": "stdio",
      "Command": "uvx",
      "Arguments": [
        "etsy-sales-mcp"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add geminigeorge22-etsy-sales-mcp -t stdio -c uvx -a etsy-sales-mcp
```

### Other

```json
{
  "mcpServers": {
    "geminigeorge22-etsy-sales-mcp": {
      "command": "uvx",
      "args": [
        "etsy-sales-mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-04 (score 77, +15)

- [security improvement] Malware scan: unverified → pass

### 2026-11-03 (score 62)

First indexed and scored.

## MCP tools (2)

### `publicrecords--etsy-shop-velocity` (~396 tokens)

Etsy Shop Sales Tracker & Scraper

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

Input parameters:

- `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.

### `publicrecords--etsy-search-scraper` (~957 tokens)

Etsy Scraper — Listings, Prices & Best Sellers

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

Input parameters:

- `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…

## Diagnostics

Captured diagnostic sections: Provenance, Install scripts, Dependencies. The full working is on the page: https://verifymcp.io/servers/geminigeorge22-etsy-sales-mcp/etsy-sales-mcp#diagnostics

## Score history

- 2026-11-04: 77
- 2026-11-03: 62

## Common questions

### 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.

## Links

- PyPI project: https://pypi.org/project/etsy-sales-mcp/
- Socket report: https://socket.dev/pypi/package/etsy-sales-mcp
- Repository: https://github.com/GeminiGeorge22/etsy-sales-mcp
- Website: https://geminigeorge22.github.io/
- Changelog RSS feed: https://verifymcp.io/servers/geminigeorge22-etsy-sales-mcp/etsy-sales-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/geminigeorge22-etsy-sales-mcp/etsy-sales-mcp.json
- HTML version of this page: https://verifymcp.io/servers/geminigeorge22-etsy-sales-mcp/etsy-sales-mcp
