The MCP server
GageLog hosts a Model Context Protocol server — an open standard that lets a client discover and call an API as self-describing tools. Point Claude, Cursor, Zed, ChatGPT, or any MCP-compatible client at one URL, sign in with your GageLog account when it asks, and your tracked gages, 15-minute readings, and the full analytics suite become tools the client can call while you work. Included on the Field plan and above.
Connect
https://gagelog.com/mcp
Claude Code
claude mcp add --transport http gagelog https://gagelog.com/mcp
Or commit a .mcp.json so a whole project connects the same
way — every collaborator signs in as themselves:
{
"mcpServers": {
"gagelog": { "type": "http", "url": "https://gagelog.com/mcp" }
}
}
Claude Cowork, Claude Desktop, claude.ai
Open the connector settings, add a custom connector, paste the endpoint, and approve the sign-in window that opens.
Cursor, Zed, ChatGPT, and others
Add an HTTP MCP server at the endpoint above. Any client that implements
the MCP authorization flow signs you in the same way. A client that can
only send a fixed header can use a Research-plan
API key as
Authorization: Bearer <key> instead.
What you can ask
The tool set mirrors the REST
API, read-only. Each tool documents its units (CFS), date format
(YYYY-MM-DD), and cost tier, so a client can plan a query
without guessing.
- Your gages —
list_sources(tracked),list_available_sources,gage_metadata. - Readings —
get_readings(raw or interval, paginated),get_latest_reading,water_year_daily,water_year_stats. - Analytics —
flow_summary,rolling_stats,threshold_compliance,water_volume,data_quality,flow_trend,dyl_periods,compare_gages,multi_gage_summary. - Account —
get_usage(today's quota),list_plans.
Exports and monitor changes are deliberately not tools: reads are safe to hand an assistant-style client, writes are not.
Limits and quota
Every tool call is executed against the REST API on your behalf, so it
draws from the same daily quota and per-minute cost tiers described in
the REST API guide
— light, medium, and heavy tools cost 1, 2, and 5 units respectively.
get_usage is exempt so a client can always check where it
stands after a rate-limit response. Reads follow the same tracked-gage
rules as the site: a tool sees the gages you track.
Connected apps and disconnecting
Every client you approve appears on your MCP server page with a Disconnect button. Disconnecting deletes that client's session immediately; it will ask you to sign in again on its next call. Sessions also end on their own if your plan drops below Field.
How the sign-in works
The server implements the MCP authorization specification: OAuth 2.1
with PKCE, dynamic client registration, and protected-resource metadata
at /.well-known/oauth-protected-resource/mcp, which names
GageLog as the authorization server. Access tokens are short-lived and
scoped to the MCP server only — a token a client holds cannot be used to
manage API keys, billing, or anything outside the tool set. If you build
your own client, the discovery document is at
/.well-known/oauth-authorization-server.