# Escrova (remote · www.escrova.io)

Search Amazon, eBay, Walmart and more and compare prices. Agents can search, not buy.

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

## Components

- remote · `www.escrova.io`: 72/100 (this document), [markdown](https://verifymcp.io/servers/io-escrova-escrova/api-mcp.md), [page](https://verifymcp.io/servers/io-escrova-escrova/api-mcp)

## Channel facts

- Endpoint: `https://www.escrova.io/api/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.0`

## 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**: 83/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC is configured correctly; the domain's records validate against the full chain to the root.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 69/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 1199 tokens (~149/item across 8 items; 8 tools + 0 resources), over budget; trim descriptions and params.
  - 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**: 80/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 39% 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 8 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 9 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 Escrova MCP server?

Escrova is a hosted endpoint at https://www.escrova.io/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 io-escrova-escrova 'https://www.escrova.io/api/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "io-escrova-escrova": {
      "url": "https://www.escrova.io/api/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "io-escrova-escrova": {
      "type": "http",
      "url": "https://www.escrova.io/api/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.io-escrova-escrova]
url = "https://www.escrova.io/api/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "io-escrova-escrova": {
      "type": "remote",
      "url": "https://www.escrova.io/api/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add io-escrova-escrova --url 'https://www.escrova.io/api/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  io-escrova-escrova:
    url: "https://www.escrova.io/api/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "io-escrova-escrova": {
      "Transport": "http",
      "Url": "https://www.escrova.io/api/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add io-escrova-escrova -t streamable-http -u 'https://www.escrova.io/api/mcp'
```

### Other

```json
{
  "mcpServers": {
    "io-escrova-escrova": {
      "type": "http",
      "url": "https://www.escrova.io/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 72, +7)

- [security improvement] Authorization: unverified → partial
- [functional improvement] Stability: unverified → 0.03

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

First indexed and scored.

## MCP tools (8)

### `search_products` (~329 tokens)

Search the connected marketplaces

Search products across the marketplaces Escrova can actually buy from today. Six sources are searchable: amazon, ebay, walmart, bestbuy, homedepot, wayfair, or "all". GET /api/products/search. No wallet and no signature. Send q, cat, or both; page and every selected filter are preserved together. A brands[].engineParam returned by get_category goes into engineParam here and is sent as the typed eBay aspect filter, while Google refinements use shoprs. The REST pagination and degraded-source metadata are returned unchanged. A search is one guess at what somebody meant and it spends a paid provider call; when you know roughly what department a thing is in, list_categories and get_category narrow further for less.

Input parameters:

- `cat` (string): Department slug, category id, or <id>-<slug> returned by get_category.
- `ebayAspectFilter` (string)
- `ebayCategoryId` (string)
- `ebayConditionIds` (string)
- `engineParam` (string): A brands[].engineParam from get_category; sent only as ebayAspectFilter.
- `freeShipping` (boolean)
- `limit` (integer)
- `maxPrice` (number)
- `minPrice` (number)
- `minRating` (number)
- `page` (integer)
- `q` (string): What to search for. Optional when cat is supplied.
- `shoprs` (string): A Google filter option whose engineParamType is shoprs.
- `sort` (string)
- `source` (string)

### `get_fees` (~41 tokens)

What Escrova charges

The current fee schedule and delivery rates, so a total can be explained before anyone pays it. GET /api/config/fees. No wallet and no signature.

### `get_prices` (~41 tokens)

Live coin prices

Current USD prices of the coins shown on Escrova. GET /api/prices. No wallet and no signature. Checkout on this deployment takes USDC only.

### `get_terms` (~59 tokens)

The terms to accept, with their version and hash

Returns the current Terms of Service and Privacy Policy version and document hash. These are the exact values accept_terms will record; they are read server-side and never taken from your request. GET /api/agent/legal/terms. No wallet and no signature.

### `list_categories` (~117 tokens)

The sixteen department doors

Start a shopping task here instead of guessing search words. Returns the sixteen departments, each with the slug get_category takes and a picture. A keyword search is one guess at what somebody meant; a department is the shop's own shelf, and get_category on one hands you the brands, the filters and a page of listings in a single call. GET /api/agent/browse/categories. No wallet and no signature. Served from cache; a department whose picture has gone cold costs one call against the catalogue quota this site shares with its shoppers.

### `get_category` (~233 tokens)

Read one shelf: children, brands, filters and a deals rail

Narrow towards a purchase without inventing keywords. One call returns children[] and childrenDeep[] with estimated counts, brands[] each with an engineParam you can pass straight back to search_products.engineParam, the shop's own facets[], aspectTiles[], siblings[], related[] and a deals[] rail. GET /api/agent/browse/tree/<slug>, or GET /api/agent/browse/tree/<slug>/<nodeId> for any category under a department. No wallet and no signature. contentAt is when those deal prices were read: send it as a candidate's priceAt to compare_landed_cost, which is the shortlist this call is meant to fill. Counts are estimates and countScope says so. A shelf already read answers from cache; a cold one costs one call against the catalogue quota shared with shoppers, so read the shelf you want rather than walking the tree.

Input parameters:

- `nodeId` (string): A category id under that department, from children[].id or childrenDeep[].id. Omit for the department itself.
- `slug` (string, required): The `slug` field of a department from list_categories.

### `get_directory` (~101 tokens)

The whole shop in one payload

Every department, the groups under it and the links under those, for picking a shelf in one read rather than walking down to it. GET /api/agent/browse/directory. No wallet and no signature. Built ONLY from rows already cached, so it costs no catalogue call at all and a picture or count nobody has fetched yet comes back null rather than being fetched for you. Prefer this over repeated get_category calls when you are still deciding where to look.

### `get_deals` (~166 tokens)

What is discounted right now

For a "find something on offer" task. GET /api/agent/browse/deals?tab=<tab>, where tab is markdowns, refurbished, top-rated, brands, or door:<slug> for one department. No wallet and no signature. Every item carries cachedAt, which is when that price was true: pass it as a candidate's priceAt to compare_landed_cost. A selection over rows this site has already cached, so it costs no catalogue call. An unknown tab is refused with 400 rather than guessed at. A sticker discount is not a cheaper order: rank with compare_landed_cost before you quote.

Input parameters:

- `tab` (string, required): markdowns, refurbished, top-rated, brands, or door:<slug> with a slug from list_categories.

## Diagnostics

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

## Score history

- 2026-11-05: 72
- 2026-11-04: 65

## Common questions

### What is the Escrova MCP server?

Escrova is an MCP server listed in the public MCP registry as io.escrova/escrova. Search Amazon, eBay, Walmart and more and compare prices. Agents can search, not buy. This page covers its hosted endpoint (https://www.escrova.io/api/mcp).

### Is the Escrova MCP server safe to use?

Escrova scores 72 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 Escrova MCP server expose?

Escrova exposes 8 tools: search_products, get_fees, get_prices, get_terms, list_categories, and 3 more. Their descriptions and schemas cost roughly 1,087 tokens of context every time the server is loaded.

### Does the Escrova MCP server require authentication?

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

### Is the Escrova MCP server still maintained?

Escrova 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://www.escrova.io/api/mcp
- Website: https://www.escrova.io/agents
- Changelog RSS feed: https://verifymcp.io/servers/io-escrova-escrova/api-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/io-escrova-escrova/api-mcp.json
- HTML version of this page: https://verifymcp.io/servers/io-escrova-escrova/api-mcp
