Search / com.espressosteals/catalog
Espresso Steals
R0· no sign-inEspresso gear price history: live Amazon prices, 2+ years of daily data, BUY calls at verified lows.
v1.0.0 · active · website · descriptor JSON · versions
Search / com.espressosteals/catalog
R0· no sign-inEspresso gear price history: live Amazon prices, 2+ years of daily data, BUY calls at verified lows.
v1.0.0 · active · website · descriptor JSON · versions
{
"mcpServers": {
"catalog": {
"type": "http",
"url": "https://espressosteals.com/api/mcp"
}
}
}claude mcp add --transport http catalog https://espressosteals.com/api/mcp[mcp_servers.catalog]
url = "https://espressosteals.com/api/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"catalog": {
"type": "remote",
"url": "https://espressosteals.com/api/mcp",
"enabled": true
}
}
}{
"mcpServers": {
"catalog": {
"type": "http",
"url": "https://espressosteals.com/api/mcp"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=catalog&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vZXNwcmVzc29zdGVhbHMuY29tL2FwaS9tY3AifQ%3D%3D"
}{
"servers": {
"catalog": {
"type": "http",
"url": "https://espressosteals.com/api/mcp"
}
}
}{
"mcpServers": {
"catalog": {
"httpUrl": "https://espressosteals.com/api/mcp"
}
}
}extensions:
"catalog":
enabled: true
name: "catalog"
type: streamable_http
uri: "https://espressosteals.com/api/mcp"
timeout: 300
protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28protocol.statelessonly applies to 2026-07-28 serversprotocol.transportstreamable HTTPprotocol.list_ttlonly applies to 2026-07-28 serversauth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_lengthdescriptions are concisetools.schemasevery tool has an object input schematools.annotations4 of 4 tools declare readOnlyHint or destructiveHinttools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHinttools.token_costabout 961 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changes3 tool changes in 30 daysstability.rug_pull1 tools kept their name but changed most of their description in 30 days; review before trusting themdeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packageget_productchangeddescription, input schemaFull detail for one tracked product by slug: community sentiment, reference price and basis, date of the latest price observation, portafilter size (machines) or accessory size (sized accessories), superautomatic / manual-lever / hand-grinder flags, product URL and Amazon link.
Full detail for one product by slug: community sentiment, reference price and basis, date of the latest price observation, portafilter size (machines) or accessory size (sized accessories), superautomatic / manual-lever / hand-grinder flags, product URL and Amazon link. A known product with no price returns price null, the reason, and priced alternatives. An unknown slug returns did_you_mean.
search_catalogchangeddescription, input schemameaning changedSearch the espresso gear this site tracks (every result has a live Amazon price and, when it is at a genuine low, a BUY call computed from its own price history; otherwise no call). Filter by slot (the role a product plays in a setup), free-text words matched against name/brand/notes, a price band, a brand, or on-sale only. Returns up to `limit` products with price, verdict and a one-line note. Call it more than once with different filters; broaden if a search returns nothing.
Search the espresso gear this site tracks. `products` have a live Amazon price and, when at a genuine low, a BUY call computed from their own price history; otherwise no call. Filter by slot (the role a product plays in a setup), free-text words (brand and model names, partial words and small typos are fine), a price band, a brand, or on-sale only. Products we know but cannot price (sold direct by the maker, e.g. Niche, Lelit, Decent) come back in `known_unpriced` with no price and the reason: say so, quote the note, and link the url. When nothing in `products` matches, `alternatives` lists the closest tracked products with live prices and `note` says what was and was not found. Never tell the user the site has nothing; tell them what it has.
watch_pricechangeddescriptionEmail the user when a product is at a good price (a verified low), or at or under a target price they name. Use after search_catalog/get_product when the user wants to be told when to buy. Ask the user for their email; never invent or reuse one. One watch per email per product; calling again updates the target. Each alert links to the product page and carries an unsubscribe link.
Email the user when a product is at a good price (a verified low), or at or under a target price they name. Use after search_catalog/get_product when the user wants to be told when to buy. Ask the user for their email; never invent or reuse one. One watch per email per product; calling again updates the target. The first time an address is used it receives a confirmation email and the watch arms when they click it — tell the user to check their inbox. Each alert links to the product page and carries an unsubscribe link.
Full history: list_changes · trend: quality JSON.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+dns-namespace +website +reachable +uptime-100% +updated-17d-ago -no-repository
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://espressosteals.com/api/mcp streamable-http | none | yes | 100% | 387 ms | 2025-11-25 | 2026-10-20 |
get_productread-only | Full detail for one product by slug: community sentiment, reference price and basis, date of the latest price observation, portafilter size (machines) or accessory size (sized accessories), superautomatic / manual-lever / hand-grinder flags, product URL and Amazon link. A known product with no price returns price null, the reason, and priced alternatives. An unknown slug returns did_you_mean. |
list_slotsread-only | The slots an espresso setup is built from (machine, grinder, scale, tamper…), with what each is for. Use the ids as search_catalog's `slot`. |
search_catalogread-only | Search the espresso gear this site tracks. `products` have a live Amazon price and, when at a genuine low, a BUY call computed from their own price history; otherwise no call. Filter by slot (the role a product plays in a setup), free-text words (brand and model names, partial words and small typos are fine), a price band, a brand, or on-sale only. Products we know but cannot price (sold direct by the maker, e.g. Niche, Lelit, Decent) come back in `known_unpriced` with no price and the reason: say so, quote the note, and link the url. When nothing in `products` matches, `alternatives` lists the closest tracked products with live prices and `note` says what was and was not found. Never tell the user the site has nothing; tell them what it has. |
watch_price | Email the user when a product is at a good price (a verified low), or at or under a target price they name. Use after search_catalog/get_product when the user wants to be told when to buy. Ask the user for their email; never invent or reuse one. One watch per email per product; calling again updates the target. The first time an address is used it receives a confirmation email and the watch arms when they click it — tell the user to check their inbox. Each alert links to the product page and carries an unsubscribe link. |
Schemas: list_tools.
{
"name": "com.espressosteals/catalog",
"title": "Espresso Steals",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://espressosteals.com/api/mcp",
"type": "streamable-http"
}
],
"version": "1.0.0",
"websiteUrl": "https://espressosteals.com/for-agents",
"description": "Espresso gear price history: live Amazon prices, 2+ years of daily data, BUY calls at verified lows."
}