# Ecommerce Leads (remote · getecommerceleads.com)

Ecommerce store metrics by domain: revenue, ad spend, traffic. Log in to search 600k+ stores.

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

## Components

- remote · `getecommerceleads.com`: 67/100 (this document), [markdown](https://verifymcp.io/servers/com-getecommerceleads-ecommerce-leads/api-mcp.md), [page](https://verifymcp.io/servers/com-getecommerceleads-ecommerce-leads/api-mcp)

## Channel facts

- Endpoint: `https://getecommerceleads.com/api/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.1.1`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, 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.

- **Endpoint Security**: 63/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (revealStores).
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 75/100
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 2181 tokens (~103/item across 21 items; 21 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 3/100
  - Stability observed for 1 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 98/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 94% 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.
  - All 4 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.
  - An AI judge read all 22 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the Ecommerce Leads MCP server?

Ecommerce Leads is a hosted endpoint at https://getecommerceleads.com/api/mcp, so there is nothing to install locally. 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 --transport http com-getecommerceleads-ecommerce-leads 'https://getecommerceleads.com/api/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "com-getecommerceleads-ecommerce-leads": {
      "url": "https://getecommerceleads.com/api/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "com-getecommerceleads-ecommerce-leads": {
      "type": "http",
      "url": "https://getecommerceleads.com/api/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.com-getecommerceleads-ecommerce-leads]
url = "https://getecommerceleads.com/api/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-getecommerceleads-ecommerce-leads": {
      "type": "remote",
      "url": "https://getecommerceleads.com/api/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-getecommerceleads-ecommerce-leads --url 'https://getecommerceleads.com/api/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-getecommerceleads-ecommerce-leads:
    url: "https://getecommerceleads.com/api/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "com-getecommerceleads-ecommerce-leads": {
      "Transport": "http",
      "Url": "https://getecommerceleads.com/api/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add com-getecommerceleads-ecommerce-leads -t streamable-http -u 'https://getecommerceleads.com/api/mcp'
```

### Other

```json
{
  "mcpServers": {
    "com-getecommerceleads-ecommerce-leads": {
      "type": "http",
      "url": "https://getecommerceleads.com/api/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## 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-05 (score 67, 0)

- [functional improvement] Stability: unverified → 0.03

### 2026-11-04 (score 67)

First indexed and scored.

## MCP tools (21)

### `lookupStore` (~175 tokens)

Look up a store

Look up one ecommerce store by domain. The reply has company data, estimated revenue, marketing budget, traffic, Google and Meta ad spend, ad counts, a Conversion Rate Score, buying signals, the store phone number, and social and ad-library links. Decision-maker contact fields are not in the fields list. With OAuth access, the decisionMakers object shows the contacts that you revealed. When other active stores use the same base domain, the reply has sharedMetrics. Those stores show the same traffic and ad numbers, because the data belongs to the base domain. Limits: anonymous access, 20 lookups per hour per IP. OAuth access, 20 lookups per minute, and the call writes a lookup history row.

Input parameters:

- `domain` (string, required): The store domain, for example example.com. A full URL also works.

### `searchStores` (~391 tokens)

Search stores

Search the store catalog like the Ecommerce Leads dashboard. Returns 30 rows per page. Stores you have not revealed show masked values for the hidden fields; revealed stores show the real values. By default, each row has storeId, 9 key columns (Industry, Country, revenue, Total Traffic, Google and Meta ad spend, Buying Signals, Buying Signals List, Status) and a short "reveal" object (revealed, contactTypes, pendingTypes). Use the columns argument to choose other columns, or ["*"] for all columns and the full reveal object. The result has the column list only when includeColumns is true. The result has the exact total. If the count fails, the result has totalAtLeast (a lower bound that grows on each page) and a note. Use hasMore to decide whether to fetch the next page, and do not report totalAtLeast as the number of matches. When other active stores use the same base domain, the row has sharedMetrics {basedomain, relatedStoreCount}. Those stores show the same traffic and ad numbers, because the data belongs to the base domain.

Input parameters:

- `columns` (array): The column keys to return in each row. Use ["*"] for all columns. If you omit it, the default set is returned. An unknown key gives an error that lists the valid keys.
- `filters` (array): Column filters. All filters must match.
- `includeColumns` (boolean): Set to true to get the column list (key, label, type) in the result. Default false.
- `page` (integer): Page number, starting at 1.
- `sort` (object)
- `tab` (string): Which stores to search: all (default), revealed, set:{id} for a signal set, or watchlist:{id} for a watchlist. Free plans can use all and revealed only.

### `getStoreChart` (~56 tokens)

Get store metric chart

Get the latest 24 points of one metric for a store, for a chart. Values use your currency.

Input parameters:

- `domain` (string, required): The store domain, for example example.com.
- `metric` (string, required): The metric name.

### `listSignalSets` (~32 tokens)

List signal sets

List your signal sets, with the signal catalog and the ICP columns you can use in criteria. Paid plans only.

### `getSignalSet` (~40 tokens)

Get a signal set

Get one of your signal sets, with its criteria. Paid plans only.

Input parameters:

- `setId` (integer, required): The signal set id from listSignalSets.

### `previewSignalSet` (~177 tokens)

Preview a signal set

Check whether candidate signal criteria match enough stores (80 or more). Returns {"enough": true|false}. It does not save anything. Paid plans only.

Input parameters:

- `criteria` (object, required): Either {"root": node} with a recursive tree, or the flat form {"signalIds": [...], "legacyCategories": [...], "icpFilters": [...]}. A node is {"type":"group","op":"AND"|"OR","children":[...]}, {"type…
- `setId` (integer): Optional. The id of a set you are editing.

### `listWatchlists` (~28 tokens)

List watchlists

List your watchlists and your blacklist, with the domain count of each. Paid plans only.

### `getWatchlist` (~78 tokens)

Get a watchlist

Get the domains of one watchlist or the blacklist, 100 per page. To see store data for a watchlist, call searchStores with tab "watchlist:{id}". Paid plans only.

Input parameters:

- `listId` (integer, required): The list id from listWatchlists.
- `page` (integer): Page number, starting at 1.

### `getRevealCost` (~77 tokens)

Get reveal cost

Preview the credit cost of a reveal. Nothing is charged and nothing is revealed. Returns the cost of each action (details, ceo, marketing, ecommerce) for the selected stores.

Input parameters:

- `selection` (object, required): The stores to price. Pass either "ids", or "tab" with optional "filters" and "deselected".

### `getRevealStatus` (~41 tokens)

Get reveal status

Check the status of contact searches you started in the dashboard, and your credit balance. Read only.

Input parameters:

- `storeIds` (array, required): Store ids to check.

### `revealStores` (~188 tokens)

Reveal stores (spends credits)

Reveal data for stores. THIS SPENDS CREDITS. Before you call it, call getRevealCost for the same selection and tell the user the cost, or state the cost of 1 credit per store, then ask the user to confirm. Never call it without the confirmation. details unlocks the profile links, buying signals and phone. ceo, marketing and ecommerce start a decision-maker contact search (1 credit per store, +1 for a store whose details are not revealed yet). A store you already revealed costs 0. If you have too few credits, the result shows the cost and your balance, and nothing is charged. Use getRevealStatus to follow a contact search.

Input parameters:

- `action` (string, required): What to reveal.
- `selection` (object, required): The stores to price. Pass either "ids", or "tab" with optional "filters" and "deselected".

### `saveSignalSet` (~170 tokens)

Save a signal set

Create a signal set, or replace the criteria of an existing one. Without setId it creates a new set (the plan limit applies). With setId it updates that set and replaces all its signals, legacy categories and ICP filters with the new criteria. Conditions that you did not set (saved custom SQL conditions) stay on the set, joined with AND. Then the reply has preservedConditions, the number of these conditions. Use previewSignalSet first to check that the criteria match enough stores. Paid plans only.

Input parameters:

- `criteria` (object, required): The criteria, in the same format as previewSignalSet.
- `name` (string): Optional. The name of a new set.
- `setId` (integer): Optional. The id of the set to update. Leave it out to create a set.

### `deleteSignalSet` (~77 tokens)

Delete a signal set

Delete one of your signal sets. The set stops matching stores and disappears from listSignalSets and from the dashboard tabs. You cannot undo this. Ask the user to confirm before you call it. Say the name of the set in your question. Paid plans only.

Input parameters:

- `setId` (integer, required): The set id from listSignalSets.

### `createWatchlist` (~42 tokens)

Create a watchlist

Create an empty watchlist. You can have at most 10 lists, including the blacklist. Paid plans only.

Input parameters:

- `name` (string, required): The list name.

### `renameWatchlist` (~51 tokens)

Rename a watchlist

Rename one of your watchlists. The blacklist cannot be renamed. Paid plans only.

Input parameters:

- `listId` (integer, required): The list id from listWatchlists.
- `name` (string, required): The new name.

### `deleteWatchlist` (~55 tokens)

Delete a watchlist

Delete one of your watchlists with all its domains. The blacklist cannot be deleted. Ask the user to confirm before you call it. Paid plans only.

Input parameters:

- `listId` (integer, required): The list id from listWatchlists.

### `removeFromWatchlist` (~57 tokens)

Remove stores from a watchlist

Remove one domain from a watchlist or from the blacklist. Paid plans only.

Input parameters:

- `domain` (string, required): The exact domain as getWatchlist shows it.
- `listId` (integer, required): The list id from listWatchlists.

### `addToWatchlist` (~144 tokens)

Add stores to a watchlist (spends credits)

Add domains to a watchlist (merge, nothing is removed). THIS SPENDS CREDITS: 1 credit per domain that is new to the list. Before you call it, tell the user the cost of 1 credit per store and how many domains you will add, then ask the user to confirm. Never call it without the confirmation. If you have too few credits, the result shows the cost and your balance, and nothing is added. Paid plans only.

Input parameters:

- `domains` (array, required): The store domains to add, for example example.com. At most 50 per call.
- `listId` (integer, required): The list id from listWatchlists.

### `updateOutreachStatus` (~91 tokens)

Update outreach status

Set the outreach status of one store that you revealed. Use the storeId from a searchStores row. If you did not reveal the store, the tool returns an error. Use revealStores first. A store in a revealed group is accepted at no credit cost.

Input parameters:

- `status` (string, required)
- `storeId` (integer, required): The store id (the storeId field of a searchStores row).

### `sendFeedback` (~36 tokens)

Send feedback

Send a feedback message to the Ecommerce Leads team. Limit: 5 messages per hour.

Input parameters:

- `message` (string, required): The feedback text.

### `exportStores` (~118 tokens)

Export revealed stores

Export revealed stores as CSV text. Stores you have not revealed are skipped. The result holds the header row and at most 200 data rows; it says when it cut the rows. For a larger export, narrow the selection or download the file in the dashboard. Paid plans only.

Input parameters:

- `selection` (object, required): The stores to price. Pass either "ids", or "tab" with optional "filters" and "deselected".
- `visibleColumns` (array): Optional. The column names to export. Leave it out for all columns.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-getecommerceleads-ecommerce-leads/api-mcp#diagnostics

## Score history

- 2026-11-05: 67
- 2026-11-04: 67

## Common questions

### What is the Ecommerce Leads MCP server?

Ecommerce Leads is an MCP server listed in the public MCP registry as com.getecommerceleads/ecommerce-leads. Ecommerce store metrics by domain: revenue, ad spend, traffic. Log in to search 600k+ stores. This page covers its hosted endpoint (https://getecommerceleads.com/api/mcp).

### Is the Ecommerce Leads MCP server safe to use?

Ecommerce Leads scores 67 out of 100 on VerifyMCP. 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 Ecommerce Leads MCP server expose?

Ecommerce Leads exposes 21 tools: lookupStore, searchStores, getStoreChart, listSignalSets, getSignalSet, and 16 more. Their descriptions and schemas cost roughly 2,124 tokens of context every time the server is loaded.

### Does the Ecommerce Leads MCP server require authentication?

No. We connected to Ecommerce Leads without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the Ecommerce Leads MCP server still maintained?

Ecommerce Leads 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.

## Links

- Remote endpoint: https://getecommerceleads.com/api/mcp
- Repository: https://github.com/matosdfm/ecommerce-leads-mcp
- Website: https://getecommerceleads.com/docs
- Changelog RSS feed: https://verifymcp.io/servers/com-getecommerceleads-ecommerce-leads/api-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-getecommerceleads-ecommerce-leads/api-mcp.json
- HTML version of this page: https://verifymcp.io/servers/com-getecommerceleads-ecommerce-leads/api-mcp
