Reservoirs
reservoirsReservoir storage snapshots.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| station_id | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Raw text response from API | |
| format | No | Indicates response is plain text (non-JSON) |
reservoirsReservoir storage snapshots.
| Name | Required | Description | Default |
|---|---|---|---|
| station_id | No |
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Raw text response from API | |
| format | No | Indicates response is plain text (non-JSON) |
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, and open-world behavior, but the description adds no additional behavioral context such as whether snapshots are historical or current. The word 'snapshots' is minimal and does not go beyond annotations.
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?
The description is extremely short, but this is under-specification rather than conciseness. It omits essential information about the tool's behavior and parameters, so the brevity does not serve the agent.
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 simple one-parameter tool, an output schema exists to explain return values, but the description fails to clarify the meaning of station_id or whether the snapshot is point-in-time or time-series. This leaves the agent uncertain about valid invocations.
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 single parameter station_id has zero schema description coverage, and the description does not mention it. Examples in the schema (e.g., 'SHA', 'ORO') hint at station codes, but no explicit meaning or usage is provided.
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 identifies the resource (reservoir storage) but lacks an explicit verb, reading as a noun phrase. It does not differentiate from sibling data tools like daily_data or event_data.
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?
No guidance is provided on when to use this tool versus alternatives, nor any indication of how station_id should be used. The description offers no contextual cues for invocation.
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.
Several tools are near-duplicates or have fuzzy boundaries: ask_pipeworx_beta explicitly matches ask_pipeworx exactly, the raw data tools (daily_data, hourly_data, event_data, latest, reservoirs) all read as generic 'get data' operations, and the five polymarket_* scanners overlap in opportunity-finding. The verbose descriptions help for many composite tools, but an agent can still easily select the wrong variant.
The naming is predominantly consistent lowercase snake_case with strong prefixed families (ask_pipeworx*, polymarket_*, pipeworx_*, scan_*) and clear verb_noun actions. Minor deviations like noun-only latest/reservoirs, ask_pipeworx lacking a separator, and generate_llms_txt keep it from a 5.
37 tools is well above the heavy threshold, and the count is inflated by redundant meta-tools, three router variants, six overlapping generic data fetchers, and six prediction-market tools. Many tools are purposeful, so it is not an extreme mismatch, but the surface would be much cleaner at roughly 20-25 tools.
The set covers the core data lifecycle well: discovery (discover_tools, suggest_questions), lookup (ask_pipeworx), grounding/validation (ask_pipeworx_grounded, validate_claim, search_within), entity workflows (resolve_entity, entity_profile, recent_changes, compare_entities), plus memory and subscription CRUD. Minor gaps like no explicit fetch-by-citation tool and a limited subscription type set prevent a 5.