plant-intel-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PERENUAL_API_KEY | Yes | Species data. Free key from https://perenual.com/docs/api. Required to use the server's plant data tools. | |
| PERMAPEOPLE_KEY_ID | No | Optional. Adds documented companion listings. Free, self-service from https://permapeople.org/my/api_keys. | |
| PLANT_INTEL_CACHE_DIR | No | Optional. Cache location. Defaults under `XDG_CACHE_HOME` or `~/.cache`. | |
| PERENUAL_IDENTIFY_BETA | No | Optional. Set to `1` to register `identify_plant`. Needs Perenual beta access. | |
| PERMAPEOPLE_KEY_SECRET | No | Optional. Adds documented companion listings. Free, self-service from https://permapeople.org/my/api_keys. | |
| PLANT_INTEL_CACHE_DISABLED | No | Optional. Set to `1` to disable caching. |
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 |
|---|---|
| search_plantsA | Search the Perenual species catalogue by name and return candidate species with ids. Use the returned id with plant_details, companion_check, or planting_window rather than passing a name again -- resolving a name costs an extra upstream request. |
| plant_detailsA | Full care profile for one species: sun, water, hardiness zones, mature height, edibility, toxicity to people and pets, and known pests. Fields the configured Perenual plan withholds are reported as null and named in |
| planting_windowA | Frost envelope and hardiness fit for a plant at a location. Given coordinates it derives last spring frost, first autumn frost, season length, and the USDA zone from ten years of observed daily minima. Supply days_to_maturity and frost_tolerance from your own crop data to also get transplant and sow-by dates -- no source this server reads publishes those, so they are never guessed. |
| companion_checkA | Whether two plants should share a bed, with the mechanism behind the answer. A "bad" verdict is derived from shared botanical family (rotation and soilborne disease) or overlapping pest susceptibility, never from folklore. A "good" verdict comes from a documented Permapeople listing when that source is configured. Every matched reason is returned, including any the verdict overrode. |
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 4 tools
Each tool targets a distinct operation: searching plants, retrieving details, computing planting windows, and checking companions. There is no overlap in purpose; the tools chain together via the search_then_detail flow, making selection unambiguous.
All tool names follow a consistent pattern: a noun ('plant') modified by a descriptor ('details', 'intel', 'window', 'check'). The names are clear, descriptive, and follow a predictable schema, with no mixed conventions or vague verbs.
Four tools is a lean but coherent set for a plant-intel domain. Each tool covers a distinct need (search, details, planting time, companionship), so none feel redundant. A fifth tool for bulk or batch queries might be additive, but the current count is appropriate for the niche scope.
The server covers the primary lifecycle: identify a plant, retrieve its profile, plan its planting window, and assess its compatibility with neighbors. Notable gaps include a missing tool for updating or managing the data (e.g., adding a custom plant or saving a garden plan), but the core research-oriented use case is fully covered.