Atlarium Habitat Database MCP
Server Details
Structured aquarium, marine, terrarium and paludarium data for AI agents.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 3.6/5 across 39 of 39 tools scored.
Each tool has a clearly distinct purpose: search, get, calculate, etc. Even with similar prefixes (e.g., search_* vs. get_*), the resource targeted differs (algae, diseases, plants, etc.), so no ambiguity.
All tools follow a consistent verb_noun pattern (e.g., search_algae, calculate_water_change) with no mixing of conventions. Verbs are all lowercase and underscore-separated.
39 tools is on the higher side but justified by the broad domain covering species, plants, diseases, products, calculations, and suggestions. Each tool serves a specific purpose, so the count feels reasonable rather than excessive.
The tool set covers all major aspects of aquarium habitat management: searching/getting profiles, calculations, diagnostics, compatibility, and complete habitat suggestions. No obvious gaps for the public database scope.
Available Tools
39 toolscalculate_equipment_requirementsCalculate equipment requirementsBRead-onlyIdempotentInspect
Calculate advisory heater, lighting and electricity requirements.
| Name | Required | Description | Default |
|---|---|---|---|
| heater | No | Heater sizing input. | |
| lighting | No | Lighting estimate input. | |
| electricity | No | Electricity cost and usage calculation input. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| tool | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and idempotentHint=true, signaling a safe, non-destructive calculation. The description aligns but adds no further behavioral context beyond what annotations provide. With good annotation coverage, this is adequate.
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?
The description is a single, concise sentence that lists the three categories. It is front-loaded and efficient, though it could be slightly expanded for clarity without becoming verbose.
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?
Despite having an output schema, the description is too brief for a tool with 11 parameters across three nested objects. It lacks explanation of what 'advisory' means, prerequisites, or typical use cases, leaving the agent underinformed.
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 the input schema already documents all parameters. The tool description adds no additional meaning beyond the schema, resulting in a baseline score of 3.
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 specifies 'Calculate advisory heater, lighting and electricity requirements', clearly indicating the tool's purpose and resources. It distinguishes from sibling tools like 'calculate_fertilizer_dose' but could be more precise about 'advisory'.
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 guidance on when to use this tool versus alternatives such as 'get_equipment_profile' or 'search_equipment'. The description offers no context for selection, leaving the agent without decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_fertilizer_doseCalculate fertilizer doseARead-onlyIdempotentInspect
Calculate an advisory fertilizer dose for a public catalog product and tank volume.
| Name | Required | Description | Default |
|---|---|---|---|
| brand_name | No | Optional public fertilizer brand name. | |
| product_name | Yes | Public fertilizer product name. | |
| volume_liters | Yes | Tank or habitat volume in liters. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| tool | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, so the agent knows it's safe and idempotent. The description adds 'advisory' but does not disclose additional behavioral traits such as error handling or output specifics. The output schema exists, which mitigates some need for return value description.
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?
The description is a single sentence that is front-loaded with the main verb and purpose. Every word is necessary and contributes to clarity.
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 tool is simple, has a full schema and output schema, and annotations cover safety. The description is short but sufficient for understanding the primary purpose. Minor lack of detail about what 'advisory' means, but overall complete given the context.
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?
All parameters have descriptions in the schema (100% coverage). The description does not add extra meaning beyond what the schema provides; it merely restates 'product' and 'volume'. The role of optional 'brand_name' is not clarified.
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 clearly states the tool calculates an advisory fertilizer dose for a public catalog product and tank volume. It uses a specific verb and resource, and while sibling tools include other calculations, this one is uniquely focused on fertilizer dose.
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 implies usage for when a dose needs to be calculated given a product and volume, but it does not explicitly state when to use it over alternatives or provide any exclusions. No guidance on when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_nutrient_gapsCalculate nutrient gapsARead-onlyIdempotentInspect
Compare nutrient targets with supplied measurements without saving user data.
| Name | Required | Description | Default |
|---|---|---|---|
| items | No | Optional supplied fertilization plan items to analyze. | |
| regime | No | Optional fertilization regime name or strategy. | |
| targets | No | Optional target nutrient concentrations. | |
| language | No | Optional preferred response language: it, en or es. | |
| measurements | No | Optional current measurements for nutrient-gap calculations. | |
| volume_liters | Yes | Tank or habitat volume in liters. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| tool | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true. The description adds that it does not save data, which is consistent with readOnlyHint but does not provide additional behavioral traits beyond what annotations already convey. Since annotations carry the burden, the description adds limited value here.
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?
The description is a single sentence that is front-loaded with the action and key information. There is no wasted verbiage, and every word contributes to understanding. It is appropriately sized for a calculation tool with a rich 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?
The tool has 6 parameters including nested objects and an output schema (not shown). The description is brief but sufficient given the detailed schema coverage. It could mention that volume_liters is required, but overall it provides enough context for an agent to understand the tool's basic purpose and behavior.
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 the input schema already describes all parameters thoroughly. The description itself does not add any parameter-level details or clarify usage beyond what the schema provides. Thus, it meets the baseline of 3 but does not exceed it.
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 uses a specific verb ('Compare') and identifies the key resources ('nutrient targets' and 'supplied measurements'). It also notes a distinguishing feature ('without saving user data'), which differentiates it from sibling tools that may involve saving or persisting data. This clearly states the tool's function and scope.
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 explicitly mentions 'without saving user data', which implies the tool is for analysis only and not for persistent operations. This provides clear context for when to use it (e.g., for one-off comparisons) versus alternative tools that might modify or store data. However, it does not explicitly list when not to use it or name alternative tools, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_tank_volumeCalculate tank volumeARead-onlyIdempotentInspect
Calculate gross and net aquarium volume estimates from dimensions.
| Name | Required | Description | Default |
|---|---|---|---|
| shape | Yes | Tank shape: rectangular, cylindrical or bow-front. | |
| width_cm | No | Tank width in centimeters. | |
| height_cm | No | Tank height in centimeters. | |
| length_cm | No | Tank length in centimeters. | |
| diameter_cm | No | Cylinder diameter in centimeters. | |
| bow_depth_cm | No | Curved front depth in centimeters for bow-front tanks. | |
| water_height_cm | No | Actual filled water height in centimeters. | |
| glass_thickness_mm | No | Glass thickness in millimeters for net volume estimates. | |
| substrate_depth_cm | No | Substrate depth in centimeters. | |
| water_density_kg_per_liter | No | Water density in kilograms per liter. | |
| hardscape_displacement_liters | No | Estimated hardscape displacement in liters. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| tool | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly, idempotent, and non-destructive behavior. The description adds value by specifying that both gross and net estimates are computed, implying the use of parameters like glass thickness and substrate depth, which helps the agent understand the tool's scope 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?
The description is a single sentence of 10 words, front-loaded with the key action and output. No unnecessary information is included, making it highly concise.
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?
Given the complexity (11 parameters) and the existence of an output schema, the description covers the core purpose. However, it does not specify which parameters are needed for gross vs. net estimates or that shape determines required dimensions, which would be helpful for an agent.
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% with descriptive parameter descriptions. The tool description does not add extra meaning beyond what the schema provides, so baseline score of 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 clearly states it calculates gross and net aquarium volume from dimensions. The verb 'calculate' and the resource 'volume estimates' are specific, and it distinguishes itself from sibling tools like calculate_tank_weight or calculate_water_change by focusing on volume.
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 explicit when-to-use or when-not-to-use guidance is provided. While the sibling tools cover other calculations, the description does not mention alternatives or context for choosing this tool over others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_tank_weightCalculate tank weightBRead-onlyIdempotentInspect
Calculate advisory aquarium weight estimates from dimensions and material inputs.
| Name | Required | Description | Default |
|---|---|---|---|
| shape | Yes | Tank shape: rectangular, cylindrical or bow-front. | |
| width_cm | No | Tank width in centimeters. | |
| height_cm | No | Tank height in centimeters. | |
| length_cm | No | Tank length in centimeters. | |
| diameter_cm | No | Cylinder diameter in centimeters. | |
| bow_depth_cm | No | Curved front depth in centimeters for bow-front tanks. | |
| water_height_cm | No | Actual filled water height in centimeters. | |
| glass_thickness_mm | No | Glass thickness in millimeters for net volume estimates. | |
| substrate_depth_cm | No | Substrate depth in centimeters. | |
| equipment_weight_kg | No | Additional equipment weight in kilograms. | |
| hardscape_weight_kg | No | Hardscape weight in kilograms. | |
| glass_weight_override_kg | No | Known glass weight override in kilograms. | |
| water_density_kg_per_liter | No | Water density in kilograms per liter. | |
| substrate_weight_override_kg | No | Known substrate weight override in kilograms. | |
| hardscape_displacement_liters | No | Estimated hardscape displacement in liters. | |
| substrate_density_kg_per_liter | No | Substrate density in kilograms per liter. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| tool | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds the term 'advisory' indicating the estimate is not authoritative. Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the bar is lower. The description does not disclose any additional behavioral traits beyond the advisory nature.
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 no wasted words. It efficiently conveys the core purpose.
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?
Despite having 16 parameters and an output schema, the description is minimal. It does not explain the output format or provide typical usage context that would help an agent interpret results or handle edge cases.
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 the input schema already documents each parameter. The description adds only a high-level grouping of parameters into 'dimensions and material inputs', which provides minimal additional meaning.
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 clearly states it calculates advisory aquarium weight estimates from dimensions and material inputs. It distinguishes from sibling tools like calculate_tank_volume by focusing on weight rather than volume, though it could explicitly differentiate.
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 lacks any indication of when to use this tool versus alternatives such as calculate_tank_volume or other calculation tools. No context about prerequisites or exclusions is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_water_changeCalculate water changeARead-onlyIdempotentInspect
Calculate water change volume, weekly totals and dilution estimates.
| Name | Required | Description | Default |
|---|---|---|---|
| volume_liters | No | Tank volume or change volume in liters. | |
| change_percent | No | Percent of tank volume changed per water change. | |
| changes_per_week | No | Number of water changes per week. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| tool | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, establishing safety. The description adds value by specifying the outputs (volume, weekly totals, dilution estimates) beyond annotations, though it does not cover edge cases or data sources.
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?
The description is a single sentence that directly conveys the tool's purpose without redundancy or filler. It is front-loaded and concise, every word earns its place.
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 tool has an output schema (not shown) and annotations that cover safety. The description lists the computed outputs, and the input schema covers parameters. However, it does not explain the term 'dilution estimates' or mention units, leaving minor ambiguity.
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% with descriptions for each parameter (volume_liters, change_percent, changes_per_week). The description adds no additional parameter-level meaning, so 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 clearly states the tool calculates water change volume, weekly totals, and dilution estimates. It uses specific verbs and identifies the resource, distinguishing it from sibling calculators like calculate_tank_volume or calculate_fertilizer_dose.
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 provides no guidance on when to use this tool versus alternatives (e.g., calculate_weekly_dose_totals). It lacks explicit context for when-not or comparative usage, leaving the agent without differentiation criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_water_chemistryCalculate water chemistryBRead-onlyIdempotentInspect
Calculate public water chemistry conversions, CO2, salinity and water-mix estimates.
| Name | Required | Description | Default |
|---|---|---|---|
| co2 | No | CO2 estimation input from KH and pH. | |
| salinity | No | Salinity calculation input. | |
| water_mix | No | Water-mixing calculation input. | |
| general_hardness | No | General hardness conversion input. | |
| carbonate_hardness | No | Carbonate hardness conversion input. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| tool | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the description adds little new behavioral info. It mentions 'public' but doesn't detail side effects or authorization. Adequate but no extra value.
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?
The description is a single concise sentence that front-loads the verb 'Calculate' and lists the main sub-calculations. It could be slightly more detailed but is efficient and to the point.
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?
Given the complexity of the tool with multiple input objects and an output schema, the description is brief. It does not explain how to combine input types or that multiple calculations can be performed in one request, but the schema and output schema cover the details.
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% with detailed descriptions for all parameters and nested objects. The tool description does not add meaning beyond the schema, so baseline score of 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?
Description clearly states the tool calculates water chemistry conversions, CO2, salinity, and water-mix estimates. It uses specific verbs and resources, distinguishing it from siblings like calculate_fertilizer_dose or convert_units.
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 explicit when-to-use or when-not-to-use guidance is provided. There is no mention of alternatives or context for when this tool should be chosen over sibling tools like convert_units or other calculation tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_weekly_dose_totalsCalculate weekly dose totalsBRead-onlyIdempotentInspect
Calculate weekly fertilizer totals for a supplied non-persistent dosing plan.
| Name | Required | Description | Default |
|---|---|---|---|
| items | No | Optional supplied fertilization plan items to analyze. | |
| regime | No | Optional fertilization regime name or strategy. | |
| targets | No | Optional target nutrient concentrations. | |
| language | No | Optional preferred response language: it, en or es. | |
| measurements | No | Optional current measurements for nutrient-gap calculations. | |
| volume_liters | Yes | Tank or habitat volume in liters. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| tool | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds 'non-persistent' which aligns with read-only but does not provide additional behavioral context such as response nature or side effects. No contradiction with 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?
The description is a single sentence with no wasted words. It efficiently conveys the core purpose. However, it could be slightly more structured by front-loading the required input (volume_liters) or output expectation, but given the brevity, it earns a 4.
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?
Despite full schema coverage and presence of an output schema, the tool has 6 parameters, nested objects, and is part of a larger fertilization workflow. The description fails to explain how volume_liters, targets, and measurements interact, or what 'weekly totals' means in terms of output. For such complexity, the description is insufficiently complete.
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 baseline is 3. The description does not add any parameter-specific details beyond the schema; it only states the general purpose. Thus, it meets the baseline without extra value.
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 clearly states the verb 'calculate' and the resource 'weekly fertilizer totals' specific to a 'supplied non-persistent dosing plan'. It distinguishes from siblings like 'calculate_fertilizer_dose' (single dose) and 'generate_fertilization_plan' (creation vs analysis). However, the term 'non-persistent' is ambiguous and the description does not mention the required volume_liters parameter.
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 implies use when a dosing plan is supplied, but provides no explicit guidance on when not to use or alternatives. Given siblings like 'calculate_fertilizer_dose' and 'generate_fertilization_plan', the context is implied but not stated. No exclusion criteria or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_species_compatibilityCheck species compatibilityCRead-onlyIdempotentInspect
Check basic compatibility information between habitat species using Atlarium data.
| Name | Required | Description | Default |
|---|---|---|---|
| gh | No | Water hardness, conductivity or TDS-style value for advisory matching. | |
| kh | No | Water hardness, conductivity or TDS-style value for advisory matching. | |
| ph | No | Water pH value on the 0 to 14 scale. | |
| species | Yes | List of species names or slugs to compare, from 1 to 20 entries. | |
| language | No | Optional preferred response language: it, en or es. | |
| tank_liters | No | Tank or habitat volume in liters. | |
| temperature | No | Water or ambient temperature in degrees Celsius. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| tool | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint, idempotentHint, and non-destructive behavior. The description adds no further behavioral traits, such as what 'basic compatibility' entails, whether it returns conflicts or suggestions, or any limits on data source.
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?
The description is a single sentence, which is concise but lacks detail. It could be more informative without being verbose.
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?
Given the tool has 7 parameters and 20 sibling tools, the description is too minimal. Although an output schema exists, the agent lacks context on what 'compatibility information' means, how to interpret results, or usage constraints.
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 the schema already documents each parameter. The description adds no additional meaning beyond the schema, meeting the baseline of 3.
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 clearly states the tool checks compatibility information between habitat species using Atlarium data. The verb 'check' and resource 'compatibility information' are specific. However, it does not explicitly differentiate from sibling tools like suggest_species_for_tank or search_fish, which may also provide compatibility insights.
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 guidance on when to use this tool versus alternatives, such as suggest_species_for_tank. No exclusions or typical scenarios are mentioned, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_unitsConvert unitsARead-onlyIdempotentInspect
Convert aquarium-relevant temperature, length, weight and volume units.
| Name | Required | Description | Default |
|---|---|---|---|
| length | No | Length conversion input. | |
| volume | No | Volume conversion input. | |
| weight | No | Weight conversion input. | |
| temperature | No | Temperature conversion input. | |
| temperature_delta | No | Temperature difference input. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| tool | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is clear. The description adds that conversions are limited to aquarium-relevant units but does not disclose behavioral details like side effects or response format. This adds modest value 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?
The description is a single sentence with no wasted words. It conveys the essential purpose efficiently. Every part is necessary, and it is appropriately front-loaded.
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?
Despite having a full output schema, the description lacks important context: it does not explain that conversions are within a category (e.g., length to length only), nor that only one category can be converted per call. Given the complexity (5 nested parameters), this omission could lead to incorrect usage.
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%, meaning all parameters are described in the input schema. The tool description does not add any additional parameter meaning beyond summarizing the categories (temperature, length, etc.). 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 clearly states the verb 'Convert' and the resource 'units', specifying categories (temperature, length, weight, volume). It distinguishes this tool from sibling tools which are calculation or profile tools, making its purpose unambiguous.
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 provides clear context by limiting conversions to aquarium-relevant units. While it does not explicitly mention when not to use or alternatives, the sibling tools are clearly different (calculations, profiles), so usage is reasonably implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_fertilization_planGenerate fertilization planARead-onlyIdempotentInspect
Generate an advisory non-persistent fertilization plan from public Atlarium catalog data.
| Name | Required | Description | Default |
|---|---|---|---|
| items | No | Optional supplied fertilization plan items to analyze. | |
| regime | No | Optional fertilization regime name or strategy. | |
| targets | No | Optional target nutrient concentrations. | |
| language | No | Optional preferred response language: it, en or es. | |
| measurements | No | Optional current measurements for nutrient-gap calculations. | |
| volume_liters | Yes | Tank or habitat volume in liters. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| tool | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds 'advisory non-persistent,' which aligns with annotations but does not provide additional behavioral context beyond what annotations declare. No contradictions.
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?
The description is a single, concise sentence (11 words) that front-loads the key purpose. No unnecessary words.
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?
Given the tool's complexity (6 parameters, nested objects, output schema), the description is too brief. It does not explain how parameters like measurements, targets, or items are used to generate the plan, nor does it hint at the output structure despite an output schema existing. More context would be helpful.
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 the baseline is 3. The description does not add any parameter-specific meaning or relationships beyond what the schema already provides.
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 clearly states the verb 'Generate', the resource 'advisory non-persistent fertilization plan', and the data source 'public Atlarium catalog data'. This distinguishes it from sibling tools like calculate_fertilizer_dose or get_fertilization_regime.
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 does not explicitly state when to use this tool versus alternatives, nor does it provide prerequisites or exclusions. Usage context is only implied by the tool name and sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_algae_profileGet algae profileARead-onlyIdempotentInspect
Get a structured public algae diagnostic profile.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Single safe public Atlarium slug without path separators. | |
| language | No | Optional preferred response language: it, en or es. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| tool | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false; the description adds 'public' context but no further behavioral insights beyond what annotations provide.
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?
The description is extremely concise with one sentence, no wasted words, but could front-load more context like the public nature.
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?
Given the simple fetch operation, presence of output schema, and annotations covering key behaviors, the description is sufficiently complete for selection and invocation.
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% with descriptions for both parameters; the description adds no parameter-level meaning, meeting the baseline for high coverage.
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 'Get a structured public algae diagnostic profile' uses a specific verb and resource, clearly distinguishing it from siblings like search_algae or other get_profile tools.
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 guidance on when to use this tool versus alternatives such as search_algae or other get_* profile tools, leaving the agent without context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_disease_profileGet disease profileARead-onlyIdempotentInspect
Get a structured public aquatic disease profile.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Single safe public Atlarium slug without path separators. | |
| language | No | Optional preferred response language: it, en or es. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| tool | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds context by stating the profile is 'public', implying no authentication, and 'structured', indicating a consistent format. This goes beyond annotations without contradicting them.
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 communicates purpose without extra fluff. It gets directly to the point, though it could benefit from a hint about when to use sibling tools.
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?
Given the presence of an output schema and full parameter schema coverage, the description is completely adequate. It correctly identifies the resource, scope, and nature of the return data.
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 both parameters (slug, language) are well-documented in the schema with types, patterns, and enums. The description adds no additional meaning about parameters beyond what the schema already provides.
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 uses a specific verb 'Get' and resource 'structured public aquatic disease profile', clearly distinguishing it from sibling tools like search_diseases or get_medicine_profile. It precisely identifies what the tool returns.
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 implies usage when a specific slug is known, but does not explicitly state when to use this tool versus alternatives (e.g., search_diseases for discovery). No exclusions or when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_equipment_profileGet equipment profileARead-onlyIdempotentInspect
Get a structured public equipment product profile.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Safe public Atlarium slug path made of one or more path segments. | |
| language | No | Optional preferred response language: it, en or es. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| tool | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds 'public' but no further behavioral context (e.g., no mention of authentication, rate limits, or data freshness). It does not contradict 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?
The description is a single, front-loaded sentence that efficiently states the tool's purpose without unnecessary words. It is maximally concise while still being informative.
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?
Given that the schema fully documents parameters, annotations cover safety, and an output schema exists (not shown), the description is nearly complete. It could be slightly improved by noting the need for a slug or hinting at the response format, but it is largely adequate.
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%, meaning each parameter already has a description in the schema. The tool description does not add any additional meaning or usage context for the parameters, so it meets the baseline of 3.
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 clearly specifies the action ('Get') and the resource ('structured public equipment product profile'), which is distinct from sibling tools like search_equipment or other get_* profiles. It immediately conveys the tool's purpose.
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 does not provide explicit guidance on when to use this tool vs. alternatives. While the name and context imply it retrieves a single item by slug, there is no mention of prerequisites, limitations, or comparison with siblings like search_equipment.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_fertilization_regimeGet fertilization regimeBRead-onlyIdempotentInspect
Get a structured public fertilization regime.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Single safe public Atlarium slug without path separators. | |
| language | No | Optional preferred response language: it, en or es. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| tool | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds minimal context ('public', 'structured') but does not reveal additional behavioral traits beyond what annotations provide.
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, clear sentence with no extraneous information. Efficiently communicates the core action and resource, though slightly too minimal for a complete standalone description.
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 an output schema present and comprehensive annotations, the description is functional but does not explain what a 'fertilization regime' is or the structure of the returned data. It is minimally complete for a simple lookup 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% with both parameters ('slug' and 'language') described in the input schema. The description adds no extra meaning beyond the schema's parameter descriptions.
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 clearly states the tool retrieves a 'structured public fertilization regime' with a specific verb 'Get' and resource. It distinguishes from the sibling 'search_fertilization_regimes' by implying a single regime lookup via slug, but does not explicitly differentiate.
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 guidance on when to use this tool versus alternatives like 'search_fertilization_regimes'. No prerequisites or context provided, leaving the agent to infer usage from the name and required slug parameter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_fertilizer_profileGet fertilizer profileBRead-onlyIdempotentInspect
Get a structured public fertilizer product profile.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Safe public Atlarium slug path made of one or more path segments. | |
| language | No | Optional preferred response language: it, en or es. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| tool | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds no extra behavioral context (e.g., auth needs, response scope). Baseline score is appropriate given good 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?
The description is a single, concise sentence of 6 words that is front-loaded with the verb 'Get'. Every word earns its place with no unnecessary fluff.
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?
Despite the output schema existing, the description is too minimal. It doesn't explain what a 'structured public fertilizer product profile' contains or that the slug is a path identifier. More context would be needed for a new user to fully understand the tool's purpose.
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 the baseline is 3. The description does not add any additional meaning about the parameters beyond what the schema provides.
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 clearly states the action ('Get') and resource ('structured public fertilizer product profile'). It distinguishes from siblings like search_fertilizers (search) and get_product_profile (general product). However, it doesn't explicitly mention the slug identification, which is inferred from the 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?
No usage guidelines are provided. The description does not indicate when to use this tool versus alternatives like get_product_profile or search_fertilizers. The agent is left to infer from the tool's name and siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_fish_profileGet fish profileARead-onlyIdempotentInspect
Get a structured fish or aquatic animal profile from the Atlarium habitat database.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Single safe public Atlarium slug without path separators. | |
| language | No | Optional preferred response language: it, en or es. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| tool | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds 'structured' and 'from the Atlarium habitat database' but does not disclose additional behavioral traits 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?
Single sentence with no wasted words, effectively communicating the tool's purpose.
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 an output schema present, annotations covering safety, and full parameter documentation, the description is complete and sufficient for agent use.
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% with clear parameter descriptions. The tool description adds no extra meaning beyond what the schema provides.
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 clearly states the tool retrieves a structured fish or aquatic animal profile, distinct from siblings like get_algae_profile or get_disease_profile.
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 implies use for obtaining a fish profile but provides no explicit guidance on when to use or avoid it versus alternative tools, which is understandable given the broad sibling set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_guideGet guideCRead-onlyIdempotentInspect
Get a structured public Atlarium guide.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Safe public Atlarium slug path made of one or more path segments. | |
| language | No | Optional preferred response language: it, en or es. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| tool | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, indicating safe, idempotent behavior. The description adds minimal context ('public') but does not explain failure modes, authentication, or rate limits. Given annotation coverage, the description is adequate but not enriching.
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?
The description is a single short sentence that is front-loaded and contains no unnecessary words. It is appropriately concise, though it sacrifices clarity for brevity.
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?
Despite having an output schema and only 2 parameters, the description fails to differentiate from numerous sibling tools. It does not explain what a 'structured public Atlarium guide' is or how to use the parameters effectively, leaving the agent without sufficient context for correct invocation.
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 the schema already documents both parameters (slug, language). The description does not add any additional meaning or usage hints beyond what the schema provides, earning the baseline score of 3.
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 it gets a 'structured public Atlarium guide', which identifies the resource but lacks specificity about what a guide contains or how it differs from sibling tools like search_guides or get_* profiles. The verb 'get' is clear, but the resource is ambiguous.
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 guidance is provided on when to use this tool versus alternatives such as search_guides or other get_* tools. The description does not mention any prerequisites or context for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_medicine_profileGet medicine profileBRead-onlyIdempotentInspect
Get a structured public aquarium medicine profile.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Single safe public Atlarium slug without path separators. | |
| language | No | Optional preferred response language: it, en or es. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| tool | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, destructiveHint, etc. Description adds 'public' and 'structured' context but does not disclose additional behaviors like error handling, caching, or auth requirements. Acceptable given 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?
Single sentence is concise and front-loaded with the verb. However, it could include additional useful context without becoming verbose.
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 output schema present and 2 well-documented parameters, the description is minimally complete. Lacks usage context and does not clarify relationship to sibling tools, leaving some gaps for agent decision-making.
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 clear parameter descriptions for 'slug' and 'language'. The tool description does not add further meaning beyond the schema, so baseline score of 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?
Description clearly states 'Get a structured public aquarium medicine profile' with specific verb and resource. It distinguishes from sibling tools like 'search_medicines' and other 'get_*' profiles by specifying the exact entity.
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 explicit guidance on when to use this tool versus alternatives (e.g., search_medicines or other get_profile tools). The description lacks context about prerequisites or situations where this tool is preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_plant_problem_profileGet plant problem profileARead-onlyIdempotentInspect
Get a structured public aquatic plant problem or deficiency profile.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Single safe public Atlarium slug without path separators. | |
| language | No | Optional preferred response language: it, en or es. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| tool | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, indicating a safe, idempotent read. The description adds 'public' context, suggesting no special authentication, but does not disclose other behavioral traits like rate limits or response structure. Since annotations cover the major safety aspects, the description's contribution is moderate.
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?
The description is a single sentence of 11 words, with zero wasted words. It is front-loaded with the key action and resource. Every word earns its place.
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?
Given the presence of an output schema and 100% schema coverage for inputs, the description covers the overall purpose. However, it lacks explicit mention that the tool retrieves by slug and that the slug comes from a search, but the required parameter in the schema partially compensates. Overall, it is complete for a simple read-only retrieval 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%: both parameters (slug, language) have descriptions. The tool description does not add meaning beyond what the schema already provides. It mentions 'public aquatic plant problem or deficiency' but does not explain how slug or language relate to this.
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 clearly states the tool retrieves a structured public aquatic plant problem or deficiency profile. The verb 'get' and specific resource 'plant problem or deficiency profile' distinguish it from sibling tools like get_algae_profile, get_disease_profile, and search_plant_problems.
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 guidance on when to use this tool versus alternatives. It does not mention prerequisites like needing a slug from search_plant_problems or that it is for retrieving a specific profile after searching. The description only states what it does, not when to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_plant_profileGet plant profileARead-onlyIdempotentInspect
Get a structured aquatic plant profile.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Single safe public Atlarium slug without path separators. | |
| language | No | Optional preferred response language: it, en or es. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| tool | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety traits. The description adds 'structured', hinting at the output format but not contradicting annotations. With annotations present, the description provides minor added context.
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?
The description is a single, front-loaded sentence with no wasted words. It efficiently conveys the tool's core purpose.
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 simple retrieval tool with comprehensive annotations, full schema coverage, and an output schema, the description is complete. No additional details about return values or behavior are necessary.
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 schema fully documents both parameters (slug and language). The description does not add any additional meaning beyond what the schema already provides. Baseline score of 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 uses a specific verb 'Get' and clearly identifies the resource as 'structured aquatic plant profile', distinguishing it from sibling profiles like get_algae_profile or get_disease_profile.
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 explicit when-to-use or when-not-to-use language is provided, but the description implies usage for retrieving a plant profile by slug. The context of sibling tools suggests alternatives are for other profile types, but the description itself does not guide selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_product_profileGet product profileARead-onlyIdempotentInspect
Get a structured public habitat product profile.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Safe public Atlarium slug path made of one or more path segments. | |
| language | No | Optional preferred response language: it, en or es. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| tool | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool as read-only, idempotent, and non-destructive, so the description's addition of 'public' and 'structured' provides mild context. However, it does not disclose any behavioral traits like rate limits, authentication, or response size beyond what annotations supply.
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?
The description is a single, clear sentence with no unnecessary words. It is front-loaded and efficiently conveys the core purpose.
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?
Given the simple tool (2 params, output schema, rich annotations), the description is minimally adequate but not enriched. It does not explain the return value beyond 'structured profile', though the output schema likely covers that.
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%, with all parameters described in the input schema. The description adds no additional meaning or usage details for the parameters beyond their schema descriptions.
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 clearly states the action ('Get') and the resource ('structured public habitat product profile'). It distinguishes itself from sibling tools like get_fish_profile or search_products by specifying it's for product profiles specifically.
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 offers no guidance on when to use this tool versus alternatives (e.g., search_products or other get_* profiles). There are no use-case constraints or exclusions provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_water_parametersGet water parametersARead-onlyIdempotentInspect
Get recommended water parameters for an aquatic species or plant.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Single safe public Atlarium slug without path separators. | |
| type | Yes | Profile type to read water parameters for. | |
| language | No | Optional preferred response language: it, en or es. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| tool | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the agent knows this is a safe read. However, the description adds no behavioral context beyond restating the name. It does not mention any limitations, data freshness, or whether parameters are averaged or species-specific.
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?
Single, well-structured sentence that efficiently conveys the tool's purpose. No fluff or repetition. Front-loaded with the key verb and resource.
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 simple read-only tool with three parameters and an existing output schema, the description is nearly complete. It could briefly note that water parameters are recommendations, but overall provides enough context for correct usage.
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 schema already documents all three parameters. The description adds no extra meaning for slug, type, or language beyond what the schema provides. Baseline score of 3 is appropriate since the description does not improve understanding of the parameters.
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 clearly states the action (Get), the resource (recommended water parameters), and the subject (aquatic species or plant). It effectively distinguishes this tool from siblings like get_fish_profile or get_plant_profile, which return full profiles rather than just water parameters.
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 does not provide explicit guidance on when to use this tool versus alternatives. While the purpose is clear, there is no mention of prerequisites, exclusions, or when to choose a sibling tool like get_fish_profile (which includes water parameters along with other data).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_product_brandsList product brandsBRead-onlyIdempotentInspect
List public Atlarium product brands.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Search text used to match public Atlarium records. | |
| language | No | Optional preferred response language: it, en or es. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| tool | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds 'public' but does not elaborate on behavior such as ordering, pagination, or response structure.
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?
The description is a single concise sentence that is front-loaded and contains no unnecessary words.
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?
Given the tool's simplicity and the presence of an output schema and annotations, the description is minimally adequate but lacks details on default behavior (e.g., whether all brands are listed if no query is provided).
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 the baseline is 3. The description does not add any additional meaning beyond what the schema already provides for 'query' and 'language'.
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 clearly states 'List public Atlarium product brands', specifying the verb and resource. It is distinct from sibling tools like 'list_product_categories', though it does not explicitly differentiate itself.
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 guidance is provided on when to use this tool versus alternatives (e.g., search_products). There is no mention of context, prerequisites, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_product_categoriesList product categoriesARead-onlyIdempotentInspect
List public Atlarium product categories for equipment and fertilizers.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Limit categories to equipment or fertilizer catalog entries. | |
| language | No | Optional preferred response language: it, en or es. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| tool | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, destructiveHint=false, idempotentHint=true. The description adds 'public', hinting at no authentication, but does not disclose other behaviors like pagination or response structure. With annotations covering safety, the description adds minimal context.
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?
The description is a single, front-loaded sentence with zero wasted words. It efficiently conveys the core action and scope.
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?
Given the tool's simplicity (2 optional params, output schema exists) and comprehensive annotations, the description covers the essential context. No further details are necessary for correct invocation.
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 baseline is 3. The description does not add meaning beyond the schema; it repeats 'equipment and fertilizers' which is already detailed in the type parameter description.
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 clearly states the verb 'list', the resource 'public Atlarium product categories', and specifies the scope 'for equipment and fertilizers'. It distinguishes from sibling tools like list_product_brands by naming different resources.
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 implies use when needing categories for equipment or fertilizers but provides no explicit guidance on when to use or avoid this tool, nor alternatives. It lacks detail on prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
match_diagnostic_profilesMatch diagnostic profilesARead-onlyIdempotentInspect
Find likely public algae, disease, plant problem and medicine profiles from a symptom query.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Diagnostic profile type filter. | |
| limit | No | Maximum number of public records to return, up to 50. | |
| query | No | Search text used to match public Atlarium records. | |
| offset | No | Zero-based pagination offset for public search results. | |
| language | No | Optional preferred response language: it, en or es. | |
| difficulty | No | Diagnostic difficulty filter from 1 to 5. | |
| water_type | No | Water or habitat type filter. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| tool | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, destructiveHint=false, etc. The description adds value by noting it searches 'public' profiles and uses a 'symptom' query, without contradicting 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?
The description is a single, clear sentence with no extraneous information, perfectly concise.
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 complete parameter descriptions, safety annotations, and an output schema (per context signals), the description is nearly complete. It could briefly mention the cross-category matching nature, but already implies that.
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 parameters are well-documented. The description adds no additional meaning beyond the schema, matching the baseline score.
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 clearly states the tool finds likely public algae, disease, plant problem, and medicine profiles from a symptom query, using a specific verb and resource. It distinguishes from sibling tools that search individual categories like search_algae.
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 explicit when-to-use or alternatives are mentioned. The description implies it is for symptom-based matching across multiple profile types, but lacks guidance on choosing between this and specific search tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_algaeSearch algaeBRead-onlyIdempotentInspect
Search public algae diagnostic profiles with symptoms, causes and treatment guidance.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Diagnostic profile type filter. | |
| limit | No | Maximum number of public records to return, up to 50. | |
| query | No | Search text used to match public Atlarium records. | |
| offset | No | Zero-based pagination offset for public search results. | |
| language | No | Optional preferred response language: it, en or es. | |
| difficulty | No | Diagnostic difficulty filter from 1 to 5. | |
| water_type | No | Water or habitat type filter. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| tool | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds that the tool searches 'public' profiles, which is a behavioral trait beyond annotations. However, it does not disclose other aspects like authentication requirements, rate limits, or behavior when no results match.
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?
The description is a single, short sentence that is front-loaded with the verb and resource. Every word is essential and contributes to understanding the tool's primary function. There is no wasted text.
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 tool has an output schema (as indicated in context signals), so the description does not need to explain return values. The description covers the essential: it searches public algae diagnostic profiles and mentions the types of information included. While brief, it is complete for a straightforward search tool with good annotation and schema coverage.
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 input schema has 100% parameter description coverage, so the baseline is 3. The tool description does not add any parameter-specific meaning beyond what the schema already provides. It does not compensate for any gaps, but none exist.
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 clearly states the action ('Search') and the resource ('public algae diagnostic profiles'), and adds what is included ('symptoms, causes and treatment guidance'). While it is specific and informative, it does not explicitly differentiate from sibling search tools like 'search_diseases' or 'search_plant_problems', which could cause ambiguity in tool selection.
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 provides no guidance on when to use this tool versus alternatives. There are no explicit when-to-use, when-not-to-use statements, or comparisons to sibling tools. The agent receives no help deciding between 'search_algae' and other search tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_diseasesSearch diseasesARead-onlyIdempotentInspect
Search public aquatic disease diagnostic profiles and advisory treatment information.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Diagnostic profile type filter. | |
| limit | No | Maximum number of public records to return, up to 50. | |
| query | No | Search text used to match public Atlarium records. | |
| offset | No | Zero-based pagination offset for public search results. | |
| language | No | Optional preferred response language: it, en or es. | |
| difficulty | No | Diagnostic difficulty filter from 1 to 5. | |
| water_type | No | Water or habitat type filter. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| tool | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and no destructiveness. The description adds no behavioral details beyond stating it searches public records. No contradiction, but minimal added value given annotations cover safety.
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?
The description is a single sentence of 12 words, front-loading the core action. No wasted words, appropriately sized for the tool's purpose.
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?
Given the full parameter descriptions and existing annotations, the description adequately conveys the tool's scope. It could mention pagination or that results are public-only, but the schema already covers limits and public records. An output schema exists, so return values need not be described.
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 schema provides descriptions for all 7 parameters (100% coverage), e.g., 'type' has description 'Diagnostic profile type filter.' The description does not add extra meaning beyond these schema descriptions.
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 clearly states the tool searches for 'public aquatic disease diagnostic profiles and advisory treatment information', matching the name 'search_diseases'. It distinguishes from siblings like 'get_disease_profile' (which retrieves a single profile) by indicating a search over multiple profiles.
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 explicit guidance is provided on when to use this tool versus sibling search tools (e.g., search_medicines, search_plants). The description implies it's for diseases, but does not specify scenarios or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_equipmentSearch equipmentARead-onlyIdempotentInspect
Search public aquarium and habitat equipment products.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | No | Product brand filter. | |
| limit | No | Maximum number of public records to return, up to 50. | |
| query | No | Search text used to match public Atlarium records. | |
| offset | No | Zero-based pagination offset for public search results. | |
| category | No | Product category filter. | |
| language | No | Optional preferred response language: it, en or es. | |
| use_case | No | Use-case filter such as filtration, lighting or fertilization. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| tool | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety and idempotence are clear. The description does not add behavioral context beyond stating the search action, which is consistent with 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?
The description is a single, concise sentence that communicates the core purpose. It is front-loaded and contains no wasted words.
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?
Given the rich input schema (100% coverage) and the presence of an output schema, the description adequately completes the picture by specifying the scope (public aquarium and habitat equipment products). No further details are needed.
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?
Input schema has 100% description coverage for all 7 parameters, so the description adds no additional meaning. Baseline of 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 'Search public aquarium and habitat equipment products' clearly states the action (search) and the resource (equipment products), distinguishing it from sibling tools like get_equipment_profile or search_fish.
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 usage guidelines are provided. The description does not indicate when to use this tool versus other search tools or how it differs from alternatives like search_products or get_equipment_profile.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_fertilization_regimesSearch fertilization regimesARead-onlyIdempotentInspect
Search public fertilization regimes and dosing philosophies.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of public records to return, up to 50. | |
| query | No | Search text used to match public Atlarium records. | |
| topic | No | Fertilization regime topic filter. | |
| offset | No | Zero-based pagination offset for public search results. | |
| language | No | Optional preferred response language: it, en or es. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| tool | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so safety is clear. The description adds no extra behavioral details about pagination, authentication, or data scope beyond 'public'.
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?
The description is a single, front-loaded sentence with no redundant information. Every word adds value.
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 tool is simple with clear parameters and an output schema. The description covers the core purpose, though it omits details about sorting or the meaning of 'public' vs private regimes. Still, it is largely adequate.
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 all parameters are well-described in the input schema. The description does not repeat parameter details, which is acceptable. 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 clearly states the tool searches public fertilization regimes and dosing philosophies, using a specific verb and resource. It distinguishes from sibling search tools like search_fertilizers and get_fertilization_regime.
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 guidance on when to use this tool versus alternatives such as get_fertilization_regime for a specific regime or other search tools. The description lacks explicit when-to-use or when-not-to-use context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_fertilizersSearch fertilizersBRead-onlyIdempotentInspect
Search public aquarium fertilizer products and nutrient profiles.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | No | Product brand filter. | |
| limit | No | Maximum number of public records to return, up to 50. | |
| query | No | Search text used to match public Atlarium records. | |
| offset | No | Zero-based pagination offset for public search results. | |
| category | No | Product category filter. | |
| language | No | Optional preferred response language: it, en or es. | |
| use_case | No | Use-case filter such as filtration, lighting or fertilization. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| tool | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, which fully cover behavioral traits. The description adds the context that the search is limited to 'public' records, which provides extra value. No contradictions are present. The description does not elaborate on rate limits, authentication, or other behaviors, but annotations suffice.
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?
The description is a single sentence that front-loads the core purpose: 'Search public aquarium fertilizer products and nutrient profiles.' Every word earns its place, with no fluff or redundancy. This achieves maximum conciseness while conveying the essential 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?
Given the tool's search nature, 7 parameters fully documented in the schema, an output schema, and comprehensive annotations, the description is adequately complete. It clarifies the scope ('public') and the target (fertilizer products and nutrient profiles). It could mention pagination or offset/limit behavior, but these are documented in the schema. Overall, it provides sufficient context for an agent to understand the tool's purpose and boundaries.
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 all 7 parameters having clear descriptions in the input schema (e.g., 'brand', 'query', 'limit'). The tool description does not add any additional parameter-level meaning. Per the scoring guidelines, baseline 3 is appropriate when schema coverage is high.
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 clearly states the tool searches 'public aquarium fertilizer products and nutrient profiles.' The verb 'Search' and the resource are specific, and it distinguishes from broader sibling tools like search_products (which covers all products) and get_fertilizer_profile (which targets a single profile). However, it could be slightly more explicit about what 'nutrient profiles' are to further differentiate.
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 provides no guidance on when to use this tool versus alternatives. Among 38 sibling tools, there is no mention of preferred contexts, exclusions, or comparisons. For example, it doesn't clarify when to use search_fertilizers versus search_products or get_fertilizer_profile. This is a significant gap for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_fishSearch fishARead-onlyIdempotentInspect
Search fish and aquatic animal profiles in the Atlarium habitat database.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of public records to return, up to 50. | |
| query | No | Search text used to match public Atlarium records. | |
| gh_max | No | Maximum general hardness filter. | |
| gh_min | No | Minimum general hardness filter. | |
| kh_max | No | Maximum carbonate hardness filter. | |
| kh_min | No | Minimum carbonate hardness filter. | |
| offset | No | Zero-based pagination offset for public search results. | |
| ph_max | No | Maximum acceptable pH filter. | |
| ph_min | No | Minimum acceptable pH filter. | |
| language | No | Optional preferred response language: it, en or es. | |
| care_level | No | Care-level filter, for example easy, moderate or expert. | |
| temperament | No | Temperament filter, for example peaceful or aggressive. | |
| max_tank_liters | No | Maximum tank volume filter in liters. | |
| min_tank_liters | No | Minimum tank volume filter in liters. | |
| temperature_max | No | Maximum temperature filter in Celsius. | |
| temperature_min | No | Minimum temperature filter in Celsius. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| tool | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the tool's safety profile is clear. The description adds no behavioral details (e.g., pagination, result structure) beyond the schema and 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?
The description is a single, clear sentence with no wasted words. It is front-loaded and quickly conveys the tool's purpose.
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?
Given the 16 parameters (all documented in schema) and the presence of an output schema, the description is minimally adequate. It doesn't mention pagination or result filtering details, but the schema covers the parameters.
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% with detailed parameter descriptions. The description ('Search fish and aquatic animal profiles') does not add meaning beyond what the schema provides, so 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 'Search fish and aquatic animal profiles in the Atlarium habitat database' clearly states the verb (search), resource (fish and aquatic animal profiles), and scope (Atlarium habitat database), distinguishing it from sibling tools like get_fish_profile or search_plants.
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 guidance is provided on when to use this tool versus alternatives like get_fish_profile (for a single profile) or other search tools. There are no explicit when-to-use or when-not-to-use instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_guidesSearch guidesARead-onlyIdempotentInspect
Search Atlarium habitat guides and educational content.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of public records to return, up to 50. | |
| query | No | Search text used to match public Atlarium records. | |
| topic | No | Guide topic filter. | |
| offset | No | Zero-based pagination offset for public search results. | |
| language | No | Optional preferred response language: it, en or es. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| tool | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds that it searches 'guides and educational content' but no further behavioral traits. It does not contradict 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?
The description is a single concise sentence (7 words) and front-loads the purpose. However, it could benefit from additional context without being overly verbose.
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?
Given the output schema exists and annotations cover behavioral traits, the description adequately states the resource being searched. It is fairly complete for a simple search tool, though more context about filtering or results could improve completeness.
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 the schema already documents all parameters. The description adds no extra meaning beyond what the schema provides, meeting the baseline of 3.
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 clearly states 'Search Atlarium habitat guides and educational content', specifying a specific verb and resource, distinguishing it from sibling tools like search_algae or search_fish.
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 provides no guidance on when to use this tool versus alternatives like other search_* tools, nor does it mention exclusions or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_medicinesSearch medicinesARead-onlyIdempotentInspect
Search public aquarium medicine and treatment product profiles.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Diagnostic profile type filter. | |
| limit | No | Maximum number of public records to return, up to 50. | |
| query | No | Search text used to match public Atlarium records. | |
| offset | No | Zero-based pagination offset for public search results. | |
| language | No | Optional preferred response language: it, en or es. | |
| difficulty | No | Diagnostic difficulty filter from 1 to 5. | |
| water_type | No | Water or habitat type filter. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| tool | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety and idempotency. The description adds context about the domain (aquarium medicine) but no further behavioral traits like rate limits or authentication needs.
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?
The description is a single, well-structured sentence that front-loads the main action. No unnecessary words or details.
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?
Given that annotations provide safety and idempotency hints, and the schema fully documents parameters, the description is largely complete. It lacks mention of pagination or result format, but the output schema exists to cover that. Minor gap but overall sufficient.
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%; all parameters have descriptions. The description does not add additional meaning beyond the schema, so the baseline score of 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 clearly states the tool's purpose: 'Search public aquarium medicine and treatment product profiles.' It uses a specific verb (Search) and resource (public aquarium medicine and treatment product profiles), distinguishing it from sibling tools like search_diseases or search_plants.
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 guidance is provided on when to use this tool versus alternatives. There is no mention of when not to use it or which sibling tool to prefer for related tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_plant_problemsSearch plant problemsARead-onlyIdempotentInspect
Search public aquatic plant deficiency, pest and environmental problem profiles.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Diagnostic profile type filter. | |
| limit | No | Maximum number of public records to return, up to 50. | |
| query | No | Search text used to match public Atlarium records. | |
| offset | No | Zero-based pagination offset for public search results. | |
| language | No | Optional preferred response language: it, en or es. | |
| difficulty | No | Diagnostic difficulty filter from 1 to 5. | |
| water_type | No | Water or habitat type filter. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| tool | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true. The description adds value by stating the search is over 'public' records, which is a key behavioral constraint beyond what annotations provide. No contradictions with 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?
The description is a single sentence that is direct and front-loaded. No unnecessary words; every part serves the purpose.
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?
Given the tool has 7 parameters with full schema descriptions and an output schema (not shown), the description provides adequate context. It is sufficient for a search tool but could mention that results are limited to public records (implied but not explicit in description itself; only from behavioral context).
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% with each parameter having a description. The tool description adds no additional semantic meaning beyond the schema. Baseline score of 3 is appropriate as the schema already provides sufficient parameter information.
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 clearly states the tool searches for 'public aquatic plant deficiency, pest and environmental problem profiles'. It uses a specific verb (Search) and resource (plant problem profiles), and the name and description distinguish it from siblings like search_algae or search_diseases.
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 implies usage for searching plant problem profiles but does not provide explicit guidance on when to use this tool versus alternatives like search_algae or search_diseases. It lacks exclusions or when-not-to-use context, though the specificity of 'plant problems' offers implicit differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_plantsSearch plantsARead-onlyIdempotentInspect
Search aquatic plants in the Atlarium database.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of public records to return, up to 50. | |
| query | No | Search text used to match public Atlarium records. | |
| offset | No | Zero-based pagination offset for public search results. | |
| language | No | Optional preferred response language: it, en or es. | |
| placement | No | Aquascape placement filter such as foreground or background. | |
| difficulty | No | Plant difficulty filter. | |
| growth_rate | No | Growth-rate filter. | |
| co2_requirement | No | CO2 requirement filter. | |
| light_requirement | No | Lighting requirement filter. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| tool | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the description doesn't need to repeat these. It adds the database context but no additional behavioral traits 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?
The description is a single 8-word sentence that is perfectly concise and front-loaded. Every word is earned.
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?
Given the output schema and full parameter descriptions, the description is sufficient for a search tool. It could optionally list filter categories, but not required for completeness.
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 is already documented. The description adds no extra meaning beyond what the schema provides.
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 clearly states the verb 'Search', the resource 'aquatic plants', and the scope 'Atlarium database'. It distinguishes from sibling tools like search_fish or search_algae.
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 explicit guidance on when to use or alternatives. Usage is implied by the resource name and sibling context, but there is no mention of when not to use this tool or when to prefer another.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_productsSearch productsARead-onlyIdempotentInspect
Search public habitat products in the Atlarium database.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | No | Product brand filter. | |
| limit | No | Maximum number of public records to return, up to 50. | |
| query | No | Search text used to match public Atlarium records. | |
| offset | No | Zero-based pagination offset for public search results. | |
| category | No | Product category filter. | |
| language | No | Optional preferred response language: it, en or es. | |
| use_case | No | Use-case filter such as filtration, lighting or fertilization. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| tool | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds 'public habitat products' but no new behavioral traits beyond what annotations convey.
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 that is front-loaded and contains no redundant words. Every element is purposeful.
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?
Given the presence of an output schema and rich annotations, the description is adequate but minimal. It could mention scope (public vs. private) or pagination defaults, but overall sufficient.
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 describes all parameters. The description adds no additional meaning beyond the schema, so baseline score 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?
The description clearly states the action ('Search'), resource ('public habitat products'), and database ('Atlarium'), distinguishing it from sibling search tools like search_fish or search_plants.
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 guidance is provided on when to use this tool vs. other search tools (e.g., search_fish, search_equipment). The description lacks context for selection among many siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
suggest_habitat_for_tankSuggest habitat for tankARead-onlyIdempotentInspect
Suggest a complete public habitat plan with species, plants, products, warnings, motivations and related guides.
| Name | Required | Description | Default |
|---|---|---|---|
| gh | No | Water hardness, conductivity or TDS-style value for advisory matching. | |
| kh | No | Water hardness, conductivity or TDS-style value for advisory matching. | |
| ph | No | Water pH value on the 0 to 14 scale. | |
| co2 | No | CO2 setup level for the suggested habitat. | |
| tds | No | Total dissolved solids value for habitat matching. | |
| limit | No | Maximum number of suggestions to return, up to 30. | |
| language | No | Optional preferred response language: it, en or es. | |
| water_type | No | Target habitat water or environment type. | |
| light_level | No | Lighting intensity preference for the suggested habitat. | |
| tank_liters | Yes | Tank or habitat volume in liters. | |
| temperature | No | Water or ambient temperature in degrees Celsius. | |
| planted_tank | No | When true, prefer plans designed for planted aquariums. | |
| setup_intent | No | Primary setup intent for the habitat plan. | |
| beginner_friendly | No | When true, prefer beginner-friendly habitat plans. | |
| target_difficulty | No | Desired care difficulty for the habitat plan. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| tool | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, covering safety profile. The description adds context about output content (warnings, motivations, guides) but does not disclose any additional behavioral traits (e.g., rate limits, auth needs).
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?
The description is a single, front-loaded sentence of 14 words with no wasted text. Every word adds value by specifying exactly what the tool returns.
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?
Given 15 parameters and an output schema, the description sufficiently explains the plan's content. It does not detail how parameters affect output but is complete enough for an agent to understand the tool's purpose and return type.
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 the schema already documents all 15 parameters. The description adds no parameter-level details beyond listing output components, providing no additional meaning over 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?
The description specifies the verb 'suggest' and the resource 'complete public habitat plan', listing species, plants, products, warnings, motivations, and guides. It clearly distinguishes from sibling tools like suggest_species_for_tank, which only suggests species.
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 implies usage when a full habitat plan is needed but lacks explicit guidance on when to avoid it or alternatives. Sibling tools suggest when narrower suggestions (e.g., suggest_species_for_tank) are appropriate, but this is not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
suggest_species_for_tankSuggest species for tankARead-onlyIdempotentInspect
Suggest compatible aquatic species based on tank size and water parameters.
| Name | Required | Description | Default |
|---|---|---|---|
| gh | No | Water hardness, conductivity or TDS-style value for advisory matching. | |
| kh | No | Water hardness, conductivity or TDS-style value for advisory matching. | |
| ph | No | Water pH value on the 0 to 14 scale. | |
| limit | No | Maximum number of suggestions to return, up to 30. | |
| language | No | Optional preferred response language: it, en or es. | |
| tank_liters | Yes | Tank or habitat volume in liters. | |
| temperature | No | Water or ambient temperature in degrees Celsius. | |
| planted_tank | No | When true, prefer suggestions compatible with planted aquariums. | |
| beginner_friendly | No | When true, prefer species that are suitable for beginners. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| tool | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate the tool is read-only, idempotent, and non-destructive. The description adds that it suggests compatible species based on parameters, which is consistent. However, it does not disclose any additional behavioral traits such as what happens when no species are found or how parameters are weighted. Given the annotations, the description provides sufficient but minimal extra context.
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?
The description is a single concise sentence that clearly states the purpose. It is front-loaded with the action and resource, containing no redundant words or fluff.
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 tool has 9 parameters and an output schema. The description is brief and does not mention return format, pagination, or edge cases. However, since an output schema exists, the description need not detail return values. It is adequate for a simple suggestion tool but could provide more context on how parameters influence results.
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 the schema already documents each parameter. The description only summarizes the input categories ('tank size and water parameters') without adding meaning beyond what the schema provides. It does not explain interactions between parameters like how tank_liters affects compatibility or the role of boolean flags.
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 clearly states the tool suggests compatible aquatic species based on tank size and water parameters. It distinguishes from siblings like 'check_species_compatibility' which checks specific species, and 'suggest_habitat_for_tank' which suggests habitat. The verb 'suggest' and resource 'species' are specific and unambiguous.
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 implies usage when a user needs species recommendations based on tank size and water parameters, but it does not explicitly state when to use this tool versus alternatives like 'check_species_compatibility' or 'search_fish'. No 'when-not-to-use' or alternative suggestions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!