Pool Log MCP
A deterministic pool and spa water test log that checks readings against US CDC ranges. It provides an auditable record, validates for impossible values, and compares pH, free chlorine, and bromine levels. It does not use an LLM and does not decide legal compliance.
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://pool-log.rowb.app/mcpWhat its tools do
6 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Passed Official MCP Registry namespace is tied to pool-log.rowb.app ·
- Passed Endpoint is on the registry namespace domain ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Check water readings for impossible values
- Compare pH and chlorine levels against CDC ranges
- Generate printable A4 log sheets
- Retrieve exact rule tables and CDC sources
Source and maintenance
Protocol and capabilities
- Server
- pool-log 1.0.0
- MCP protocol negotiated in check
- 2025-06-18
- Tools
- 6 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {}
}Tools
6 advertised
check_readings
Check a list of pool or spa water readings for things that cannot be true, and compare pH, free chlorine and bromine against the ranges published on the US CDC pages. Deterministic arithmetic only - no AI. It does not decide whether a pool is legally compliant, and it does not know your local code.
{
"type": "object",
"required": [
"readings"
],
"properties": {
"as_of": {
"type": "string",
"description": "Treat this date as \"today\" (YYYY-MM-DD) when rejecting future timestamps. Defaults to the server date."
},
"readings": {
"type": "array",
"items": {
"type": "object"
},
"description": "Readings to check. Each: {at:\"YYYY-MM-DDTHH:MM\", kind:\"pool|hot_tub|splash_pad|wading_pool|other\", ph?:number, free_chlorine_ppm?:number, total_chlorine_ppm?:number, bromine_ppm?:number, cyanuric_acid_ppm?:number, water_temp_f?:number, disinfectant?:\"chlorine|bromine|none\", method?:\"dpd|test_strip|meter|other\", by?:\"who tested\"}."
}
}
}get_rules
The exact rule table this service checks against, the quoted source of every range, and what it explicitly does not claim. Quote it if you need to explain a result.
{
"type": "object",
"properties": {}
}create_site
Open a water-test log for one pool, hot tub or splash pad (returns a site id). Requires a bearer key.
{
"type": "object",
"required": [],
"properties": {
"label": {
"type": "string",
"description": "What to call this water, e.g. \"Apartment pool - north\"."
},
"address": {
"type": "string"
},
"water_type": {
"type": "string",
"description": "pool | hot_tub | splash_pad | wading_pool | other"
},
"disinfectant": {
"type": "string",
"description": "chlorine | bromine | none"
},
"volume_gallons": {
"type": "number"
}
}
}add_readings
Append water readings to an existing log. Requires a bearer key.
{
"type": "object",
"required": [
"site_id",
"readings"
],
"properties": {
"site_id": {
"type": "string"
},
"readings": {
"type": "array",
"items": {
"type": "object"
}
}
}
}get_log_summary
Every reading, the flagged issues, the CDC-range counts, the longest gap between tests, and the A4 log sheet URL, for one log. Requires a bearer key.
{
"type": "object",
"required": [
"site_id"
],
"properties": {
"site_id": {
"type": "string"
}
}
}request_operator_signoff
Create a one-time URL the pool operator can open to confirm the log. Requires a bearer key. The token is single use.
{
"type": "object",
"required": [
"site_id"
],
"properties": {
"site_id": {
"type": "string"
},
"provider_name": {
"type": "string"
},
"provider_email": {
"type": "string"
}
}
}Prompts
Not advertised
Resources
Not advertised
90-day uptime
A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.
- 2026-11-06: 1 of 1 checks answered
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
- 502 ms
- 95th percentile latency
- 502 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 502 ms · metadata changed · 6 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http pool-log-mcp https://pool-log.rowb.app/mcpCodex
codex mcp add pool-log-mcp --url https://pool-log.rowb.app/mcpCursor
{
"mcpServers": {
"pool-log-mcp": {
"url": "https://pool-log.rowb.app/mcp"
}
}
}Cline
{
"mcpServers": {
"pool-log-mcp": {
"type": "streamableHttp",
"url": "https://pool-log.rowb.app/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"pool-log-mcp": {
"type": "http",
"url": "https://pool-log.rowb.app/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http pool-log-mcp https://pool-log.rowb.app/mcpClaude Desktop
https://pool-log.rowb.app/mcpWindsurf
{
"mcpServers": {
"pool-log-mcp": {
"serverUrl": "https://pool-log.rowb.app/mcp"
}
}
}Let your agent find its tools
Find servers like Pool Log MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other data and analytics servers
Do you run Pool Log 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.