list_services
List supported pool services, billing periods, visit frequencies and allowed modifiers.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
List supported pool services, billing periods, visit frequencies and allowed modifiers.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds genuine value by disclosing the content of the result set (services, billing periods, visit frequencies, modifiers), which is the main behavioral detail an agent needs and is not covered by any output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; every element enumerates a distinct returned category. Nothing is redundant or misplaced.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only reference-listing tool with no output schema, the description supplies the crucial missing piece: what the response contains. It stops short of noting that results are static reference data or how to use them downstream, but it is sufficient to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics to explain; the baseline for a no-argument tool applies. The description correctly implies a parameterless, unfiltered listing.
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 ('List') with a specific resource ('supported pool services') and enumerates the associated reference data returned: billing periods, visit frequencies, and allowed modifiers. This is clearly distinguishable from siblings like check_service_area and estimate_pool_service, though it does not explicitly name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this is a discovery/lookup call to run before estimating or checking availability, but the description never states when to call it or how it relates to the sibling tools. No exclusions or prerequisites are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.