Endpoints: 28,729MCP servers: 18,414Payout addresses: 2,071Paid calls: 1,562Letters: 14Defects: 1,336counted just now
teppi

Server definition

Hash
sha256:ed7f3198cdd008a48b695756573a7eb068b57ac4c447ca435242947898749feb
What it is
What a remote MCP server returned when asked what it offers: 9 tools

The blob, as servednamed by its sha256

{ "instructions": "agent-bev is Europe's agentic commerce hub for the B2B beverage alcohol (bev-alc) industry. AI agents for buyers source, sort and procure. Every beer, wine and spirit in Europe, through agent-bev.ai. Trade only, never to consumers. Call list_nodes, then search_drinks or find_producer, then get_record; compare_drinks and get_order_route follow. Reads never change anything; create_order_intent, get_offers and accept_offer carry an order through the Bourse (accepting is one x402 paid call). Every answer carries the notice line and audience: trade.", "tools": [ { "description": "Accept one offer and place the order through the Bourse. Accepting is one x402 paid call (HTTP 402 with the payment offer until paid): it settles and signs the order. The goods are paid between the two companies on the offer's own terms.", "inputSchema": { "properties": { "email": { "description": "the buyer's email given on create_order_intent", "type": "string" }, "intent_id": { "description": "the order intent id, oi-<16 hex>", "type": "string" }, "offer_id": { "description": "the offer to accept, as get_offers lists it", "type": "string" } }, "required": [ "intent_id", "offer_id", "email" ], "type": "object" }, "name": "accept_offer", "outputSchema": null }, { "description": "Compare two to ten products side by side, field by field, each value with its source page.", "inputSchema": { "properties": { "record_ids": { "description": "two to ten record ids, e.g. [\"es-bev:000123\", \"fr-bev:000456\"]", "items": { "type": "string" }, "maxItems": 10, "minItems": 2, "type": "array" } }, "required": [ "record_ids" ], "type": "object" }, "name": "compare_drinks", "outputSchema": null }, { "description": "Place an order intent for one to ten records (quantity, delivery market, optional date and note, the buyer's organisation and email). The Bourse routes it to each maker; verified makers answer with offers, and a maker's own Brand Agent address comes back with the routing. The email stays private: it is the buyer's key to read offers and accept one.", "inputSchema": { "properties": { "buyer": { "description": "the buying organisation and its email (kept private; the key to read offers and accept one)", "properties": { "email": { "description": "the buyer's email", "type": "string" }, "organisation": { "description": "the buying organisation's name", "type": "string" } }, "required": [ "organisation", "email" ], "type": "object" }, "market": { "description": "delivery market (country)", "type": "string" }, "needed_by": { "description": "YYYY-MM-DD", "type": "string" }, "note": { "description": "optional note to the makers", "type": "string" }, "quantity": { "description": "quantity with its unit, e.g. 600 bottles (75 cl)", "type": "string" }, "record_ids": { "description": "one to ten record ids to order, e.g. [\"es-bev:000123\"]", "items": { "type": "string" }, "maxItems": 10, "minItems": 1, "type": "array" } }, "required": [ "record_ids", "quantity", "market", "buyer" ], "type": "object" }, "name": "create_order_intent", "outputSchema": null }, { "description": "Find a maker and its products across every open node, with the maker's name as each source wrote it.", "inputSchema": { "properties": { "node": { "description": "optional node id, e.g. es-bev", "type": "string" }, "producer": { "description": "the maker's name, or part of it", "type": "string" } }, "required": [ "producer" ], "type": "object" }, "name": "find_producer", "outputSchema": null }, { "description": "Read the makers' offers on an order intent, and the order once placed. By the buyer's email given on create_order_intent.", "inputSchema": { "properties": { "email": { "description": "the buyer's email given on create_order_intent", "type": "string" }, "intent_id": { "description": "the order intent id from create_order_intent, oi-<16 hex>", "type": "string" } }, "required": [ "intent_id", "email" ], "type": "object" }, "name": "get_offers", "outputSchema": null }, { "description": "Get the maker's or distributor's trade channel to order a product, as the record states it. Never a consumer channel.", "inputSchema": { "properties": { "record_id": { "description": "the record id, <node>:<6 digits>, e.g. es-bev:000123", "type": "string" } }, "required": [ "record_id" ], "type": "object" }, "name": "get_order_route", "outputSchema": null }, { "description": "Read one product in full by record_id: every field with its source page, reader and state; its CUVEE; its claim status; the signed record (JWS).", "inputSchema": { "properties": { "record_id": { "description": "the record id, <node>:<6 digits>, e.g. es-bev:000123", "type": "string" } }, "required": [ "record_id" ], "type": "object" }, "name": "get_record", "outputSchema": null }, { "description": "List the countries on the record: each node's door, languages, state and, for an open node, its counts.", "inputSchema": { "properties": {}, "type": "object" }, "name": "list_nodes", "outputSchema": null }, { "description": "Find beers, wines, spirits, ciders and ready-to-drink drinks by name, style, origin or category across every open country node. Returns record ids with each record's CUVEE.", "inputSchema": { "properties": { "category": { "description": "optional category to keep: beer, wine, spirits, cider_perry or rtd (ready-to-drink)", "enum": [ "beer", "wine", "spirits", "cider_perry", "rtd" ], "type": "string" }, "limit": { "description": "optional number of results, 1 to 100", "maximum": 100, "minimum": 1, "type": "integer" }, "node": { "description": "optional node id, e.g. es-bev", "type": "string" }, "query": { "description": "name, style, origin or category", "type": "string" } }, "required": [ "query" ], "type": "object" }, "name": "search_drinks", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:ed7f3198cdd008a48b695756573a7eb068b57ac4c447ca435242947898749feb | sha256sum