Plant Guide: Dubai gardening research
Server Details
What to plant in Dubai each month, plant care in the heat, garden styles and Garden Care prices.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 13 tools
Most tools map to distinct resources (clients vs. plants vs. styles), but get_guide is a generic guide accessor that overlaps conceptually with get_kitchen_garden_guide, get_garden_style, and get_dubai_climate, and get_planting_calendar partly overlaps what_to_plant on timing questions. Descriptions do a good job steering the agent, so confusion is limited rather than pervasive.
The set is dominated by a clean verb_noun pattern (get_plant, search_plants, list_garden_styles, estimate_garden_care_price). The lone deviation is what_to_plant, which is phrased as a question rather than verb_noun, but it remains readable and unambiguous.
13 tools is well within the ideal 3-15 range for a domain research server. Each tool covers a distinct facet (climate, plants, styles, guides, calendar, plus lead-gen actions) without filler.
The surface covers the full research lifecycle (search/browse plants and guides, get details, climate, calendars, styles) plus commercial actions like pricing, contact and designer links. Minor gap: there is no explicit way to enumerate all plants or guides by category without a keyword, but search_plants/search_guides largely compensate.
Available Tools
13 toolsbuild_designer_linkOpen the garden designer with plantsARead-onlyIdempotentInspect
A link that opens our free garden designer with the given plants already in the plant list, so the person can sketch a layout or hand the list to a designer.
| Name | Required | Description | Default |
|---|---|---|---|
| plants | Yes | 1–20 plants, by slug or name, to put in the designer's plant list. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and openWorldHint=false, so the safety profile is covered. The description adds that plants are inserted into the designer's plant list, but says nothing about the link's lifetime, format, or whether the plant list is persisted server-side.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact sentence that front-loads the return value (a link) and then the purpose. No filler, though the clause about handing the list to a designer is slightly decorative rather than operational.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, but the description still communicates what the caller gets back (an openable designer link with the plants populated). For a one-parameter, read-only tool this is close to complete, missing only return-format specifics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single 'plants' parameter is fully documented with ranges and slug/name guidance. The description restates that plants end up in the designer's plant list, adding minor meaning beyond the schema, which fits the baseline-3 case where the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear outcome: producing a link that opens the garden designer with the given plants pre-loaded. It is easy to distinguish from siblings like search_plants or get_guide, though it doesn't explicitly name the closest sibling (get_contact_link) that also builds a link.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies when the tool is useful ('so the person can sketch a layout or hand the list to a designer'), which conveys intent but not a when-to-use/when-not-to-use rule. No alternative is named or excluded, leaving the agent to infer that this is the link-building option among the get_* siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
estimate_garden_care_priceEstimate monthly garden and pool careARead-onlyIdempotentInspect
Monthly Garden Care price (AED, excluding 5% VAT) for a Dubai villa from garden area, lawn type, pool size, complexity and number of trees, with visit frequency and the breakdown.
| Name | Required | Description | Default |
|---|---|---|---|
| lawn | Yes | Lawn type: none, natural or artificial. | |
| pool | Yes | Pool size: none, small (to 25 m² of water), medium (to 50 m²) or large (over 50 m²). | |
| trees | Yes | Number of trees and palms: "0-5", "6-15" or "16+". | |
| areaM2 | Yes | Garden area in m², excluding the pool: 0–2000. | |
| complexity | Yes | How demanding the garden is: simple, moderate or complex (mature, dense or intricate planting). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish a safe, idempotent, non-open-world computation, so the description's remaining job is to add cost-relevant context. It does: prices are in AED, exclude 5% VAT, and the response includes visit frequency plus a breakdown, which tells the agent what it will get back. It does not describe pricing tiers or whether inputs are validated against ranges, but that is minor against the annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence that front-loads the deliverable (monthly price) before the inputs and the output detail. It is efficient but telegraphic, and a reader must parse a long prepositional chain to separate inputs from outputs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 required, fully documented enum/number parameters and no output schema, the description usefully closes the loop by stating the currency, VAT treatment and the shape of the return (visit frequency, breakdown). What remains missing is any indication of pricing assumptions or escalation factors, but nothing an agent needs in order to call it correctly is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with enums fully annotated for lawn, pool, trees and complexity and a 0–2000 bound on areaM2. The description merely echoes the parameter names, so it adds no meaning beyond the schema, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb-and-output (monthly Garden Care price) for a specific scope (Dubai villa) and enumerates the driving inputs. It is unmistakably a pricing-estimate tool and cannot be confused with the informational siblings (get_plant, what_to_plant, get_guide). It stops short of an explicit sibling comparison, which is unnecessary here but keeps it out of the top band.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the description – call it to get a monthly care price estimate for a villa garden – but there is no explicit 'use this when' trigger, no mention of when not to use it, and no pointer to an alternative pricing path. Adequate but a clear gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_contact_linkWhatsApp link to talk to usARead-onlyIdempotentInspect
A WhatsApp click-to-chat link with a pre-filled message (topic, plants, community and notes) for when the person wants a quote, a visit or help from our team. Nothing is sent until they press send in WhatsApp.
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | Anything the person wants to say, in their words (up to 500 characters). | |
| topic | No | What the message is about: garden-care, build, design, plants, kitchen-garden, what-to-plant, styles or general. Defaults to plants when plants are given, else general. | |
| plants | No | Up to 20 plants (slugs or names) the person is interested in; they are listed in the message. | |
| community | No | The person's Dubai community, e.g. "Arabian Ranches". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and openWorldHint=false, so the safety profile is largely covered. The description adds genuinely useful context beyond that: 'Nothing is sent until they press send in WhatsApp,' which tells the agent the tool has no side effects and that delivery depends on a human action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no waste: the first defines the artifact and its payload, the second carries the key behavioral caveat. Front-loaded and appropriately sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description effectively communicates the return value (a link with a pre-filled message) even though no output schema exists, and it covers the no-side-effect behavior. Minor gap: it doesn't state what happens with omitted optional parameters beyond the topic default already in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter (note, topic, plants, community) is already documented with type, length limits and the topic default rule. The description only names the same fields, adding no syntax, formatting or ordering detail beyond the schema; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: it produces a WhatsApp click-to-chat link with a pre-filled message, and enumerates the content it embeds (topic, plants, community, note). This is clear and distinguishable from the read-only content siblings (get_plant, get_guide), though it does not explicitly contrast itself with build_designer_link, the other link-generating sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a concrete usage condition: 'when the person wants a quote, a visit or help from our team.' That is a clear triggering scenario, but no exclusions or named alternatives are offered, so an agent must infer when to prefer this over build_designer_link.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dubai_climateDubai climate and monthly garden tasksARead-onlyIdempotentInspect
Dubai's monthly average high and low temperatures and rainfall (WMO 1991–2020 normals), the planting season and summer work-ban months, and the garden and pool tasks for each month.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations already declaring readOnlyHint, idempotentHint, and openWorldHint=false, the safety profile is covered. The description adds useful context beyond annotations by naming the data source (WMO 1991–2020 normals) and specifying that months include garden and pool tasks, though it does not describe return structure or any operational caveats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence enumerates the returned data without redundancy or filler. Every clause contributes a distinct piece of information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only lookup with no output schema and rich annotations, the description fully specifies what the tool returns. An agent needs no additional input details or behavioral caveats to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there are no input semantics to clarify. The schema is empty and complete; the description appropriately does not invent parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states exactly what data is returned: Dubai's monthly average high/low temperatures, rainfall, planting season, summer work-ban months, and garden/pool tasks per month. It is specific enough to distinguish this Dubai-focused tool from generic siblings like get_planting_calendar or what_to_plant.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description only lists the content of the tool and gives no explicit guidance on when to use it versus alternatives such as get_planting_calendar, get_kitchen_garden_guide, or what_to_plant. There are no conditions, exclusions, or routing hints for the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_garden_styleGarden style guideBRead-onlyIdempotentInspect
The full guide to one garden style: why choose it, the mood, its anatomy, upkeep (weekly, monthly, seasonal), water, who it suits and doesn't, common beliefs vs reality, Dubai notes, variations and its plant palette.
| Name | Required | Description | Default |
|---|---|---|---|
| style | Yes | A style slug or name: tropical, manicured, luxury or desert-modern. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint=false, so the safety profile is covered. The description's contribution is enumerating the returned sections (mood, upkeep cadence, water, Dubai notes, plant palette), which is genuinely useful given there is no output schema, but it says nothing about response size, caching, or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero filler, and the enumeration of contents is justified because no output schema exists to convey the return shape. It is slightly run-on, but every clause maps to real returned content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does the heavy lifting by itemizing what the guide contains, so an agent can judge whether the result will answer the user's question. The notable gap is the absence of any discovery guidance about how to obtain valid style slugs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter and schema description coverage is 100%; the schema already gives example values (tropical, manicured, luxury, desert-modern) and length bounds. The description adds no additional meaning about accepted formats or invalid-input behavior, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (the full guide for one garden style) and enumerates exactly what the payload covers, so an agent knows this is a per-style content retrieval, not a list. It does not, however, distinguish itself from siblings like get_guide, search_guides, or list_garden_styles, leaving the routing to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this versus list_garden_styles (to discover valid styles) or search_guides/get_guide. The only implicit guidance is that you must already know a style to call it, which is left for the agent to infer from the required 'style' parameter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_guideRead a guideARead-onlyIdempotentInspect
One guide in full, as Markdown, with its FAQ and sources.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | The guide's slug, e.g. "watering-garden-dubai-summer" (find slugs with search_guides). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint=false, so safety is covered. The description adds genuinely useful context by specifying the return shape (full Markdown with FAQ and sources), which matters since there is no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence that front-loads the essential fact (what is returned and in what form). Every word earns its place with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with no output schema, the description covers the key unknown — what the caller receives. It stops short of mentioning failure behavior for a missing slug, which is the only notable gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single required 'slug' parameter, so the schema fully documents the input, including an example and a pointer to search_guides. The description adds nothing beyond 'one guide', so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource ('one guide'), the scope ('in full'), and the return format ('as Markdown, with its FAQ and sources'). It clearly implies single-item retrieval, though it never explicitly contrasts itself with the sibling search_guides.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: an agent can infer you call this to read a specific guide. However, the when-to-use routing ('find slugs with search_guides') lives only in the schema's slug description, not the tool description, and no exclusions or preconditions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_kitchen_garden_guideKitchen garden in DubaiARead-onlyIdempotentInspect
How to grow vegetables, herbs and fruit at home in Dubai: the sowing and harvest calendar, raised beds vs pots vs a fruit-tree corner, a step-by-step bed build, what to do in summer, common mistakes and FAQ.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=false, and idempotentHint=true, so the safety profile is covered. The description adds value beyond them by enumerating the guide's sections, effectively disclosing what the agent will receive, though it does not state output format or length.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence, front-loaded with the main topic, with no filler. Each clause adds a distinct section of the guide.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless, read-only guide with no output schema, the description thoroughly covers the guide's scope. It omits return format and sourcing, but is sufficient for an agent to decide whether to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4 per the rubric. The schema is empty and there are no parameter semantics to clarify.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource — a kitchen garden guide for Dubai — and enumerates its contents (sowing/harvest calendar, bed types, step-by-step build). It is clearly distinct from generic siblings like get_guide or what_to_plant by topic, though it never uses an explicit verb like 'returns' or names an alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance or exclusions are provided. With overlapping siblings such as get_guide, what_to_plant, and get_planting_calendar, the description never tells the agent which tool to choose for a given query.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_plantFull plant profileARead-onlyIdempotentInspect
Everything about one plant in Dubai: ratings, size, sun and water, seasonal calendar, watering in summer and winter, soil, feeding, pruning, pests, common mistakes, varieties, design use, FAQ, photos with credits and sources. Accepts a slug or any common, botanical or Arabic name.
| Name | Required | Description | Default |
|---|---|---|---|
| plant | Yes | The plant: its slug ("ghaf") or any common, botanical or Arabic name ("Prosopis cineraria", "غاف"). Typos are tolerated. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and closed-world, so the safety profile is covered. The description adds the useful content scope ('in Dubai', the breadth of returned sections) but says nothing about failure behavior, ambiguity handling when a name matches multiple plants, or response shape beyond a section list.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence establishes the purpose, followed by a compact inventory of what the profile contains, then a single clause on input acceptance. The section list is long but each item maps to real returned content and there is no filler prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, enumerating the returned sections (ratings, watering, pests, FAQ, photos with credits) is genuinely valuable and covers what an agent should expect back. The main remaining gap is that it never positions the tool relative to search_plants or what_to_plant for multi-plant or seasonal queries.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter's description already spells out slug, common, botanical and Arabic name formats plus typo tolerance. The description restates the same accepted-name guidance without adding format or disambiguation detail, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('everything about one plant') and scopes it to Dubai, making it clearly a single-plant detail lookup. It never names search_plants or otherwise explicitly contrasts with the sibling that would be used for discovery, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the enumerated content implies a deep-dive lookup, and the acceptance of slug/common/botanical/Arabic names hints at how to call it. There is no explicit when-to-use statement, no mention of whether it replaces or follows search_plants, and no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_planting_calendarMonth-by-month planting calendarARead-onlyIdempotentInspect
Sow, plant, flower, harvest, prune and feed months for a set of plants (by slug, category or group), as a 12-month grid. Use it to compare timings across several plants.
| Name | Required | Description | Default |
|---|---|---|---|
| group | No | All plants of one group (shows the first 60). | |
| slugs | No | Up to 30 plants, by slug or name. Omit slugs, category and group for the kitchen-garden vegetables and herbs. | |
| category | No | All plants of one category (shows the first 60). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and openWorldHint=false, so the safety profile is covered. The description adds the '12-month grid' output shape, which is useful behavioral context, but nothing about rate limits, auth, or truncation behaviour (the 'first 60' caps live only in the schema).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with no filler; the capability list is front-loaded and the use case follows. Slightly dense but every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does supply the return shape ('a 12-month grid'), and annotations cover safety. What is missing is only marginal: how results are ordered or whether the 60-item cap truncates silently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with enum values and defaults fully documented, so the baseline is 3. The description's phrase 'by slug, category or group' merely restates the parameter names without adding format, priority, or combination semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete resource (planting calendar) and enumerates the operations it covers (sow, plant, flower, harvest, prune, feed) plus the selector dimension (slug, category, group), so the agent knows exactly what is produced. It does not explicitly contrast itself with the closest sibling, what_to_plant, which is the main remaining ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
One positive use case is given: 'Use it to compare timings across several plants,' which implies the multi-plant comparison scenario. However, there is no guidance on when to prefer this over what_to_plant or get_kitchen_garden_guide, and no exclusions, so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_garden_stylesGarden styles for DubaiARead-onlyIdempotentInspect
The garden styles we design in Dubai (tropical, manicured, luxury, desert modern) with mood, upkeep effort, water use, build cost per m² and key plants.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and openWorldHint=false, so the safety profile is covered. The description adds real value beyond that by naming the exact payload fields (mood, upkeep effort, water use, build cost per m², key plants) an agent will receive, which is useful given there is no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that names the resource and its attributes with no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless read-only catalog with no output schema, the description is nearly complete: it identifies the scope (Dubai) and the fields returned. The one substantive gap is the failure to distinguish this list operation from the sibling get_garden_style single-item operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline of 4 applies; there is nothing parameter-related the description needs to compensate for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (lists the garden styles designed in Dubai) and enumerates the concrete values returned (tropical, manicured, luxury, desert modern). It is clear, but it never distinguishes itself from the sibling get_garden_style, so an agent cannot tell from this text which of the two to pick for a single-style lookup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance. Nothing tells the agent to call this for a broad catalog versus get_garden_style for one specific style, and no prerequisite or ordering advice is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_guidesSearch Dubai gardening guidesARead-onlyIdempotentInspect
Find our practical guides (planting calendar, summer watering, lawn grasses, costs, approvals and more) by keyword, topic or month.
| Name | Required | Description | Default |
|---|---|---|---|
| month | No | Only guides for this time of year (1–12 or a name). | |
| query | No | Words to look for in guide titles, summaries and tags, e.g. "summer watering", "lawn", "approvals". | |
| pillar | No | Topic: planting, costs-water, approvals, outdoor-living or maintenance. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=false and idempotentHint=true, so the safety and determinism profile is fully covered. The description adds content-scope context but says nothing about result limits, pagination, or behavior on zero matches, so it adds only modest value beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single well-formed sentence with the searchable content front-loaded and the search modes at the end. No filler; appropriately sized for a simple search tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero required parameters, a fully annotated read-only profile, and 100% schema coverage, the definition gives an agent enough to invoke the tool correctly. Since there is no output schema, a brief note on return shape would be the only missing piece, but it is not essential for a keyword search.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters (month, query, pillar) are already well documented, giving a baseline of 3. The description's 'by keyword, topic or month' merely restates the parameter axes without adding format or validation detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb ('Find') plus resource ('guides') scoped to Dubai gardening, and the parenthetical enumerates the covered content areas (planting calendar, summer watering, costs, approvals). It does not explicitly distinguish itself from the sibling get_guide, which retrieves a single guide, so an agent must infer the search-vs-fetch split.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'by keyword, topic or month' implies the three ways to search, which is useful implied guidance. However, there is no explicit statement of when to prefer this over get_guide or get_planting_calendar, and no exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_plantsSearch the Dubai plant libraryARead-onlyIdempotentInspect
Search and filter the library of plants rated for Dubai's heat, salt, drought and shade: by name (English, botanical or Arabic), category, sun, water need, minimum tolerance ratings, use, garden style or planting month. Returns short profiles with links; call get_plant for the full one.
| Name | Required | Description | Default |
|---|---|---|---|
| sun | No | The plant's light need, exact match: full-sun, sun-part-shade, part-shade or shade. | |
| use | No | What the plant is for: shade-tree, specimen, hedge, screen, windbreak, groundcover, lawn, container, climber, pool-side, fragrance, edible, bedding, indoor or native-habitat. | |
| group | No | Only this group: vegetables-herbs, flowers, trees-palms, shrubs-climbers, lawn-grasses, indoor or water. | |
| limit | No | Results per page, 1–50 (default 20). | |
| query | No | Words to look for in names (English, botanical, Arabic) and descriptions, e.g. "date palm", "غاف", "salt tolerant hedge". | |
| style | No | Garden style it suits: tropical, manicured, luxury or desert-modern. | |
| water | No | Highest water need you accept: "low" keeps very-low and low. | |
| offset | No | How many results to skip, for paging; use the nextOffset from the previous page. | |
| origin | No | native (UAE), adapted or exotic. | |
| minEase | No | Minimum ease of care, 1–5 (5 = easiest). | |
| minHeat | No | Minimum heat tolerance in Dubai, 1–5 (5 = best). | |
| minSalt | No | Minimum salt tolerance, 1–5 (5 = best). | |
| category | No | Only these plant categories (any of them): tree, palm, shrub, climber, groundcover, flower, grass, succulent, herb, edible, indoor, fruit-tree, vegetable, ornamental-grass, aquatic. | |
| minShade | No | Minimum shade tolerance, 1–5 (5 = best); use for shady spots. | |
| minDrought | No | Minimum drought tolerance, 1–5 (5 = best). | |
| plantingMonth | No | Only plants with a sowing or planting window in this month (1–12 or a name). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly=true, idempotent=true, openWorld=false), so the bar is lower; the description adds the return shape ('short profiles with links') and defers detail to get_plant. It does not mention result-count or paging behavior, but for a read-only filtered list this is a solid addition beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler; the primary action and filter surface come first, the get_plant handoff second. Every clause carries information an agent can act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does the work of stating what comes back ('short profiles with links'), and all 16 parameters are documented in the schema. Detail on paging/result counts is left to the schema's offset description, a minor gap for a 16-param search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description earns an increment by consolidating 16 flat parameters into recognizable filter axes (name language variants, category, sun, water, minimum tolerance ratings, use, style, planting month) and clarifying that name search spans English, botanical and Arabic. It adds orientation rather than new parameter mechanics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb (search/filter) and resource (plant library rated for Dubai's heat, salt, drought and shade), and enumerates the filter axes so the agent knows the search surface. It also explicitly distinguishes itself from get_plant ('call get_plant for the full one'), so sibling separation is clear without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description names the alternative (get_plant) and the condition that selects it, and implies use for discovery/lightweight lookups ('returns short profiles with links'). It stops short of explicit when-not guidance or stating that zero filters is valid, but the routing intent is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
what_to_plantWhat to plant in Dubai this monthARead-onlyIdempotentInspect
What to sow and plant in Dubai in a given month or season, plus what is flowering, fruiting or ready to harvest, the month's verdict, tips, watch-outs and the climate. Defaults to the current month in Dubai. Start here for any 'what should I plant now / in October / in summer' question.
| Name | Required | Description | Default |
|---|---|---|---|
| group | No | Only this kind of plant: vegetables-herbs, flowers, trees-palms, shrubs-climbers, lawn-grasses, indoor or water. | |
| limit | No | Most plants to list per section, 1–50 (default 20). Long lists are sampled across groups; filter by group to see more. | |
| month | No | Month to plan for: 1–12 or a name like "october". Omit for the current month in Dubai. Not with season. | |
| season | No | A whole season instead of one month: winter (Dec–Feb), spring (Mar–May), summer (Jun–Sep) or autumn (Oct–Nov). Not with month. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and openWorldHint=false, so safety is covered. The description adds value beyond that by disclosing the default month behavior and sketching the response contents (verdict, tips, watch-outs, climate), which is exactly what matters for a tool with no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with what the tool returns, and each clause carries distinct content. The middle enumeration is list-heavy but earns its place by describing the response shape, since there is no output schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-required-parameter, read-only lookup with no output schema, the description covers purpose, defaults, response contents and the trigger phrasing. Nothing an agent needs in order to select and invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the group enum, limit bounds and the month/season mutual exclusion all documented in the schema itself. The description only restates the month default and adds nothing about formats, aliases or interplay that the schema does not already carry, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete resource (planting guidance for Dubai) scoped by month or season, and enumerates the payload it returns: sow/plant lists, flowering/fruiting/harvest status, verdict, tips, watch-outs and climate. The closing line routes the agent explicitly for the 'what should I plant now / in October / in summer' phrasing, which separates it from the generic plant-lookup siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context ('Start here for any what should I plant now question') and the default behavior (current month in Dubai), which tells the agent this can be called with zero arguments. It does not name or exclude alternatives such as get_planting_calendar, so the agent must infer which of the two near-overlapping siblings to prefer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
13 tool updates
- First observed
build_designer_link - First observed
estimate_garden_care_price - First observed
get_contact_link - First observed
get_dubai_climate - First observed
get_garden_style - First observed
get_guide - First observed
get_kitchen_garden_guide - First observed
get_plant - First observed
get_planting_calendar - First observed
list_garden_styles - First observed
search_guides - First observed
search_plants - First observed
what_to_plant
Related MCP Connectors
Search crops, check companion planting, explore seasonal calendars, and find planting plans.
Your vegetable garden: what's growing, what you've done, what needs doing next and when to water.
Dubai property prices, AED/sqft, sales, rents, yields and projects from DLD registered transactions.
Official Dubai real estate data: live prices and rental yields by area, from the DLD.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceProvides astrology-aware garden care planning by combining lunar phase, Vedic panchang, weather, and soil forecasts into structured care plans with rationales and confidence scores.1-
- FlicenseNot gradedqualityBmaintenanceEnables plant disease diagnosis and identification, plant recommendations, garden layout design, pot management, and care scheduling with reminders, integrating with Kakao services.-
- AlicenseNot gradedqualityBmaintenanceAn MCP server for gardeners providing plant identification, climate-adjusted watering schedules, soil analysis, companion planting compatibility, and pest diagnosis with organic treatment plans.7 npm37 PyPIMIT
- AlicenseNot gradedqualityBmaintenanceEnables users to produce explainable UK garden watering recommendations as deterministic millimetres, litres and runtime from self-reported garden details or an optional postcode, without controlling irrigation hardware.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.