Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,534Letters: 13Defects: 1,322counted 3 min ago
teppi

Server definition

Hash
sha256:3f6b1666e0d4f63256e4b73ca9cc5a7f60158190478391d2508ef940ce2f12c5
What it is
What a remote MCP server returned when asked what it offers: 7 tools

The blob, as servednamed by its sha256

{ "instructions": null, "tools": [ { "description": "Get detailed information about a specific flour by its slug. Returns full profile including protein, W strength, hydration curve, maturation profiles, and description.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "slug": { "description": "Flour slug (e.g. 'caputo-pizzeria', 'manitoba-oro')", "maxLength": 120, "minLength": 1, "type": "string" } }, "required": [ "slug" ], "type": "object" }, "name": "get_flour_details", "outputSchema": null }, { "description": "List the signed-in baker's scheduled and active bakes plus live temperature-sensor readings when a device is reporting. The first call prompts the chat app to authorize a Pandough account (OAuth scope bakes:read). Needs Pro (or cancelled-Pro). Returns ids, flour, hydration, schedule, a calculator session link, and probe temps (air around the dough, not dough core).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "type": "object" }, "name": "list_active_bakes", "outputSchema": null }, { "description": "List the dough recipe styles plan_bake supports. Call this when a user names a style (Neapolitan, classica, focaccia, bread, baguette) so you pass the correct recipeSlug instead of guessing — and so you never confuse a style word like 'classica' with a flour whose name contains it.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "type": "object" }, "name": "list_recipes", "outputSchema": null }, { "description": "Create a bake plan with ingredient calculations. Returns exact ingredient amounts in grams, an auto-sized yeast amount, a fermentation schedule, dough warnings, and a calculator URL the user can open in Pandough with all parameters prefilled. Before calling this, gather the inputs that actually determine a good plan (skip any the user already volunteered): (1) Strongly ask which oven model they use — call search_ovens and pass ovenSlug. If it is unlisted, ask for ovenType plus ovenMaxCelsius. Oven capability materially changes the hydration band and bake feasibility; if the user declines, proceed but say the result is not oven-adapted. (2) Which flour(s) do they have? — call search_flours to resolve a flourSlug (or pass flourBlend for a 2–5 flour cut, e.g. a Pulcinella base with 30% Manitoba); this is what makes hydration and warnings flour-aware. (3) Their room temperature and fridge temperature — pass roomTempCelsius/fridgeTempCelsius; temperature is the dominant driver of yeast amount and timing. (4) How they mix/knead (by hand, stand mixer, no-knead) — plan_bake does not return technique guidance, so pair it with a troubleshoot call for method advice. (5) Do they want a preferment? — pass `preferment` for a biga, poolish, tiga, cold/long biga, or a natural sourdough starter. The yeast figure accounts for the preferment, and the calculator link opens with the build already set up, so recommending a biga in prose without passing this param hands the user a direct dough. Don't interrogate a user who already gave a full brief.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "bakeTime": { "description": "Target bake time as an ISO 8601 datetime (e.g. '2026-06-10T18:00:00Z'). Must be in the future.", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$", "type": "string" }, "flourBlend": { "description": "A weighted flour blend (2–5 flours summing to 100%), e.g. [{flourSlug:'caputo-pizzeria',percent:70},{flourSlug:'manitoba-oro',percent:30}]. Mutually exclusive with flourSlug.", "items": { "properties": { "flourSlug": { "description": "Component flour slug from search_flours", "maxLength": 120, "minLength": 1, "type": "string" }, "percent": { "description": "This flour's share of the blend (1–99); the set must sum to 100", "maximum": 99, "minimum": 1, "type": "number" } }, "required": [ "flourSlug", "percent" ], "type": "object" }, "maxItems": 5, "minItems": 2, "type": "array" }, "flourSlug": { "description": "Flour slug from search_flours (e.g. 'caputo-pizzeria'). For a single flour. Mutually exclusive with flourBlend.", "maxLength": 120, "type": "string" }, "fridgeTempCelsius": { "description": "The user's real fridge temperature in °C (0–12). Ask the user for it when a cold ferment is involved.", "maximum": 12, "minimum": 0, "type": "number" }, "fridgeTempHours": { "description": "Cold fermentation hours (0–168). Pass BOTH this and roomTempHours to lock the split.", "maximum": 168, "minimum": 0, "type": "number" }, "hydrationPercent": { "description": "Target hydration percentage (40–110)", "maximum": 110, "minimum": 40, "type": "number" }, "locale": { "description": "UI locale for the returned calculator link (e.g. 'en', 'pl', 'it'). Defaults to 'en'.", "enum": [ "en", "pl", "de", "es", "it", "nl", "fr", "ja", "ko", "sv", "pt", "hu" ], "type": "string" }, "ovenMaxCelsius": { "description": "The real maximum temperature in °C for an unlisted oven (100–600). This is what constrains hydration and bake time.", "maximum": 600, "minimum": 100, "type": "number" }, "ovenMinCelsius": { "description": "Optional minimum set temperature in °C for an unlisted oven.", "maximum": 400, "minimum": 0, "type": "number" }, "ovenSlug": { "description": "Exact oven model slug from search_ovens. Strongly preferred: the engine uses the model's real ceiling and oven class to adapt hydration and bake feasibility. Mutually exclusive with manual ovenType/ovenMaxCelsius.", "maxLength": 120, "minLength": 1, "type": "string" }, "ovenType": { "description": "Oven class for an unlisted model. Pass together with ovenMaxCelsius; prefer ovenSlug when search_ovens finds the model.", "enum": [ "home-electric", "home-gas", "portable-gas", "portable-electric", "wood-fired", "pellet", "hybrid", "kamado" ], "type": "string" }, "preferment": { "description": "Plan the bake around a preferment (biga, poolish, tiga, sourdough…). The yeast figure returned accounts for it, and the calculator link opens with the build already set up.", "properties": { "flourSlug": { "description": "Build the preferment from a specific flour (slug from search_flours). Omit to use the main flour.", "maxLength": 120, "type": "string" }, "hydrationPercent": { "description": "Preferment hydration % (40-200). Defaults to the style's canonical value (poolish 100, biga ~45).", "maximum": 200, "minimum": 40, "type": "number" }, "percentFlour": { "description": "Share of the TOTAL flour that goes into the preferment (1-100). Defaults: 30 for biga/poolish/tiga, 15 for sourdough.", "maximum": 100, "minimum": 1, "type": "number" }, "stages": { "description": "The build program, leg by leg — e.g. [{durationHours:24,tempCelsius:4},{durationHours:24,tempCelsius:18}] for a long biga. Omit to use the style's default program.", "items": { "properties": { "durationHours": { "description": "Length of this leg in hours", "maximum": 96, "minimum": 0.25, "type": "number" }, "tempCelsius": { "description": "Temperature of this leg in °C (use ~4 for the fridge)", "maximum": 40, "minimum": 0, "type": "number" } }, "required": [ "durationHours", "tempCelsius" ], "type": "object" }, "maxItems": 4, "minItems": 1, "type": "array" }, "type": { "description": "Preferment style. poolish = 100% hydration, fast, extensible. biga = stiff (~45-50%). biga-fredda = one long cold hold. biga-lunga = 24h cold then 24h warm. tiga = tiga-style build. sourdough = natural starter (no commercial yeast).", "enum": [ "poolish", "biga", "biga-fredda", "biga-lunga", "tiga", "sourdough", "old-dough" ], "type": "string" } }, "required": [ "type" ], "type": "object" }, "recipeSlug": { "description": "Recipe type slug. Supported: neapolitan-pizza, classica-pizza, focaccia, artisan-bread, baguette (call list_recipes for the full list). When the user names a style like 'classica', pass that style here — do NOT confuse it with a flour whose name happens to contain the word.", "maxLength": 120, "minLength": 1, "type": "string" }, "roomTempCelsius": { "description": "The user's real kitchen temperature in °C (2–40). The single biggest driver of yeast amount and timing — ask the user for it.", "maximum": 40, "minimum": 2, "type": "number" }, "roomTempHours": { "description": "Room-temperature fermentation hours (0–168). Pass BOTH this and fridgeTempHours to lock the split; naming only a total lets the engine choose. Room legs above 14h are clamped with a warning.", "maximum": 168, "minimum": 0, "type": "number" }, "servings": { "description": "Number of portions/pizzas (1–50, default: 4)", "maximum": 50, "minimum": 1, "type": "integer" } }, "required": [ "recipeSlug" ], "type": "object" }, "name": "plan_bake", "outputSchema": null }, { "description": "Search the Pandough flour database. Returns flour names, protein %, W strength, hydration ranges, and types. Use this to help users find the right flour for their bake.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "query": { "description": "Search term (name, brand, or type)", "maxLength": 200, "type": "string" }, "tag": { "description": "Filter by tag (e.g. 'pizza', 'bread', 'pastry')", "maxLength": 50, "type": "string" } }, "type": "object" }, "name": "search_flours", "outputSchema": null }, { "description": "Search the Pandough oven database. Returns oven specs (max temperature, type, fuel) plus recommended bake settings — top/deck heat, bake time, and deck material — computed for a Neapolitan pizza by the same heat engine the site uses.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "query": { "description": "Search term (oven name, brand)", "maxLength": 200, "type": "string" }, "type": { "description": "Oven type filter (e.g. 'pizza-oven', 'home-oven', 'outdoor')", "maxLength": 50, "type": "string" } }, "type": "object" }, "name": "search_ovens", "outputSchema": null }, { "description": "Search the Pandough baking knowledge base for troubleshooting advice, technique guides, and flour science. Returns curated expert content about common baking issues.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "issue": { "description": "The baking issue or question (e.g. 'sticky dough', 'no oven spring', 'cold proof technique')", "maxLength": 300, "minLength": 1, "type": "string" } }, "required": [ "issue" ], "type": "object" }, "name": "troubleshoot", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:3f6b1666e0d4f63256e4b73ca9cc5a7f60158190478391d2508ef940ce2f12c5 | sha256sum