Horizontal

WorksCode and developmentMaps, weather and travel

Siltwell

Your garden notebook: ask about your beds, plantings, harvests and frost dates, and log your work.

Addresshttps://app.siltwell.com/mcp
Claude Codeclaude mcp add --transport http garden https://app.siltwell.com/mcp
For Cursor and other clients
{
  "mcpServers": {
    "garden": {
      "type": "http",
      "url": "https://app.siltwell.com/mcp"
    }
  }
}

Watch out

Has tools that change things: 10 of them

The server itself marks these tools as deleting or overwriting data (destructiveHint): have the agent ask you before it calls them.

Test
Works: Handshake succeeded
Tools
32 tools
Handshake
541 ms
Transport
streamable-http · 2025-06-18
Tested
6 November 2026
Registry name
com.siltwell/garden v1.0.0
Listed
13 October 2026
Updated
13 October 2026
Website
siltwell.com/ai-assistants
The last 1 tests
WhenResultTime
2026-11-06 12:19 UTCHandshake succeeded541 ms

The 32 tools it listed

"Read only" and "Changes data" are the server's own marks. Underlined parameters are required.

  1. add_planned_planting

    Plan a planting

    Queue a future planting for a bed as part of a succession plan — it is NOT yet sown (use add_planting for something the user already planted). Use when the user wants to plan ahead, e.g. "plan to plant more carrots in Bed 2 on August 15".

    garden bed displayName targetDate method cropSlug quantity notes

  2. add_plantingChanges data

    Add a planting

    Record that the user planted/sowed something: creates the plant in their catalog if new and the planting in the named bed. Passing variety replaces the variety stored on an existing plant with the same name.

    garden plant bed method sownAt transplantedAt variety quantity notes

  3. create_bed

    Create a bed

    Add a garden bed. `type` is one of outdoor_bed (in-ground), raised_bed, greenhouse, grow_light_shelf, pot. Dimensions (lengthCm/widthCm/heightCm) are optional. Use when the user wants a new bed or planting area.

    garden name type lengthCm widthCm heightCm

  4. delete_bedChanges data

    Archive a bed

    Remove a bed from the garden. Siltwell archives it: it leaves the bed lists in the app and in these tools, its care schedules stop, and planned plantings queued for it are skipped. Past weather history still shows its name. The app has no way to restore it. Blocked while the bed has active plantings; remove or finish those first. Identify by bed name.

    garden bed

  5. delete_planned_plantingChanges data

    Delete a planned planting

    Remove an entry from the succession plan outright (a queued future planting that hasn't been sown). This is a hard delete, not recoverable — for a planting already sown/growing, use delete_planting instead. Identify it by id (from list_planned_plantings).

    garden id

  6. delete_plantingChanges data

    Archive a planting

    Remove a planting from the garden. Siltwell archives it: it disappears from the app and from these tools, and its care schedules stop. Its harvests, events and photos stay stored, but the app has no way to restore it. Identify by plant name or plantingId. Use when the user says to delete/remove a planting (e.g. one added by mistake).

    garden plant plantingId

  7. delete_scheduleChanges data

    Delete a care schedule

    Turn off a recurring care schedule (stops its reminders). Identify it by scheduleId, or by scope — plant (its active planting), bed, or garden-wide (neither) — optionally narrowed by type (water/fertilize/custom). Use when the user says to stop a watering/feeding reminder.

    garden scheduleId plant bed type

  8. get_bed_layoutRead only

    Get a bed's layout

    Read a bed's layout grid: the bed's dimensions (cm) plus each placed planting's footprint (xCm, yCm from the bed's top-left; wCm × hCm), and any active plantings not yet placed. Use to reason about space — e.g. "is there 60 cm free at the front of Bed 2?". Positions are written by place_planting.

    garden bed

  9. get_current_conditionsRead only

    Get current conditions

    Current weather at the garden (station if connected, else forecast) plus per-bed soil moisture/temperature. Use for "how is the garden right now / should I water".

    garden

  10. get_forecastRead only

    Get the forecast

    7-day forecast for the garden with overnight-low frost alerts. Use for planting timing, frost protection, watering plans.

    garden

  11. get_harvestsRead only

    Get harvests

    List harvests with per-plant totals. Use when the user asks what/how much they harvested.

    garden since plant

  12. get_historyRead only

    Get weather history

    Daily weather history for the garden: min/max temp, rain, growing degree days (base 10 °C) with a cumulative total. Use for "how warm/wet has it been" and growth-progress questions.

    garden since

  13. get_planRead only

    Get sowing windows and care tasks

    Upcoming sowing/transplant windows computed from the user's plant catalog and the garden's frost dates, plus zone, frost dates, and any due care tasks (watering/fertilizing, with a rain-skip hint). Use for "what should I plant/start/transplant and when" and "what care is due".

    garden

  14. get_season_planRead only

    Get the season plan

    Compute the garden's rest-of-season planting schedule: every bed's next crops, chained forward to the effective first frost, deconflicted across beds with crop rotation and curated sow windows. Returns a PROPOSAL only — nothing is written; use add_planned_planting to accept a row into the succession plan. Returns every bed's chain, or one bed's full chain plus remainingCount for the rest when the garden's plan covers one bed.

    garden today

  15. get_soil_readingsRead only

    Get soil readings

    Latest soil moisture % and soil temperature per bed, with bed names. Use for watering/sowing decisions.

    garden

  16. list_bedsRead only

    List beds

    List the garden's beds: name, type (outdoor_bed/raised_bed/greenhouse/grow_light_shelf/pot), dimensions in cm, notes, and how many active plantings each holds. Use to see what beds exist and where there may be room.

    garden

  17. list_planned_plantingsRead only

    List planned plantings

    List the garden's succession plan — future plantings queued for a bed that haven't been sown yet (only status='planned'; done/skipped entries are omitted). Use when the user asks what's coming up next, what they've planned to plant, or wants to review their succession plan. For plantings already in the ground, use query_plantings instead.

    garden

  18. log_curing

    Log curing

    Record that a harvested crop has finished curing (or dismiss the reminder). Use when the gardener says they've cured, dried, trimmed or stored a crop like garlic, onions or herbs.

    garden plantingId kind

  19. log_event

    Log a garden event

    Record something the user did or observed: watered, fertilized, transplanted, pruned, pest sighting, treatment, frost damage, or a note. Attach it to a plant's active planting via `plant`, to a bed via `bed`, or garden-wide with neither. If both plant and bed are given, the event attaches to the plant's planting.

    garden type plant plantingId bed note occurredAt pestName severity product amount

  20. lookup_frost_datesRead only

    Look up frost dates for a place

    Average last spring frost, average first fall frost and hardiness zone for any place, from 10 years of weather records. Works without a Siltwell account. Dates are MM-DD. For the signed-in user's own garden, get_plan returns the garden's zone and frost dates, with the frost dates adjusted for its microclimate.

    place latitude longitude

  21. lookup_frost_riskRead only

    Look up frost risk this week for a place

    Forecast lows for the next 7 days at any place and the nights at risk of frost. Each frost night is dated by the morning its low falls on, so protect plants the evening before that date. Works without a Siltwell account. For the signed-in user's own garden, get_forecast returns this forecast with the garden's microclimate adjustment applied.

    place latitude longitude

  22. lookup_growing_seasonRead only

    Look up growing season length for a place

    Frost-free season length and seasonal growing degree days at any place, and whether heat-loving crops get enough heat to ripen. Works without a Siltwell account. For the signed-in user's own garden, get_plan returns the microclimate-adjusted frost dates that bound its season, and get_history returns its daily growing degree days.

    place latitude longitude

  23. lookup_planting_windowsRead only

    Look up planting windows for a place

    When to start seeds indoors, plant out, and sow for a fall harvest at any place, crop by crop, with the days left to sow today. Works without a Siltwell account. Dates are YYYY-MM-DD. Without crops, it returns the 30 crops with the soonest next step; pass crops to see others. For the signed-in user's own garden, get_plan returns sowing and transplant windows for the garden's own plants, counted from its microclimate-adjusted last frost date.

    place latitude longitude crops

  24. place_plantingChanges data

    Place a planting in a bed

    Place or move a planting on its bed's layout grid — set its position (xCm, yCm measured from the bed's top-left corner) and footprint (wCm × hCm) in centimeters. Identify the planting by plant name or plantingId. Use when the user wants to arrange, position, or move a plant within its bed. For a planting that already spans several grid squares, use the app's layout editor instead.

    garden plant plantingId xCm yCm wCm hCm

  25. query_plantingsRead only

    Find plantings

    List the user's plantings (what is planted, where, when, how, current status). Use when the user asks what they planted, when something was sown/transplanted, or what's growing in a bed.

    garden status plant

  26. record_harvest

    Record a harvest

    Record a harvest, e.g. "I picked 2 kg of cucumbers" or "2 lb of tomatoes". Resolves the plant's active planting automatically. Pounds and ounces are stored as grams.

    garden plant plantingId quantity unit harvestedAt notes

  27. search_eventsRead only

    Search the garden log

    Search the garden log: watering, fertilizing, transplanting, pruning, pest sightings, treatments, frost damage, notes. Use when the user asks when they last did something or what happened in the garden.

    garden type plant since limit

  28. set_care_schedule

    Set a care schedule

    Create a recurring care schedule (water/fertilize/custom). Scope it to a plant (its active planting), a bed, or the whole garden. Recurrence is EITHER everyDays (e.g. 3) OR weekdays (e.g. ['monday','thursday']). Use when the user wants a repeating watering/feeding reminder. Optionally end it on a date (endsOn) or after N completions (endsAfter); use at most one.

    garden plant bed type everyDays weekdays amount label startDate endsOn endsAfter

  29. update_bedChanges data

    Update a bed

    Change an existing bed's name, type, or dimensions. Identify the bed by its current name. Use when the user wants to rename a bed, change its type, or set/adjust its dimensions.

    garden bed name type lengthCm widthCm heightCm

  30. update_harvestChanges data

    Update a harvest

    Correct a logged harvest — the most-recent harvest of a plant (by name) or a specific harvestId. Edit quantity, unit, notes, or the date. Use when the user says a harvest they recorded was wrong.

    garden plant harvestId quantity unit notes harvestedAt

  31. update_planned_plantingChanges data

    Update a planned planting

    Update a queued succession-plan entry: change its status (planned/done/skipped), reschedule its targetDate, or adjust quantity/notes. Identify it by id (from list_planned_plantings). Use when the user sows a planned planting (mark status done), decides to skip it, or wants to reschedule/adjust it.

    garden id status targetDate quantity notes

  32. update_plantingChanges data

    Update a planting

    Change a planting's status (active/finished/failed), notes, quantity, transplant date, variety, or MOVE it to another bed (pass bed with the target bed's name — history stays attached; any layout position is cleared, re-place with place_planting). Identify the planting by plant name or plantingId.

    garden plant plantingId status notes quantity bed transplantedAt variety

Is this yours?

Claim it to hear the moment it breaks, correct this page and add your own ways to use it.

A test is the handshake and the tool list: no tool was called. Names and descriptions are as listed by whoever registered the server; we haven't checked them.

Back to Tested MCP Servers