Skip to main content
Glama

Pool chemical dose

chemical_dose
Read-onlyIdempotent

Use this when someone asks how much of a pool chemical to add to go from a current to a target level: chlorine (liquid chlorine 12.5 %, bleach 10 % or 6 %, cal-hypo 65 % or 73 %, dichlor, trichlor) for free chlorine; salt for a salt chlorinator; baking soda to raise or muriatic acid to lower total alkalinity; stabilizer (cyanuric acid); calcium chloride for calcium hardness; muriatic acid to lower pH or soda ash to raise it. Levels in ppm (pH for the pH chemicals). Returns the amount in fl oz, oz or lb, a readable amount, the number of common packages, the factor used and a safety line. Not for shock targets or water-balance (LSI) questions.

Input Schema

NameRequiredDescriptionDefault
targetYesTarget level in the same unit as current.
currentYesCurrent level: ppm (free chlorine, salt, alkalinity, stabilizer, calcium hardness) or pH for muriatic_acid_ph and soda_ash.
gallonsYesPool volume in US gallons (from pool_volume if the user gave dimensions).
chemicalYesProduct. muriatic_acid_ph lowers pH, muriatic_acid_ta lowers total alkalinity.
total_alkalinityNoOnly for muriatic_acid_ph and soda_ash: current TA in ppm (default 100); the pH dose scales with it.

Output Schema

NameRequiredDescriptionDefault
linkYesPage of calculatepool.com for the same calculation.
noteYes
unitYes
amountYes
factorYes
safetyYes
targetYes
currentYes
gallonsYes
productYes
chemicalYes
packagesYes
directionYes
parameterYes
amount_textYes
total_alkalinityNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this is read-only, idempotent, non-destructive, and closed-world. The description adds useful behavioral context by naming the returned fields (amount, readable amount, common packages, factor used, safety line) and clarifying that it is a calculation helper rather than a shock or LSI tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the use case and is generally dense with relevant information. The chemical list is long but largely earns its place because it maps products to treatment goals; slightly tighter structure could improve readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the rich annotations, 100% schema coverage, and presence of an output schema, the description is complete enough for correct selection and invocation. It covers purpose, supported scenarios, exclusions, units, and return content without requiring the agent to infer missing behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is already 3. The description still adds semantic mapping beyond the enum names, explaining which chemicals correspond to free chlorine, salt chlorination, alkalinity, stabilizer, calcium hardness, and pH changes, and clarifying units as ppm or pH.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action and resource: calculating how much pool chemical to add to move from a current to a target level. It enumerates the supported chemical/use cases and explicitly excludes shock targets and water-balance (LSI) questions, making its scope clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It opens with a clear use condition ('Use this when someone asks how much...') and lists the supported chemical scenarios. It also gives explicit exclusions ('Not for shock targets or water-balance (LSI) questions'), so the agent knows when not to invoke it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources