Skip to main content
Glama
msweeney-pnnl

eplusout-mcp

search_epjson_objects

Find specific EnergyPlus objects in epJSON data by type, name, or search pattern. Locate components, systems, or zones within the building model.

Instructions

Search for specific objects in epJSON data structure.

Searches through the epJSON model data to find objects matching the specified criteria. Useful for finding specific components, systems, or zones within the building model.

Args: model_id: The model_id of the EnergyPlus model object_type: Specific EnergyPlus object type (e.g., "Coil:Cooling:WaterToAirHeatPump:EquationFit") object_name: Specific object name (e.g., "ROOM_1_FLR_3 COOLING COIL") search_pattern: Pattern to search for in object names (e.g., "ROOM_1_FLR_3") case_sensitive: Whether to perform case-sensitive search

Returns: Dictionary containing: - search_results: Matching objects organized by type - search_criteria: The search parameters used - search_stats: Statistics about the search results

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
model_idYes
object_nameNo
object_typeNo
case_sensitiveNo
search_patternNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior4/5

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

There are no annotations, so the description carries the full burden. It clearly describes the search behavior and the returned dictionary with 'search_results', 'search_criteria', and 'search_stats'. It does not specify edge cases or matching semantics exactly, but the core behavior and output structure are 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 layout is clean and well-organized with Args and Returns sections. However, the opening two sentences are somewhat redundant: 'Search for specific objects...' and 'Searches through the epJSON model data...' convey nearly the same information, so the description is slightly less concise than it could be.

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?

The tool has 5 parameters and no output schema, but the description covers all parameters and explains the return format. It is mostly complete for invoking the tool correctly, though it leaves ambiguous how 'object_name' and 'search_pattern' interact or whether they are mutually exclusive.

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 description coverage is 0%, and the description fully compensates by documenting all five parameters with clarifying examples. Each parameter gets additional meaning beyond the bare schema title, especially 'object_type' and 'search_pattern' with realistic EnergyPlus examples.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action and target: 'Search for specific objects in epJSON data structure' and 'find objects matching the specified criteria.' It is specific enough for an agent to know the tool's job, but it does not explicitly differentiate itself from the sibling tool 'search_related_objects' or other search/list tools.

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

Usage Guidelines3/5

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

The line 'Useful for finding specific components, systems, or zones within the building model' gives some context for when to use the tool)Skip but offers no exclusions or alternatives. With multiple sibling search tools, an agent receives little explicit guidance about when to prefer this tool over 'search_related_objects' or 'list_objects_by_type'.

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