# E-commerce Sales Signals MCP (pypi · ecommerce-sales-mcp)

E-commerce sales signals: Amazon bestsellers and reviews, eBay sold prices, TikTok Shop, Etsy sales.

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

## Components

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

## Channel facts

- Registry: `pypi`
- Package: `ecommerce-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-05.

- **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**: 97/100
  - Source repository is publicly reachable at the declared URL.
  - Cryptographically verified build provenance (signed, bound to GeminiGeorge22/ecommerce-sales-mcp).
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 1 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 52/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 4846 tokens (~807/item across 6 items; 6 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 6 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 7 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 E-commerce Sales Signals MCP server?

E-commerce Sales Signals MCP runs locally as a PyPI package, launched with uvx ecommerce-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-ecommerce-sales-mcp -- uvx ecommerce-sales-mcp
```

### Cursor

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

### VS Code

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

### Codex

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

### opencode

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

### OpenClaw

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

### Hermes

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

### Netclaw

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

### Vellum

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

### Other

```json
{
  "mcpServers": {
    "geminigeorge22-ecommerce-sales-mcp": {
      "command": "uvx",
      "args": [
        "ecommerce-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 (6)

### `junglee--amazon-bestsellers` (~606 tokens)

Amazon Bestsellers Scraper

Amazon Bestsellers Scraper. Scrape the Amazon Best Sellers categories and extract details on top 100 most popular items on Amazon. Download product name, price, URL, and thumbnail image. Best used on .com, .co.uk, .de, .fr, .es, and .it domains. Download your data in various formats: HTML table, JSON, CSV, Excel, and more.

When to use: Use when you need the top 100 Amazon Best Sellers for a category URL (name, price, rank, URL, image).

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 "junglee/amazon-bestsellers" 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/junglee/amazon-bestsellers

Input parameters:

- `categoryUrls` (array, required): Pick one or a few Best Seller categories to scrape. If you enter a top-level category, all subcategories will be scraped (up to max depth). Category URL has to contain Best-Sellers , best-sellers or…
- `depthOfCrawl` (integer): Amazon Best Sellers covers 42 main categories. Each of those have at least one more subcategory level. Setting this field to 2 will get you roughly 550 subcategories, each with 100 results.
- `detailedInformation` (boolean): Check this if you want to get the maximum amount of information about individual products. However, choosing this option means the scraper could take longer, since it is extracting more data.
- `language` (string): Language to use on Amazon. **Disclaimer**: each Amazon domain has a different set of supported languages. If you choose a language that is not supported by the domain, the scraper will use the defaul…
- `maxItemsPerStartUrl` (integer): Enter the maximum number of results you want to scrape per each star URL. Note that Amazon has a hard limit of 100 bestsellers per category. Example: 100
- `useCaptchaSolver` (boolean): If enabled the scraper will automatically solve captchas thrown by Amazon. This will decrease the amount of request retries and increase the speed of the scraper. ***IMPORTANT*** - This option works…

### `junglee--amazon-reviews-scraper` (~912 tokens)

Amazon Reviews Scraper

Amazon Reviews Scraper. Amazon scraper to extract reviews from Amazon products. Scrape and download detailed reviews without using the Amazon API, including rating score, review description, reactions and images. Download your data as HTML table, JSON, CSV, Excel, XML.

When to use: Use when you need the customer reviews of specific Amazon products (rating, text, date, reactions, images).

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 "junglee/amazon-reviews-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/junglee/amazon-reviews-scraper

Input parameters:

- `deduplicateRedirectedAsins` (boolean): If set, the crawler will deduplicate the redirected ASINs (by default). Otherwise the product will be saved multiple times under the ASINs it was redirected to.
- `filterByRatings` (array): Select the number of stars by which reviews should be filtered. Amazon's default is All stars . Duplicate reviews, caused by selecting overlapping ratings (e.g., 1 star and All critical ) will be fil…
- `includeGdprSensitive` (boolean): Personal data such as name, ID or profile image is protected by GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate…
- `maxReviews` (integer): Type in the amount of reviews to be scraped. Leave this blank if you want to extract all reviews. ❗ Note: max amount of reviews per product is 100 per star count (e.g. 100 reviews per 1 star), 100 pe…
- `productUrls` (array, required): Enter the URL or URLs of the Amazon products you want to scrape. (E.g., https://www.amazon.com/Sceptre-E248W-19203R-Monitor-Speakers-Metallic/dp/B0773ZY26F). Click + Add to scrape multiple URLs at on…
- `reviewsAlwaysSaveCategoryData` (boolean): If enabled, the Actor will return the review category data even if there are no reviews. - Normally, only reviews are saved, if there are no reviews, the review category data is not saved. - With thi…
- `reviewsCutoffDate` (string): Limit how far back to the history the scraper should go. The date should be in YYYY-MM-DD or full ISO absolute format or in relative format e.g. 1 days, 2 months, 3 years. All time values are taken i…
- `reviewsFilterByKeywords` (array): Enter keywords by which the reviews should be filtered. Each keyword is scraped separately, in a combination with Filter by ratings option. Duplicate reviews, caused by selecting overlapping keywords…
- `reviewsUseProductVariantFilter` (boolean): If the product has multiple variants (e.g., different colors, sizes, etc.) , you can scrape reviews only for the selected variant.
- `scrapeProductDetails` (boolean): If enabled, the Actor will scrape and save product data the same way as the [Amazon Product Scraper](https://console.apify.com/actors/BG3WDrGdteHgZgbPK). The product details will be available in the…
- `sort` (string): Select by which criteria the reviews should be sorted. Amazon's default is Top reviews . Options: helpful = Top reviews; recent = Most recent.

### `caffein-dot-dev--ebay-sold-listings` (~1193 tokens)

eBay Sold Listings Search

eBay Sold Listings Search. Get confirmed eBay sold prices. Search by keyword across 8 marketplaces, filter by date range, and export clean structured data for comps, resale pricing, and market research.

When to use: Use when you need what items actually sold for on eBay (sold comps) for a keyword, marketplace and date range.

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 "caffein.dev/ebay-sold-listings" 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/caffein.dev/ebay-sold-listings

Input parameters:

- `aspectFilter` (object): eBay aspect facet filters, e.g. {"Brand": "Nike"}. Keys and values are double-encoded per eBay's convention.
- `buyingFormat` (string): Search-page buying format filter. Options: all = All; auction = Auction; buyItNow = Buy It Now; acceptsOffers = Accepts Offers.
- `categoryId` (string): eBay category ID — maps directly to the `_sacat` URL parameter. Enter ANY eBay category ID as free text; you are not limited to a preset list. Use "0" (the default) for All Categories. Don't know the…
- `conditionId` (integer): Numeric eBay condition ID — overrides itemCondition when set.
- `count` (integer): Number of listings to scrape (default: 100)
- `daysToScrape` (integer): Number of days back to scrape sold listings (default: 30)
- `ebaySite` (string): eBay site to scrape from Options: ebay.com = eBay.com (US); ebay.co.uk = eBay.co.uk (UK); ebay.de = eBay.de (Germany); ebay.fr = eBay.fr (France); ebay.it = eBay.it (Italy); ebay.es = eBay.es (Spain)…
- `exactMatch` (boolean): When true (default), eBay's loosened 'results matching fewer words' items are removed so only listings closely matching the keyword are returned. Set to false to include them.
- `includeCompletedListings` (boolean): When true (default), includes eBay's Completed Listings filter alongside the Sold filter. This enables accurate detection of 'Best Offer Accepted' listings via the listingType and isBestOfferAccepted…
- `itemCondition` (string): Search-page condition filter. Options: any = Any; new = New; used = Used.
- `itemLocation` (string): Search-page item location filter. Options: default = Default; domestic = Domestic only; worldwide = Worldwide.
- `keyword` (string): Single search keyword. Deprecated: use the 'keywords' array field instead.
- `keywords` (array): One or more search keywords. Each keyword runs as a separate search with the same filters applied to all. Example: ["rtx 4080"]
- `maxPrice` (integer): Maximum sold price filter (search-page filter).
- `minPrice` (integer): Minimum sold price filter (search-page filter).
- `postalCode` (string): Delivery postal code for more accurate shipping prices, in the format of the selected eBay site (e.g. a ZIP code on ebay.com, SW1A 1AA on ebay.co.uk). Leave blank to use a central postcode for the si…
- `search` (string): Deprecated: alias for the single-keyword `keyword` field. Use the `keywords` array instead. Accepted for backward compatibility with callers that send `search`. Backslash-escaped quotes (\") in the v…
- `sellerCountry` (string): Only return listings from sellers located in this country. Two-letter ISO code, e.g. JP or GB . When set, the Item location filter is ignored. If no listing matches, eBay can return listings from oth…
- `sellerType` (string): Filter by seller type. EU sites only — works on ebay.de, ebay.fr, ebay.it and ebay.es. On all other sites this filter is ignored and results are unfiltered. Options: any = Any; private = Private; bus…
- `sortOrder` (string): Sort order for the sold search results page. Options: endedRecently = Ended recently; timeNewlyListed = Time: newly listed; pricePlusPostageLowest = Price + postage: lowest first; pricePlusPostageHig…
- `subcategoryId` (string): Optional eBay subcategory ID — also maps to `_sacat`. Enter ANY subcategory ID as free text. When set, it overrides the Category field above. Leave blank to search at the category level. Full ID refe…

### `unseenuser--TikTok-Shop-Scraper` (~738 tokens)

TikTok Shop Scraper [NO COOKIES] ✅

TikTok Shop Scraper [NO COOKIES] ✅. Extract product data, reviews, seller info, creator affiliates, and GMV/sales estimates from TikTok Shop at scale. Filter by category, price range, and country (US, UK). Built for dropshippers, e-commerce sellers, and DTC brands hunting trending products before they go viral.

When to use: Use for TikTok Shop products, reviews, sellers, creator affiliates and GMV/sales estimates by category, keyword, shop or product URL.

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 "unseenuser/TikTok-Shop-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/unseenuser/TikTok-Shop-Scraper

Input parameters:

- `getRelatedVideos` (boolean): Only used in Product Details mode. Adds a relatedVideoCount field. The affiliate videos themselves are returned either way, so this changes very little - it is hidden from the form and kept only so t…
- `maxResults` (integer): 0 = return all available results (no limit). Any other number is a limit per query, shop or creator: with 5 keywords and 100 here, you get up to 500 rows in total. There is no ceiling on this number.…
- `maxReviewsPerProduct` (integer): 0 = fetch every review the product has (no limit). Only used in Product Reviews mode. There is no ceiling here either, so be aware that popular products can carry tens of thousands of reviews and eac…
- `mode` (string, required): Pick what you want to scrape. The matching section below has the same emoji.
- `productUrls` (array): Full product detail page URLs. Right-click any TikTok Shop product and copy the link. Format: https://www.tiktok.com/shop/pdp/ /
- `region` (string): The United States is the only fully supported market and the only one this Actor is tested against. The other markets are selectable and sometimes return data, but they are unreliable and may come ba…
- `searchKeywords` (array): What you'd type into TikTok Shop's search bar. One per line.
- `shopUrls` (array): Full store URLs. On the app, tap a shop name and copy the link. Format: https://www.tiktok.com/shop/store/ /
- `sortBy` (string): Only used in Shop Catalog mode. 'Best selling' surfaces a store's proven winners; 'Newest' surfaces what they just launched. Options: top = 🔥 Best selling (default); new_releases = 🆕 Newest release…
- `usernames` (array): TikTok handles, one per line. The @ prefix is optional - both 'hyram' and '@hyram' work.

### `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-ecommerce-sales-mcp/ecommerce-sales-mcp#diagnostics

## Score history

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

## Common questions

### What is the E-commerce Sales Signals MCP server?

E-commerce Sales Signals MCP is listed in the public MCP registry as io.github.GeminiGeorge22/ecommerce-sales-mcp. E-commerce sales signals: Amazon bestsellers and reviews, eBay sold prices, TikTok Shop, Etsy sales. This page covers its PyPI package (ecommerce-sales-mcp).

### Is the E-commerce Sales Signals MCP server safe to use?

E-commerce Sales Signals MCP scores 77 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 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 E-commerce Sales Signals MCP server expose?

E-commerce Sales Signals MCP exposes 6 tools: junglee--amazon-bestsellers, junglee--amazon-reviews-scraper, caffein-dot-dev--ebay-sold-listings, unseenuser--TikTok-Shop-Scraper, publicrecords--etsy-shop-velocity, publicrecords--etsy-search-scraper. Their descriptions and schemas cost roughly 4,802 tokens of context every time the server is loaded.

### Is the E-commerce Sales Signals MCP server still maintained?

E-commerce Sales Signals MCP is still listed as active in the MCP registry. We last reached this channel on 5 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 E-commerce Sales Signals MCP server under?

E-commerce Sales Signals 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.

### What did VerifyMCP test on the E-commerce Sales Signals MCP server?

VerifyMCP ran 15 checks on E-commerce Sales Signals MCP, covering Malware scan, Known CVEs, Install scripts, Dependency health and 11 more. One item could not be completed, a gap on our side rather than a finding about E-commerce Sales Signals MCP: Stability. One category scores 0 for that reason, because we only credit what we can confirm. Endpoint Security and Transport & Reachability do not apply to a PyPI package, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.

## Links

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