API & MCP

Everything a person can do on Garden Bed Planner, a program or AI agent can do with the same inputs and get the identical result.

HTTP API

Garden Bed Planner

Plan vegetable beds in 30 cm squares or in rows for an early, main and late season. You get plants per crop from spacing data, checks for overlaps, crop rotation and sun hours behind obstacles, traditional companion pairs and the seeds, sets or plants to buy.

Inputs of Garden Bed Planner
FieldTypeDefaultDescription
placetext—Place for sun hours (latitude, longitude, optional). Empty = no sun hours.
yearinteger2027Season (year of the spring frost)
bedstable[{"name":"Bed 1","width":120,"length":240,"method":"square","lastYear":"potatoesBeds
plantingstable[{"bed":"Bed 1","crop":"carrot","season":"early","count":4},{"bed":"Bed 1","cropPlantings
obstaclestable—Obstacles that shade a bed (optional)

Example request

One raised bed over three seasons

curl -X POST https://hearthgardenbeds.usefulweb.site/api/v1/calculate -H 'content-type: application/json' -d '{"place":"52.52, 13.40","year":2027,"beds":[{"name":"Bed 1","width":120,"length":240,"method":"square","lastYear":"potatoes","twoYearsAgo":"legumes"}],"plantings":[{"bed":"Bed 1","crop":"carrot","season":"early","count":4},{"bed":"Bed 1","crop":"lettuce","season":"early","count":4},{"bed":"Bed 1","crop":"tomato","season":"main","count":4},{"bed":"Bed 1","crop":"basil","season":"main","count":2},{"bed":"Bed 1","crop":"bush-bean","season":"main","count":6},{"bed":"Bed 1","crop":"spinach","season":"late","count":6}]}'

Every result contains

inputs (normalised, defaults applied), summary, result (validated against the published schema), units, assumptions, sources, warnings, computedAt and links.

MCP (Model Context Protocol)

{
  "mcpServers": {
    "hearth-garden-beds": { "type": "http", "url": "https://hearthgardenbeds.usefulweb.site/mcp" }
  }
}