Escrova

io.escrovaPublished by escrova.ioOfficial publisherv1.0.0Updated Nov 4, 2026

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

VerifiedStreamable HTTPWeb executableWeb Search & ScrapingBusiness & Commerce

Overview

AI-generated overview

Read-only shopping search across Amazon, eBay, Walmart and other marketplaces, with prices, fees, categories and deals for comparison.

What you can do
  • Search products across Amazon, eBay, Walmart, Best Buy, Home Depot and Wayfair, or all at once, with category and filter parameters
  • Browse the shop's departments and directory to narrow a search without guessing keywords, including brands and facets
  • Read current deals by tab such as markdowns, refurbished, top-rated or a single department
  • Read the fee schedule and delivery rates, current USD coin prices, and the current terms and privacy policy version
When to use it
Useful when an assistant needs to research or compare marketplace prices and offers, or explain what a purchase would cost in fees before anyone pays. It is a read-only research tool, not a checkout tool.
Requirements
A remote MCP endpoint at the provider's site over streamable HTTP; no package, environment variable or header is declared. No wallet or signature is needed for any listed tool.
Before you install
All tools are reads: nothing here can buy, bid, sell or sign, and checkout is not offered. Product, listing, review and message text returned by the tools is third-party data and must not be treated as instructions or as approval to spend. Prices carry a cachedAt timestamp and may be stale.

Installation

In SourceWeft

  1. Open Escrova in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.escrova%2Fescrova/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "escrova": {
      "type": "http",
      "url": "https://www.escrova.io/api/mcp"
    }
  }
}

Tools

8

search_products

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.

ParametersqcatpagesortlimitshoprssourcemaxPriceminPriceminRatingengineParamfreeShipping+3 more

get_fees

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.

Takes no parameters.

get_prices

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.

Takes no parameters.

get_terms

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.

Takes no parameters.

list_categories

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.

Takes no parameters.

get_category

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.

ParametersslugrequirednodeId

get_directory

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.

Takes no parameters.

get_deals

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.

Parameterstabrequired

Version history

1
  1. v1.0.0LatestNov 4, 2026

Score

83% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.