By giocaizzi
Smart plant irrigation control. Talks to a running greenhouse-server over MCP to read soil moisture / temperature / humidity / light, drive irrigators (start, stop, log manual watering, emergency stop-all), inspect typed decision logs, manage the alert inbox, and tune per-cluster irrigation config. Trigger whenever the user asks anything about their plants, soil, watering, irrigation schedule, sensor readings, irrigator status, blocked drips, leaks, or alerts — even when they don't say 'greenhouse'.
Based on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Smart plant irrigation system with Tuya IoT sensors, evidence-based plant care, and self-learning efficiency analysis.
greenhouse monitors soil moisture, temperature, humidity, and light from Tuya-compatible sensors and makes smart irrigation decisions based on evidence-based plant care data. It learns from past irrigation cycles to detect efficiency issues, blocked drips, and unresolvable plant conflicts.
uv sync
uv run greenhouse-server # start REST API + web UI
uv run greenhouse check --all # check all clusters
IrrigationDecision pipeline: cooldown check, stress detection, multi-sensor conflict resolution, trend analysis, evidence-based moisture targets. Every evaluation produces a structured Reason trail and is persisted whether or not it was acted on.| Interface | URL | Notes |
|---|---|---|
| JSON REST API | /api/v1 | Authoritative entry point. OpenAPI docs at /docs. |
| Web UI | / | HTMX + Jinja2 server-rendered. Shares service layer with the API. |
| CLI | greenhouse | Thin httpx client against /api/v1. No DB access. |
| MCP server | /mcp | Every /api/v1 endpoint as an MCP tool via fastapi-mcp. Auth deferred — localhost-only. |
Stop the server and all four go dark. Anything new the CLI or an MCP tool should be able to do must first exist as an API endpoint.
Warning: MCP gives a connected LLM the ability to actuate physical irrigation hardware (
/clusters/{id}/irrigate,/irrigators/{id}/start, etc.). Keep the server localhost-only until auth is added.
git clone https://github.com/giocaizzi/greenhouse.git
cd greenhouse
uv sync
Copy .env.example and fill in your Tuya credentials:
cp .env.example .env
| Variable | Required | Description |
|---|---|---|
TUYA_CLIENT_ID | Yes | Tuya IoT Platform client ID |
TUYA_CLIENT_SECRET | Yes | Tuya IoT Platform client secret |
TUYA_REGION | Yes | eu, us, cn, or in |
IRRIGATION_DB_URL | No | SQLite URL (default: sqlite:///data/irrigation.db) |
IRRIGATION_SERVER_URL | No | CLI server URL (default: http://localhost:8000) |
# Start the server (API at /api/v1, web UI at /)
uv run greenhouse-server
# Set up a cluster
uv run greenhouse cluster add "Living Room" --environment indoor
uv run greenhouse plant add "Monstera deliciosa" --cluster 1
uv run greenhouse sensor add --cluster 1 --device-id YOUR_DEVICE_ID --name "Monstera Sensor" --type soil_moisture
# Operations
uv run greenhouse status 1 # full cluster overview
uv run greenhouse irrigate 1 # smart irrigation pipeline
uv run greenhouse check --all # check all clusters + alerts
uv run greenhouse learn 1 # learning report
uv run greenhouse stats 1 --days 7 # irrigation statistics
Same data is also available via:
http://localhost:8000/ for the HTMX dashboard (clusters, per-plant charts, irrigators, history, scheduler, alerts, health).http://localhost:8000/api/v1/...; OpenAPI docs at http://localhost:8000/docs.http://localhost:8000/mcp (streamable HTTP). Point an MCP client (e.g. Claude Desktop) at it and every API endpoint shows up as a tool.Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimnpx claudepluginhub giocaizzi/greenhouse --plugin greenhouseA growing collection of Claude-compatible academic workflow bundles. Covers scientific figures, manuscript writing and polishing, reviewer assessment, citation retrieval, data availability, paper reading, literature search, response letters, paper-to-PPTX conversion, and evidence-grounded Chinese invention patent drafting. Rules are organized as reusable skill folders with explicit workflows and quality checks.
Upstash Context7 MCP server for up-to-date documentation lookup. Pull version-specific documentation and code examples directly from source repositories into your LLM context.
Reliable automation, in-depth debugging, and performance analysis in Chrome using Chrome DevTools and Puppeteer
Production-grade vibe coding suite. Structured workflows from discovery to deployment: start, build, ship, fix, refactor.
Permanent coding companion for Claude Code — survives any update. MCP-based terminal pet with ASCII art, stats, reactions, and personality.
Plugin that includes the Figma MCP server and Skills for common workflows