Skip to main content
Glama
msweeney-pnnl

eplusout-mcp

get_sql_available_hourlies

Discover hourly timeseries variables available in a model's SQL output, including names, units, and RDD IDs for extracting specific data.

Instructions

List available hourly timeseries variables in the SQL output for a specific model.

Discovers all hourly timeseries data available in a model's SQL output database, providing variable names and RDD IDs needed to extract specific timeseries data.

Args: id: The model_id of the EnergyPlus model (obtain from get_available_models).

Returns: Available hourly timeseries variables including: - Variable names (e.g., 'Zone Air Temperature', 'HVAC Electric Power') - RDD IDs for use with get_timeseries_report_by_rddid - Units and key values for each variable

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It clearly states the tool lists/discovers data and details the return contents, which implies a read-only operation. However, it does not explicitly state that there are no side effects, nor does it address potential edge cases like empty results or errors. The behavior is adequately conveyed but not deeply disclosed.

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 well-structured with an intro, Args, and Returns sections, making it easy to scan. The opening two sentences are slightly redundant ('List available...' and 'Discovers all...') but both add useful nuance. Overall, it is appropriately sized and front-loaded.

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

Completeness4/5

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

With one simple parameter, a detailed Returns section in the description, and an output schema present, the tool is well covered. The only minor gap is that it references a tool named 'get_timeseries_report_by_rddid' while the sibling list shows 'get_timeseries_report_by_rddid_list'—a small naming mismatch that could cause slight confusion but does not undermine the overall completeness.

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

Parameters5/5

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

Schema coverage is 0%, so the description must compensate for the single parameter. It does so excellently: 'id: The model_id of the EnergyPlus model (obtain from get_available_models)' explains what the parameter is and exactly where to get it. This fully bridges the gap left by the minimal JSON schema.

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 uses a specific verb ('List', 'Discovers') and identifies the exact resource ('hourly timeseries variables in the SQL output for a specific model'). It also clarifies what is returned (variable names, RDD IDs, units) and how it differs from data-extraction tools by referencing downstream use with get_timeseries_report_by_rddid. This makes the tool's role unmistakable among the many siblings.

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

Usage Guidelines4/5

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

The description gives clear context: this tool is the discovery step before extracting timeseries data, and the id should come from get_available_models. It implies when to use it (need available variables/RDD IDs) but does not explicitly list alternatives or exclusion cases. Since it provides a clear usage context without exclusions, it earns a 4.

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