plants
Provides a sensor.plants_due sensor and morning phone notifications with labelled pictures of due plants plus All done / Tomorrow / List buttons delivered over Home Assistant's websocket.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@plantsI got a Monstera for the kitchen, water it weekly"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Plants
A small, self-hosted plant watering and feeding tracker. One Python service in Docker gives you:
A phone app (installable PWA). It shows today's checklist grouped by room in your watering-route order.
Tick each plant as you go, or tick a whole room at once.
"Soil still damp" pushes that plant's next check back by about a third of its interval.
Each plant has a page with its photo history, care notes, log and settings.
Smart schedules. Summer and winter intervals blend by month. Pot size and light are optional nudges.
Outdoor plants open to the sky get credit for rain and are held back when rain or frost is forecast. Weather comes from Open-Meteo, so no key is needed.
Feeding happens only in its season.
Claude as the gardener (MCP). Connect Claude to
http://127.0.0.1:8772/mcpand say "I got a Monstera for the kitchen". Claude works out the schedule for your climate, logs care, snoozes plants and attaches photos.AI photo check-ups (optional).
worker/photo_worker.pysends each new photo to Claude Code (claude -p, on your own subscription) for a short verdict and suggestions, comparing it with the previous photo.A suggestion can carry a one-tap change: a new interval, the pot, the light, a dated reminder such as "Repot in March", or moving the plant to the graveyard.
Nothing changes until you tap it.
Home Assistant (optional).
A
sensor.plants_duesensor.A morning phone notification with a labelled picture of every plant that's due, and All done / Tomorrow / List buttons. The buttons come back over HA's websocket, so no automation is needed.
Run it
cp .env.example .env # set your location; HA settings are optional
docker compose up -d --build
docker exec plants python seed.py # optional example rooms and plantsOpen http://localhost:8772. To use it on your phone, put a reverse proxy with HTTPS in front of it and keep it on your LAN or VPN, because there is no login. Don't proxy /mcp.
Add the MCP to Claude Code:
claude mcp add --transport http plants http://127.0.0.1:8772/mcpPhoto worker (optional, runs on the host where claude is logged in): python worker/photo_worker.py. Use --once to test it.
Tests: docker exec plants python /app/tests/test_schedule.py (and the other files in tests/).
Related MCP server: Super Productivity MCP Server
Schedule rules (plants/schedule.py)
Seasons: each plant has a summer and a winter watering interval in days. The interval slides between them by month: full summer Jun-Aug, full winter Dec-Feb. These are Irish/UK seasons, so adjust
schedule.pyif you're elsewhere.Rain: outdoor plants open to the sky get a
rainevent for any day with 4mm or more of rain.No winter watering: if
water_winteris empty, rain covers winter and there are no reminders from Nov to Feb.Outdoor holds: outdoor plants are held when 4mm or more of rain is due in the next 24h, or when the night drops to 1°C or below.
Feeding: only between
feed_fromandfeed_to. The first feed of each season is due at the season's start.
Data (plants.db and photos) lives in ./data. Back that folder up.
This server cannot be deployed
Maintenance
Related MCP Connectors
Log meals, water, and weight to Garmin Connect from Claude or ChatGPT.
Notes and actions in one app. Let Claude or ChatGPT read and update them.
Personal CRM for Claude. Contacts live as plain-text files in your own Google Drive.
A second brain for Claude: remembers your work, plans your day, encrypted under a key only you hold.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceConnects Claude to self-hosted Vikunja instances for conversational task and project management. Supports CRUD operations on projects and tasks, plus labels, comments, weekly reviews, calendar feeds, and task relations.22 npm-
- AlicenseAqualityFmaintenanceEnables Claude to interact with Super Productivity's local REST API for task, project, and tag management, including CRUD operations, status checks, and daily planning prompts.17126 npmMIT
- AlicenseNot gradedqualityDmaintenanceEnables tracking hydration, analyzing water intake patterns, and managing HidrateSpark smart water bottle data through Claude Desktop.1MIT
- AlicenseAqualityBmaintenanceEnables Claude to manage ATimeLogger time tracking: start/stop/pause activities, log intervals, and get reports via natural language.1032 npm19MIT