Calculate Pool MCP
A remote MCP server that provides tools for calculating swimming pool volume, chemical dosages, pump flow rates, and heater BTU requirements using the same code as the website's calculators.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://calculatepool.com/mcp?src=mcpWhat you can do with it
- Calculate pool volume in gallons for various shapes
- Determine chemical doses for water treatment
- Compute pump flow rates for turnover times
- Size heaters by BTU for temperature changes
Source and maintenance
Protocol and capabilities
- Server
- calculatepool 1.1.0
- MCP protocol
- 2025-06-18
- Tools
- 5 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
5 advertised
pool_volume — Pool volume in gallons
Use this when someone wants to know how many gallons (or litres, cubic feet) a swimming pool holds from its shape and size: rectangle, round, oval, Roman, Grecian, kidney, L-shape or freeform, with one depth, a shallow and a deep end, or an above-ground wall height (48, 52, 54 in). Dimensions in feet or metres. Returns gallons, litres, cubic feet, cubic metres, surface area and the formula. Use it before chemical_dose, pump_size or heater_size when only dimensions are known.
{
"type": "object",
"required": [
"shape",
"dimensions"
],
"properties": {
"unit": {
"enum": [
"ft",
"m"
],
"type": "string",
"description": "Unit of every dimension and depth: ft (default) or m."
},
"shape": {
"enum": [
"rect",
"round",
"oval",
"roman",
"grecian",
"kidney",
"lshape",
"free"
],
"type": "string",
"description": "rect (default), round, oval, roman (half-circle ends), grecian (cut corners), kidney, lshape, free (freeform, needs area)."
},
"deep_depth": {
"type": "number",
"description": "Water depth at the deep end (optional; average of the two is used)."
},
"dimensions": {
"type": "object",
"required": [],
"properties": {
"area": {
"type": "number",
"description": "free: surface area in sq ft (or m² with unit m)."
},
"width": {
"type": "number",
"description": "rect, oval, roman, grecian, lshape."
},
"corner": {
"type": "number",
"description": "grecian: size of each 45° corner cut (optional)."
},
"length": {
"type": "number",
"description": "rect, oval, roman, grecian, kidney, lshape."
},
"width2": {
"type": "number",
"description": "lshape: second rectangle width."
},
"widthA": {
"type": "number",
"description": "kidney: width of the wide end."
},
"widthB": {
"type": "number",
"description": "kidney: width of the narrow end."
},
"length2": {
"type": "number",
"description": "lshape: second rectangle length."
},
"diameter": {
"type": "number",
"description": "round."
}
},
"additionalProperties": false
},
"shallow_depth": {
"type": "number",
"description": "Water depth at the shallow end, or the only depth for a constant-depth pool."
},
"above_ground_wall_in": {
"enum": [
48,
52,
54
],
"type": "integer",
"description": "Above-ground round or oval pool: wall height in inches instead of depths."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"shape",
"unit_in",
"gallons",
"litres",
"cubic_feet",
"cubic_metres",
"surface_area_sqft",
"average_depth_ft",
"formula",
"link"
],
"properties": {
"link": {
"type": "string",
"description": "Page of calculatepool.com for the same calculation."
},
"shape": {
"type": "string"
},
"litres": {
"type": "integer"
},
"formula": {
"type": "string"
},
"gallons": {
"type": "integer"
},
"unit_in": {
"type": "string"
},
"cubic_feet": {
"type": "number"
},
"cubic_metres": {
"type": "number"
},
"average_depth_ft": {
"type": "number"
},
"surface_area_sqft": {
"type": "number"
},
"above_ground_wall_in": {
"type": "integer"
}
},
"additionalProperties": false
}{
"title": "Pool volume in gallons",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}chemical_dose — Pool chemical dose
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.
{
"type": "object",
"required": [
"chemical",
"gallons",
"current",
"target"
],
"properties": {
"target": {
"type": "number",
"description": "Target level in the same unit as current."
},
"current": {
"type": "number",
"description": "Current level: ppm (free chlorine, salt, alkalinity, stabilizer, calcium hardness) or pH for muriatic_acid_ph and soda_ash."
},
"gallons": {
"type": "number",
"maximum": 2000000,
"minimum": 100,
"description": "Pool volume in US gallons (from pool_volume if the user gave dimensions)."
},
"chemical": {
"enum": [
"liquid_chlorine_12_5",
"bleach_10",
"bleach_6",
"cal_hypo_65",
"cal_hypo_73",
"dichlor",
"trichlor",
"salt",
"baking_soda",
"stabilizer_cya",
"calcium_chloride",
"calcium_chloride_anhydrous",
"muriatic_acid_ph",
"muriatic_acid_ta",
"soda_ash"
],
"type": "string",
"description": "Product. muriatic_acid_ph lowers pH, muriatic_acid_ta lowers total alkalinity."
},
"total_alkalinity": {
"type": "number",
"maximum": 300,
"minimum": 20,
"description": "Only for muriatic_acid_ph and soda_ash: current TA in ppm (default 100); the pH dose scales with it."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"chemical",
"product",
"gallons",
"parameter",
"current",
"target",
"direction",
"amount",
"unit",
"amount_text",
"packages",
"factor",
"note",
"safety",
"link"
],
"properties": {
"link": {
"type": "string",
"description": "Page of calculatepool.com for the same calculation."
},
"note": {
"type": "string"
},
"unit": {
"enum": [
"fl oz",
"oz",
"lb"
],
"type": "string"
},
"amount": {
"type": "number"
},
"factor": {
"type": "string"
},
"safety": {
"type": "string"
},
"target": {
"type": "number"
},
"current": {
"type": "number"
},
"gallons": {
"type": "number"
},
"product": {
"type": "string"
},
"chemical": {
"type": "string"
},
"packages": {
"anyOf": [
{
"type": "object",
"required": [
"count",
"package",
"text",
"note"
],
"properties": {
"note": {
"type": "string"
},
"text": {
"type": "string"
},
"count": {
"type": "integer"
},
"package": {
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"direction": {
"enum": [
"raise",
"lower"
],
"type": "string"
},
"parameter": {
"type": "string"
},
"amount_text": {
"type": "string"
},
"total_alkalinity": {
"type": "number"
}
},
"additionalProperties": false
}{
"title": "Pool chemical dose",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}pump_size — Pool pump flow rate
Use this when someone asks what size pool pump they need or what flow rate turns their pool over in a given number of hours. Takes gallons and turnover hours (default 8). Returns gallons per minute, gallons per hour, a rule-of-thumb horsepower range, the minimum sand, cartridge and DE filter area for that flow, and pipe velocities. Not for electricity cost or pump model recommendations.
{
"type": "object",
"required": [
"gallons"
],
"properties": {
"gallons": {
"type": "number",
"maximum": 2000000,
"minimum": 100,
"description": "Pool volume in US gallons (from pool_volume if the user gave dimensions)."
},
"turnover_hours": {
"type": "number",
"maximum": 24,
"minimum": 1,
"description": "Hours for one full turnover (default 8; 6 for heavy use)."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"gallons",
"turnover_hours",
"gpm",
"gallons_per_hour",
"hp_hint",
"filter_min_sqft",
"pipe_velocity_fps",
"note",
"link"
],
"properties": {
"gpm": {
"type": "number"
},
"link": {
"type": "string",
"description": "Page of calculatepool.com for the same calculation."
},
"note": {
"type": "string"
},
"gallons": {
"type": "number"
},
"hp_hint": {
"type": "string"
},
"turnover_hours": {
"type": "number"
},
"filter_min_sqft": {
"type": "object",
"required": [
"sand",
"cartridge",
"de"
],
"properties": {
"de": {
"type": "number"
},
"sand": {
"type": "number"
},
"cartridge": {
"type": "number"
}
},
"additionalProperties": false
},
"gallons_per_hour": {
"type": "integer"
},
"pipe_velocity_fps": {
"type": "object",
"required": [
"1.5_in",
"2_in",
"2.5_in"
],
"properties": {
"2_in": {
"type": "number"
},
"1.5_in": {
"type": "number"
},
"2.5_in": {
"type": "number"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}{
"title": "Pool pump flow rate",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}heater_size — Pool heater BTU size
Use this when someone asks what size pool heater (BTU per hour) they need to raise the water a number of degrees Fahrenheit in a given time. Takes gallons, the temperature rise in °F and the hours (default 24), plus an optional buffer for surface heat loss (default 20 %, the same as the heater calculator on calculatepool.com). Returns the BTU/h required, the size with the buffer, the total BTU and the electric input of an equivalent heat pump. Not for heating cost per month or heater model recommendations.
{
"type": "object",
"required": [
"gallons",
"temperature_rise_f"
],
"properties": {
"hours": {
"type": "number",
"maximum": 168,
"minimum": 1,
"description": "Hours to reach the temperature (default 24)."
},
"gallons": {
"type": "number",
"maximum": 2000000,
"minimum": 100,
"description": "Pool volume in US gallons (from pool_volume if the user gave dimensions)."
},
"buffer_percent": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Extra capacity for surface heat loss while heating (default 20)."
},
"temperature_rise_f": {
"type": "number",
"maximum": 60,
"minimum": 1,
"description": "Degrees Fahrenheit to raise the water."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"gallons",
"temperature_rise_f",
"hours",
"buffer_percent",
"btu_per_hour_required",
"btu_per_hour_with_buffer",
"total_btu",
"heat_pump_kw_input_cop5",
"note",
"link"
],
"properties": {
"link": {
"type": "string",
"description": "Page of calculatepool.com for the same calculation."
},
"note": {
"type": "string"
},
"hours": {
"type": "number"
},
"gallons": {
"type": "number"
},
"total_btu": {
"type": "integer"
},
"buffer_percent": {
"type": "number"
},
"temperature_rise_f": {
"type": "number"
},
"btu_per_hour_required": {
"type": "integer"
},
"heat_pump_kw_input_cop5": {
"type": "number"
},
"btu_per_hour_with_buffer": {
"type": "integer"
}
},
"additionalProperties": false
}{
"title": "Pool heater BTU size",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}pool_facts — Standard pool sizes in gallons
Use this when someone asks how many gallons a common pool size holds, e.g. a 24 ft round above-ground pool with a 52 in wall or a 16 x 32 inground pool, or wants a table of standard sizes. Returns inground rectangles (12x24 to 25x50 ft at 3.5, 4.5 and 5.5 ft average depth) and above-ground round and oval pools (12-33 ft round, 12x24 to 21x41 ft oval at 48, 52 and 54 in walls) with the factors used. For any other size or shape use pool_volume.
{
"type": "object",
"required": [],
"properties": {
"kind": {
"enum": [
"all",
"inground",
"above_ground"
],
"type": "string",
"description": "Which table (default all)."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"kind",
"rows",
"factors",
"note",
"link"
],
"properties": {
"kind": {
"type": "string"
},
"link": {
"type": "string",
"description": "Page of calculatepool.com for the same calculation."
},
"note": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "object",
"required": [
"pool",
"kind",
"gallons"
],
"properties": {
"kind": {
"type": "string"
},
"pool": {
"type": "string"
},
"gallons": {
"type": "array",
"items": {
"type": "object",
"required": [
"depth",
"gallons"
],
"properties": {
"depth": {
"type": "string"
},
"gallons": {
"type": "integer"
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
}
},
"factors": {
"type": "object",
"required": [
"gallons_per_cubic_foot",
"round_and_oval_factor",
"litres_per_gallon"
],
"properties": {
"litres_per_gallon": {
"type": "number"
},
"round_and_oval_factor": {
"type": "number"
},
"gallons_per_cubic_foot": {
"type": "number"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}{
"title": "Standard pool sizes in gallons",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
Not advertised
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 328 ms
- 95th percentile latency
- 328 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 328 ms · metadata changed · 5 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http calculate-pool-mcp https://calculatepool.com/mcp?src=mcpCodex
codex mcp add calculate-pool-mcp --url https://calculatepool.com/mcp?src=mcpCursor
{
"mcpServers": {
"calculate-pool-mcp": {
"url": "https://calculatepool.com/mcp?src=mcp"
}
}
}Cline
{
"mcpServers": {
"calculate-pool-mcp": {
"type": "streamableHttp",
"url": "https://calculatepool.com/mcp?src=mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"calculate-pool-mcp": {
"type": "http",
"url": "https://calculatepool.com/mcp?src=mcp"
}
}
}Gemini CLI
gemini mcp add --transport http calculate-pool-mcp https://calculatepool.com/mcp?src=mcpClaude Desktop
{
"mcpServers": {
"calculate-pool-mcp": {
"url": "https://calculatepool.com/mcp?src=mcp"
}
}
}Windsurf
{
"mcpServers": {
"calculate-pool-mcp": {
"serverUrl": "https://calculatepool.com/mcp?src=mcp"
}
}
}Let your agent find its tools
Find servers like Calculate Pool MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other productivity and knowledge servers
Do you run Calculate Pool MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.