MCP HeartbeatTHE MCP OBSERVATORY
Public workspace

Explore

Evidence for your next connection.

Independent measurements of remote MCP servers. Every observation has a timestamp.

Read-only probes

MCP server · Other

Siltwell

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

Checks passed
12 / 22

2 failed · 8 not measured

Median response
94 ms

Median of successful probes over 7 days

30-day uptime
Not measured

Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.

Discovered tools
32

Tool definitions returned by this server

Independent monitoring

Health & checks

Status history

Responded

The server completed its last measured handshake. This is an observation, not a guarantee.

Last checked
Check summary by test group
Test areaPassedFailedUnmeasured
ConnectionCan a client connect and discover tools?
500
Reliability & speedDoes it respond consistently and quickly?
004
Access & authenticationWhat is required to use this server?
102
Tool qualityAre the tool definitions usable by an agent?
310
Publisher identityCan the publisher be traced to its source?
312

Unmeasured means there is not enough evidence to decide. How these checks work

Inspect individual checks 22 recorded

Core

  • Pass
    Reachable

    Latest probe returned HTTP 200 in 94 ms.

  • Pass
    Valid handshake

    protocolVersion 2025-11-25, serverInfo.name siltwell.

  • Pass
    Lists tools

    tools/list returned 32 tools.

  • Pass
    Current protocol

    Negotiated 2025-11-25. The bar is 2025-06-18 or newer.

  • Pass
    HTTPS

    The endpoint URL is https.

Performance

  • Not measured
    Fast (p50)

    Median latency 94 ms over 1 samples in 7 days. The bar is 1000 ms. Need at least 5 samples.

  • Not measured
    Consistent (p95)

    95th percentile 94 ms over 1 samples in 7 days. The bar is 3000 ms. Need at least 20 samples.

  • Not measured
    Reliable (uptime)

    1 of 1 attempts returned a tool list in 30 days (100%). The bar is 99%. Need at least 30 samples.

  • Not measured
    Stable tool list

    Fewer than two successful probes in 30 days, so tool-list stability is not measured.

Access

  • Pass
    Open access

    tools/list succeeded with no credential, and the record declares none.

  • Not measured
    Standard auth

    Auth is not required, so the OAuth metadata check does not apply.

  • Not measured
    Free tier cited

    No publisher quote has been checked.

Tools

  • Pass
    Tools described

    Every tool description is at least 20 characters.

  • Pass
    Valid input schemas

    Every inputSchema is a JSON Schema object.

  • Fail
    Parameters documented

    111 of 139 parameters have a description (80%). The bar is 80%.

  • Pass
    Safety hints

    Every tool sets readOnlyHint or destructiveHint.

Publisher

  • Pass
    Verified namespace

    Listed in the Official MCP Registry.

  • Pass
    Website matches publisher

    The website host matches the reverse-domain namespace.

  • Fail
    Source repo linked

    No repository URL is on file.

  • Not measured
    Repo owner matches

    This namespace is not an io.github login, so the owner comparison does not apply.

  • Pass
    Recently updated

    Updated 2026-10-13T15:57:33.343284Z, within 180 days.

  • Not measured
    Open-source licence

    No GitHub repository to ask about a licence.

Start using Siltwell

Connect to this server

Choose your client, copy the configuration, then enable the server in your client’s MCP settings.

Run this command in your terminal, then restart Claude Code.

Claude Code

claude mcp add --transport http siltwell https://app.siltwell.com/mcp

Capabilities

Tools 32

add_planned_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".

Discovered
add_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.

Discovered
create_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.

Discovered
delete_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.

Discovered
delete_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).

Discovered
delete_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).

Discovered
delete_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.

Discovered
get_bed_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.

Discovered
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".

Discovered
get_forecast

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

Discovered
get_harvests

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

Discovered
get_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.

Discovered
get_plan

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".

Discovered
get_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.

Discovered
get_soil_readings

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

Discovered
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.

Discovered
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.

Discovered
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.

Discovered
log_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.

Discovered
lookup_frost_dates

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.

Discovered
lookup_frost_risk

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.

Discovered
lookup_growing_season

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.

Discovered
lookup_planting_windows

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.

Discovered
place_planting

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.

Discovered
query_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.

Discovered
record_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.

Discovered
search_events

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.

Discovered
set_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.

Discovered
update_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.

Discovered
update_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.

Discovered
update_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.

Discovered
update_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.

Discovered

Recent measurements

Probe history

View status
Latest stored probes. Raw probe rows are kept for 14 days.
CheckedResultResponseTools
Connected94 ms32