Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,561Letters: 14Defects: 1,336counted 2 min ago
teppi

Server definition

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

The blob, as servednamed by its sha256

{ "instructions": "Agent-to-Agent (A2A) + Model Context Protocol (MCP) hub for retail grocery. Business to business: makers, brand owners, private label, distributors, importers, retailers and their AI agents (GreenCore Solutions Corp.). Call resolve_jurisdiction, then resolve_actor, then gate_transaction before any availability, price, documents, order or handoff tool; those tools refuse without an allow decision. Twenty markets on the SCHEMA algo grocery record; ambient, chilled, frozen and fresh; organic, free-from, plant-based, artisan, origin and premium lanes. Every record field carries its source page; every response carries notice; every record carries claim_status (listed · claimed · verified). Artificial intelligence makes mistakes. A2A Grocery is an agentic information source, not a recommendation. No ads, ever. No rank for sale. Trade only.", "tools": [ { "description": "Hand the buyer to the right agent over Agent-to-Agent (A2A): with an allow decision the order intent goes to the counterparty's agent (envelope + card URL); with a deny, the market agent of the ship-to — a referral, never a sale to a consumer.", "inputSchema": { "properties": { "counterparty_card_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "decision_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "intent_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null } }, "type": "object" }, "name": "a2a_handoff", "outputSchema": { "type": "object" } }, { "description": "Compare items, variants and pack sizes side by side (two to eight GTINs or catalogue ids).", "inputSchema": { "properties": { "decision_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "gtins": { "items": { "type": "string" }, "type": "array" }, "market": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null } }, "required": [ "gtins" ], "type": "object" }, "name": "compare_items", "outputSchema": { "type": "object" } }, { "description": "Open an order between two agents: an order intent for a cleared item after the gate; the intent carries reason_code + rule_set_version and settles by x402 on a2a-x402.ai.", "inputSchema": { "properties": { "decision_id": { "type": "string" }, "gtin": { "type": "string" }, "market": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "quantity": { "type": "integer" }, "ship_to": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null } }, "required": [ "gtin", "quantity", "decision_id" ], "type": "object" }, "name": "create_order_intent", "outputSchema": { "type": "object" } }, { "description": "Retail buyer desks for this market: banner records (banner, parent group, channel discounter · e-commerce · local · in-store · traditional, local format, cited POS count or NULL, buyer desk by department) with their claim status — verified first, then claimed, then listed. Filters: channel, department. Takes the decision_id of an allow decision.", "inputSchema": { "properties": { "channel": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "decision_id": { "type": "string" }, "department": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "limit": { "default": 25, "type": "integer" }, "market": { "type": "string" }, "query": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null } }, "required": [ "market", "decision_id" ], "type": "object" }, "name": "find_verified_buyer", "outputSchema": { "type": "object" } }, { "description": "Verified makers, brand owners, private-label owners, distributors and importers for this item or category in a market: maker records with their claim status — verified first, then claimed, then listed. Takes the decision_id of an allow decision.", "inputSchema": { "properties": { "decision_id": { "type": "string" }, "gtin": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "lane": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "limit": { "default": 25, "type": "integer" }, "market": { "type": "string" }, "query": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null } }, "required": [ "market", "decision_id" ], "type": "object" }, "name": "find_verified_supplier", "outputSchema": { "type": "object" } }, { "description": "Allow or deny, with the reason and the rule. Takes an item (GTIN or catalogue id; optional), the ship-to market, the actor class and, when no record exists yet, the product type, ingredients and claims. Returns one of twelve reason codes (ALLOW · REQUIRE_NOTIFICATION · REQUIRE_RESPONSIBLE_PERSON · DENY_NOT_PERMITTED_HERE · DENY_INGREDIENT_BANNED · DENY_INGREDIENT_LIMIT · DENY_CLAIM · DENY_MARKET · DENY_ACTOR_CLASS · DENY_UNLICENSED_AGENT · DENY_NO_GTIN · DENY_NOT_VERIFIED), the rule-set version, the source page and a decision_id for the downstream tools.", "inputSchema": { "properties": { "actor_class": { "type": "string" }, "channel": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "claims": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "default": null }, "credential": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "ingredients": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "default": null }, "product": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "product_type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "ship_to": { "type": "string" } }, "required": [ "ship_to", "actor_class" ], "type": "object" }, "name": "gate_transaction", "outputSchema": { "type": "object" } }, { "description": "In stock, and where: the availability block of an item (banners on the shelf of record, product URLs read live at load, POS counts where the banner record carries a cited one) once gate_transaction has answered allow (decision_id).", "inputSchema": { "properties": { "decision_id": { "type": "string" }, "gtin": { "type": "string" }, "market": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null } }, "required": [ "gtin", "decision_id" ], "type": "object" }, "name": "get_availability", "outputSchema": { "type": "object" } }, { "description": "Recalls, withdrawals and food-safety alerts, dated: enforcement events by market, category, brand or since a date, each with its source page.", "inputSchema": { "properties": { "market": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "query": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "since": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null } }, "type": "object" }, "name": "get_enforcement_watch", "outputSchema": { "type": "object" } }, { "description": "One item by GTIN (EAN in European copy), fully resolved: temperature, department → super category → category, attribute lanes, pack, brand and maker, market, claim status, market status, availability; after the gate also ingredients, allergens, claims, origin, certificates, variants and offers.", "inputSchema": { "properties": { "decision_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "gtin": { "type": "string" }, "market": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null } }, "required": [ "gtin" ], "type": "object" }, "name": "get_item", "outputSchema": { "type": "object" } }, { "description": "What the label must say, and which claims are allowed: the labelling requirements of the market (food information, allergens, origin, nutrition) and the claims rules of record (nutrition and health claims, organic, free-from), each with its source page. Optional claims are checked against the rules.", "inputSchema": { "properties": { "claims": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "default": null }, "market": { "type": "string" }, "product_type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null } }, "required": [ "market" ], "type": "object" }, "name": "get_label_and_claims", "outputSchema": { "type": "object" } }, { "description": "Is this product type a food here, and under which regime? Product type by market: food, special class (novel food, food supplement, infant formula, fortified, organic-certified, alcohol excise) or not permitted — with the rule-set version and the regulator's page.", "inputSchema": { "properties": { "market": { "type": "string" }, "product_type": { "type": "string" } }, "required": [ "product_type", "market" ], "type": "object" }, "name": "get_market_status", "outputSchema": { "type": "object" } }, { "description": "What must be filed before sale in a market: the food business registration or import notification scheme, the food business operator of record, and, for a product type in a special class, the extra step (novel-food authorisation, organic certification, supplement notification) — each with its source page.", "inputSchema": { "properties": { "market": { "type": "string" }, "product_type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null } }, "required": [ "market" ], "type": "object" }, "name": "get_notification_requirements", "outputSchema": { "type": "object" } }, { "description": "The price for this buyer: the price basis (list · contract · promotion window) from the maker's offers on the record, once gate_transaction has answered allow (decision_id). Plain $ on human surfaces. Tiers buy services, never rank.", "inputSchema": { "properties": { "decision_id": { "type": "string" }, "gtin": { "type": "string" }, "market": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null } }, "required": [ "gtin", "decision_id" ], "type": "object" }, "name": "get_price", "outputSchema": { "type": "object" } }, { "description": "Certificates and paper: the documents on an item record (organic certificate, PDO/PGI, halal, kosher, specification, allergen statement, origin declaration, lot where it applies), each a URL with its read date and source class; decision_id required.", "inputSchema": { "properties": { "decision_id": { "type": "string" }, "gtin": { "type": "string" }, "market": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null } }, "required": [ "gtin", "decision_id" ], "type": "object" }, "name": "get_product_documents", "outputSchema": { "type": "object" } }, { "description": "Write a line to the audit record for a gate decision, an order intent or a handoff (returns the line id).", "inputSchema": { "properties": { "kind": { "type": "string" }, "note": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "reference_id": { "type": "string" } }, "required": [ "kind", "reference_id" ], "type": "object" }, "name": "log_audit", "outputSchema": { "type": "object" } }, { "description": "Who is asking? Maker, brand owner, private label, distributor, importer, broker or retail buyer (trade only); auditor (read-only); agent (inherits the class of the credential it presents — none returns DENY_UNLICENSED_AGENT). The consumer is never the counterparty. Returns communication_class: trade_information or public.", "inputSchema": { "properties": { "actor_class": { "type": "string" }, "credential": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null } }, "required": [ "actor_class" ], "type": "object" }, "name": "resolve_actor", "outputSchema": { "type": "object" } }, { "description": "Where is this going? Resolve a ship-to (e.g. 'DE', 'US-CA', 'UK', 'FR', 'EU-NL', 'JP') to one of the 20 markets and its rule set (14 rule sets; the seven EU markets share one food-law set with national riders). UK is the label; machine fields carry the ISO code GB.", "inputSchema": { "properties": { "ship_to": { "type": "string" } }, "required": [ "ship_to" ], "type": "object" }, "name": "resolve_jurisdiction", "outputSchema": { "type": "object" } }, { "description": "Find items cleared for this market: validated SKU records in a market (query by product name, brand, maker or category; filters: temperature ambient · chilled · frozen · fresh, attribute lane organic · free-from · plant-based · artisan · origin · premium, department). Only validated rows are served; each item carries its claim status, market status and source class.", "inputSchema": { "properties": { "decision_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "department": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "lane": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "limit": { "default": 25, "type": "integer" }, "market": { "type": "string" }, "product_type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "query": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "temperature": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null } }, "required": [ "market" ], "type": "object" }, "name": "search_cleared_items", "outputSchema": { "type": "object" } }, { "description": "Is this GTIN real, and whose is it? Check-digit validation, the GS1 prefix, and the validated record(s) that carry it on this hub with their brand, maker and claim status.", "inputSchema": { "properties": { "gtin": { "type": "string" } }, "required": [ "gtin" ], "type": "object" }, "name": "verify_gtin", "outputSchema": { "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:f096b88fbcb972a1ef4bf966c4c67831fe46134648d93a018e3e9d00d4100bea | sha256sum