Pandough
Flour-first dough plans: yeast, hydration, schedule from flour you own. No API key for plan tools.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"mcp": {
"url": "https://pandough.app/api/mcp"
}
}
}원격 엔드포인트
https://pandough.app/api/mcpstreamable-http할 수 있는 일
도구 목록
도구 (7)
🟢search_flours(query, tag)
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.
입력 스키마
{
"type": "object",
"properties": {
"query": {
"description": "Search term (name, brand, or type)",
"type": "string",
"maxLength": 200
},
"tag": {
"description": "Filter by tag (e.g. 'pizza', 'bread', 'pastry')",
"type": "string",
"maxLength": 50
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_flour_details(slug)
Get detailed information about a specific flour by its slug. Returns full profile including protein, W strength, hydration curve, maturation profiles, and description.
입력 스키마
{
"type": "object",
"properties": {
"slug": {
"description": "Flour slug (e.g. 'caputo-pizzeria', 'manitoba-oro')",
"type": "string",
"minLength": 1,
"maxLength": 120
}
},
"required": [
"slug"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_recipes
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.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢plan_bake(recipeSlug, flourSlug, flourBlend, hydrationPercent, servings, ...)
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.
입력 스키마
{
"type": "object",
"properties": {
"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.",
"type": "string",
"minLength": 1,
"maxLength": 120
},
"flourSlug": {
"description": "Flour slug from search_flours (e.g. 'caputo-pizzeria'). For a single flour. Mutually exclusive with flourBlend.",
"type": "string",
"maxLength": 120
},
"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.",
"minItems": 2,
"maxItems": 5,
"type": "array",
"items": {
"type": "object",
"properties": {
"flourSlug": {
"description": "Component flour slug from search_flours",
"type": "string",
"minLength": 1,
"maxLength": 120
},
"percent": {
"description": "This flour's share of the blend (1–99); the set must sum to 100",
"type": "number",
"minimum": 1,
"maximum": 99
}
},
"required": [
"flourSlug",
"percent"
]
}
},
"hydrationPercent": {
"description": "Target hydration percentage (40–110)",
"type": "number",
"minimum": 40,
"maximum": 110
},
"servings": {
"description": "Number of portions/pizzas (1–50, default: 4)",
"type": "integer",
"minimum": 1,
"maximum": 50
},
"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.",
"type": "number",
"minimum": 0,
"maximum": 168
},
"fridgeTempHours": {
"description": "Cold fermentation hours (0–168). Pass BOTH this and roomTempHours to lock the split.",
"type": "number",
"minimum": 0,
"maximum": 168
},
"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.",
"type": "number",
"minimum": 2,
"maximum": 40
},
"fridgeTempCelsius": {
"description": "The user's real fridge temperature in °C (0–12). Ask the user for it when a cold ferment is involved.",
"type": "number",
"minimum": 0,
"maximum": 12
},
"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.",
"type": "string",
"minLength": 1,
"maxLength": 120
},
"ovenType": {
"description": "Oven class for an unlisted model. Pass together with ovenMaxCelsius; prefer ovenSlug when search_ovens finds the model.",
"type": "string",
"enum": [
"home-electric",
"home-gas",
"portable-gas",
"portable-electric",
"wood-fired",
"pellet",
"hybrid",
"kamado"
]
},
"ovenMaxCelsius": {
"description": "The real maximum temperature in °C for an unlisted oven (100–600). This is what constrains hydration and bake time.",
"type": "number",
"minimum": 100,
"maximum": 600
},
"ovenMinCelsius": {
"description": "Optional minimum set temperature in °C for an unlisted oven.",
"type": "number",
"minimum": 0,
"maximum": 400
},
"bakeTime": {
"description": "Target bake time as an ISO 8601 datetime (e.g. '2026-06-10T18:00:00Z'). Must be in the future.",
"type": "string",
"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))$"
},
"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.",
"type": "object",
"properties": {
"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).",
"type": "string",
"enum": [
"poolish",
"biga",
"biga-fredda",
"biga-lunga",
"tiga",
"sourdough",
"old-dough"
]
},
"percentFlour": {
"description": "Share of the TOTAL flour that goes into the preferment (1-100). Defaults: 30 for biga/poolish/tiga, 15 for sourdough.",
"type": "number",
"minimum": 1,
"maximum": 100
},
"hydrationPercent": {
"description": "Preferment hydration % (40-200). Defaults to the style's canonical value (poolish 100, biga ~45).",
"type": "number",
"minimum": 40,
"maximum": 200
},
"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.",
"minItems": 1,
"maxItems": 4,
"type": "array",
"items": {
"type": "object",
"properties": {
"durationHours": {
"description": "Length of this leg in hours",
"type": "number",
"minimum": 0.25,
"maximum": 96
},
"tempCelsius": {
"description": "Temperature of this leg in °C (use ~4 for the fridge)",
"type": "number",
"minimum": 0,
"maximum": 40
}
},
"required": [
"durationHours",
"tempCelsius"
]
}
},
"flourSlug": {
"description": "Build the preferment from a specific flour (slug from search_flours). Omit to use the main flour.",
"type": "string",
"maxLength": 120
}
},
"required": [
"type"
]
},
"locale": {
"description": "UI locale for the returned calculator link (e.g. 'en', 'pl', 'it'). Defaults to 'en'.",
"type": "string",
"enum": [
"en",
"pl",
"de",
"es",
"it",
"nl",
"fr",
"ja",
"ko",
"sv",
"pt",
"hu"
]
}
},
"required": [
"recipeSlug"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢troubleshoot(issue)
Search the Pandough baking knowledge base for troubleshooting advice, technique guides, and flour science. Returns curated expert content about common baking issues.
입력 스키마
{
"type": "object",
"properties": {
"issue": {
"description": "The baking issue or question (e.g. 'sticky dough', 'no oven spring', 'cold proof technique')",
"type": "string",
"minLength": 1,
"maxLength": 300
}
},
"required": [
"issue"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢search_ovens(query, type)
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.
입력 스키마
{
"type": "object",
"properties": {
"query": {
"description": "Search term (oven name, brand)",
"type": "string",
"maxLength": 200
},
"type": {
"description": "Oven type filter (e.g. 'pizza-oven', 'home-oven', 'outdoor')",
"type": "string",
"maxLength": 50
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_active_bakes
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).
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}권장 프롬프트
search_flourssearch_floursget_flour_detailsget_flour_detailslist_recipes커뮤니티
증거