{"ok":true,"site":{"host":"patchwork-webmcp-challenge.netlify.app","url":"https://patchwork-webmcp-challenge.netlify.app/","type":"live","desc":"PatchWork — a shared urban garden where you and your AI agent plan, plant and care together, powered by WebMCP.","tools":[{"name":"list_crops","kind":"answer","impl":"imperative","description":"Search the crop catalog by keyword, sun hours, season or maximum spacing. Use this to discover which crops fit the garden conditions before designing a bed.","title":"List crops","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Partial name match, e.g. \"tom\". Optional."},"sun_hours":{"type":"number","description":"Hours of direct sun per day the garden receives."},"season":{"type":"string","enum":["spring","summer","fall","winter"],"description":"Only return crops that grow in this season."},"min_space_cm":{"type":"number","description":"Only return crops whose spacing fits within this many cm."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/calendario","/diagnostico","/aprender"]},{"name":"get_garden_state","kind":"answer","impl":"imperative","description":"Read the current state of the shared garden: beds with planted crops, sun hours, and pending care tasks. Use this before planning changes so you work with real, current data.","title":"Get garden state","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/calendario","/diagnostico","/aprender"]},{"name":"design_bed","kind":"act","impl":"imperative","description":"Add or remove crops on a garden bed cell by cell. Placements are validated against grid bounds, sun needs, spacing and companion rules; warnings are returned so you can adjust and retry. The shared canvas updates live for the human.","title":"Design bed","inputSchema":{"type":"object","properties":{"bed":{"type":"number","description":"Bed index: 1 or 2."},"mode":{"type":"string","enum":["add","remove"],"description":"add places new crops; remove clears the cells."},"placements":{"type":"array","items":{"type":"object","properties":{"crop_id":{"type":"string","description":"Crop id from list_crops."},"x":{"type":"number","description":"Column, 0-3."},"y":{"type":"number","description":"Row, 0-5."}}},"description":"Cells to change. Max 24 placements per call."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/calendario","/diagnostico","/aprender"]},{"name":"suggest_plan","kind":"act","impl":"imperative","description":"Suggest a seasonal planting plan for the garden: crops that fit the chosen season and sun exposure, ordered by how well they fit, with reasons. The human can then apply suggestions with design_bed.","title":"Suggest planting plan","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"season":{"type":"string","enum":["spring","summer","fall","winter"],"description":"Target season."},"sun_hours":{"type":"number","description":"Hours of sun per day (e.g. 8 for full sun, 4 for partial, 3 for shade)."},"bed_count":{"type":"number","description":"How many beds to fill. Each bed holds 24 cells."},"preferences":{"type":"array","items":{"type":"string"},"description":"Crop ids or names the human would like, if any."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/calendario","/diagnostico","/aprender"]},{"name":"log_task","kind":"act","impl":"imperative","description":"Add a care task to the shared calendar, such as watering, fertilizing, harvesting, pruning or a note to observe. Tasks appear in the Calendar view where the human can check them off.","title":"Log garden task","inputSchema":{"type":"object","properties":{"type":{"type":"string","enum":["water","fertilize","harvest","prune","observe"],"description":"Kind of task."},"crop_id":{"type":"string","description":"Crop id this task applies to, if any."},"note":{"type":"string","description":"Short human-readable note, e.g. \"Water deeply, soil is dry\"."},"due_day":{"type":"number","description":"Garden day when this is due (0 = today). Defaults to 0."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/calendario","/diagnostico","/aprender"]},{"name":"diagnose_issue","kind":"answer","impl":"imperative","description":"Suggest likely plant problems from observed symptoms and an optional affected crop. Returns up to 3 candidates with a confidence score and concrete care actions. This is a knowledge-base lookup, not a medical guarantee.","title":"Diagnose plant issue","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"crop_id":{"type":"string","description":"Affected crop id, if known."},"symptoms":{"type":"array","items":{"type":"string","enum":["yellowing","brown_spots","black_spots","wilting","holes","chewed","white_powder","sticky","curling","stunted","rot","mottled"]},"description":"Observed symptoms, e.g. [\"yellowing\", \"brown_spots\"]."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/calendario","/diagnostico","/aprender"]}],"favicon":"/favicons/patchwork-webmcp-challenge.netlify.app.svg","apiSurface":"spec","category":"AI & Agents","toolCount":6}}