Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,542Letters: 14Defects: 1,324counted just now
teppi

Server definition

Hash
sha256:205d1cd4b15eb994b480a45840f30c654f73bf6f334e4a720117d73c174f8d8d
What it is
What a remote MCP server returned when asked what it offers: 4 tools

The blob, as servednamed by its sha256

{ "instructions": "Espresso Steals tracks espresso gear on Amazon: daily prices, 2+ years of history, and a BUY call when a product is at a genuine low, computed from its own history (never list prices); otherwise no call, and no prediction. Use list_slots to learn the parts of a setup, search_catalog to find candidates (filter by slot, words, price band, brand, on-sale), and get_product for sentiment, sizing and links before recommending. Only recommend products these tools return; quote the price and verdict as given and link the product url. Prices move — say so. Attribution: \"price data: espressosteals.com\". When the user wants to be told when a product is at a good price, ask for their email and call watch_price; never invent an address.", "tools": [ { "description": "Full 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.", "inputSchema": { "properties": { "slug": { "description": "A slug from search_catalog.", "type": "string" } }, "required": [ "slug" ], "type": "object" }, "name": "get_product", "outputSchema": null }, { "description": "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`.", "inputSchema": { "properties": {}, "type": "object" }, "name": "list_slots", "outputSchema": null }, { "description": "Search 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.", "inputSchema": { "properties": { "brand": { "description": "Only this brand (case-insensitive).", "type": "string" }, "limit": { "description": "Max results. Default 12.", "maximum": 25, "minimum": 1, "type": "integer" }, "max_price": { "description": "Only products at or under this USD price.", "type": "number" }, "min_price": { "description": "Only products at or over this USD price.", "type": "number" }, "on_sale_only": { "description": "Only products at a good price today (verdict = buy).", "type": "boolean" }, "query": { "description": "Free-text words to match (any word matches), e.g. \"hand burr\", \"lever\", \"dual boiler\".", "type": "string" }, "slot": { "description": "Restrict to one slot. Omit to search every slot.", "enum": [ "machine", "grinder", "scale", "tamper", "water", "cleaning", "pitcher", "wdt", "funnel", "puckscreen", "basket", "knockbox", "mat" ], "type": "string" } }, "type": "object" }, "name": "search_catalog", "outputSchema": null }, { "description": "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. Each alert links to the product page and carries an unsubscribe link.", "inputSchema": { "properties": { "email": { "description": "The user's email address, given by the user in this conversation.", "type": "string" }, "slug": { "description": "A slug from search_catalog or get_product.", "type": "string" }, "target_price": { "description": "Optional USD price to alert at or under. Omit to alert on the next verified low.", "type": "number" } }, "required": [ "email", "slug" ], "type": "object" }, "name": "watch_price", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:205d1cd4b15eb994b480a45840f30c654f73bf6f334e4a720117d73c174f8d8d | sha256sum