hortusfox-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HORTUSFOX_URL | Yes | Base URL of your HortusFox instance, e.g. https://garden.example.com | |
| HORTUSFOX_TIMEOUT | No | Request timeout in milliseconds (default 30000) | 30000 |
| HORTUSFOX_API_TOKEN | Yes | API key created in the HortusFox admin panel |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| hortusfox_get_plantA | Fetch full details of a single plant by its ID, including default fields and any custom attributes. Endpoint: /api/plants/get. |
| hortusfox_add_plantB | Create a new plant with a name and a location ID. Returns the new plant ID. Endpoint: /api/plants/add. |
| hortusfox_update_plantC | Update a single attribute of a plant by name (e.g. name, location, description, humidity, etc.). Endpoint: /api/plants/update. |
| hortusfox_remove_plantB | Delete a plant by its ID. Endpoint: /api/plants/remove. |
| hortusfox_list_plantsB | List plants, optionally filtered by location, with paging and sorting. Endpoint: /api/plants/list. |
| hortusfox_search_plantsA | Search plants by a free-text expression (matches name, location, attributes and more). Endpoint: /api/plants/search. |
| hortusfox_add_plant_attributeB | Add a custom attribute to a plant. Endpoint: /api/plants/attributes/add. |
| hortusfox_edit_plant_attributeB | Edit an existing custom attribute of a plant, identified by its label. Endpoint: /api/plants/attributes/edit. |
| hortusfox_remove_plant_attributeB | Remove a custom attribute from a plant by its label. Endpoint: /api/plants/attributes/remove. |
| hortusfox_update_plant_photoA | Update the main preview photo of a plant. Set external=true and provide a photo URL to use an external image. Optionally move the current photo into the gallery first. Endpoint: /api/plants/photo/update. |
| hortusfox_list_plant_galleryB | List all gallery photos for a plant. Endpoint: /api/plants/gallery/list. |
| hortusfox_add_plant_gallery_photoB | Add a photo to a plant gallery. Set external=true and provide a photo URL to add an external image. Endpoint: /api/plants/gallery/add. |
| hortusfox_edit_plant_gallery_photoB | Edit the label of a gallery photo item. Endpoint: /api/plants/gallery/edit. |
| hortusfox_remove_plant_gallery_photoC | Remove a gallery photo by its item ID. Endpoint: /api/plants/gallery/remove. |
| hortusfox_add_plant_log_entryB | Add a log/journal entry to a plant. Returns the new log entry ID. Endpoint: /api/plants/log/add. |
| hortusfox_edit_plant_log_entryB | Edit an existing plant log entry by its ID. Endpoint: /api/plants/log/edit. |
| hortusfox_remove_plant_log_entryB | Remove a plant log entry by its ID. Endpoint: /api/plants/log/remove. |
| hortusfox_fetch_plant_logB | Fetch log entries for a plant, with optional pagination. Endpoint: /api/plants/log/fetch. |
| hortusfox_list_locationsB | List locations, optionally including the plants at each location. Endpoint: /api/locations/list. |
| hortusfox_get_locationB | Fetch details of a single location by ID, optionally including its plants. Endpoint: /api/locations/info. |
| hortusfox_fetch_tasksA | Fetch tasks, optionally including completed ones. Endpoint: /api/tasks/fetch. |
| hortusfox_add_taskA | Create a task. Supports an optional due date, recurrence, and association with a plant. Returns the new task ID. Endpoint: /api/tasks/add. |
| hortusfox_edit_taskB | Edit an existing task by ID, including toggling its done state. Endpoint: /api/tasks/edit. |
| hortusfox_remove_taskB | Remove a task by ID. Endpoint: /api/tasks/remove. |
| hortusfox_fetch_inventoryA | Fetch the full inventory list. Endpoint: /api/inventory/fetch. |
| hortusfox_add_inventory_itemB | Add a new inventory item. Returns the new item ID. Endpoint: /api/inventory/add. |
| hortusfox_edit_inventory_itemB | Edit an existing inventory item by ID. Endpoint: /api/inventory/edit. |
| hortusfox_increment_inventory_itemA | Increment the amount of an inventory item by one. Returns the new amount. Endpoint: /api/inventory/amount/inc. |
| hortusfox_decrement_inventory_itemA | Decrement the amount of an inventory item by one. Returns the new amount. Endpoint: /api/inventory/amount/dec. |
| hortusfox_remove_inventory_itemB | Remove an inventory item by ID. Endpoint: /api/inventory/remove. |
| hortusfox_fetch_calendarB | Fetch calendar entries within a date range. Defaults to today through the next 30 days when omitted. Endpoint: /api/calendar/fetch. |
| hortusfox_add_calendar_entryB | Add a calendar entry with a name, start date and optional end date and class. Returns the new item ID. Endpoint: /api/calendar/add. |
| hortusfox_edit_calendar_entryB | Edit an existing calendar entry by its identifier. Endpoint: /api/calendar/edit. |
| hortusfox_remove_calendar_entryC | Remove a calendar entry by its identifier. Endpoint: /api/calendar/remove. |
| hortusfox_fetch_chatB | Fetch recent workspace chat messages. Endpoint: /api/chat/fetch. |
| hortusfox_add_chat_messageB | Post a message to the workspace chat (sent via the API/bot identity). Endpoint: /api/chat/message/add. |
| hortusfox_export_backupA | Export a backup archive for the selected data categories. Returns a downloadable file URL. Endpoint: /api/backup/export. |
| hortusfox_import_backupB | Import previously staged backup data for the selected categories. Endpoint: /api/backup/import. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 38 tools
Most tools are clearly separated by resource and action, so an agent can usually pick the right one. The main overlap is hortusfox_update_plant vs hortusfox_edit_plant_attribute, both of which can look like attribute modification, and the numerous read variants (get/list/fetch/search) require careful description reading.
Every tool uses the hortusfox_<verb>_<noun> snake_case pattern, and CRUD verbs are mostly consistent. However, reads mix get, list, fetch, and search, and modifications mix update and edit, so the verb choice is not fully predictable.
38 tools is a high count, but it is organized into logical modules (plants, locations, calendar, tasks, inventory, chat, backup) and each tool maps to a distinct endpoint. Even so, the set is larger than ideal for an MCP server and may feel heavy to an agent.
Core plant management is well covered: plant CRUD, custom attributes, gallery photos, log entries, plus tasks, calendar, inventory, and backup. The notable gap is locations only support list/get, with no create/update/delete, which can block workflows that need to set up or modify locations.