Skip to main content
Glama
kasathur

EnergyAtIt MCP Server

by kasathur

EnergyAtIt MCP Server

Connect AI agents to energy infrastructure. The first and only energy MCP server.

What it does

30+ tools that let Claude, GPT, or any MCP-compatible AI agent:

Tool

What it does

list_sites

List all energy sites in your tenant

list_assets

List BESS, HVAC, Solar, EV charger assets

dispatch_command

Send commands to batteries, solar inverters, EV chargers

dispatch_history

View dispatch command history

generate_settlement

Generate hash-chained settlement records

verify_settlement

Verify settlement hash chain integrity

generate_compliance_package

Generate IEC 61850, ISO 50001, GHG Scope 2 packages

generate_scope2_report

GHG Protocol Scope 2 compliance report

get_asset_reliability

Asset reliability scoring

get_site_reliability

Site-level reliability with per-asset breakdown

get_grid_capacity

Grid capacity intelligence by region

get_meter_readings

Read energy meters across protocols

create_dr_event

Create demand response events (shed, shift, shimmy)

dispatch_dr_event

Execute DR event dispatch

settle_dr_event

Settle DR events with carbon attestation

create_carbon_record

Append to SHA-256 hash-chained carbon ledger

verify_carbon_chain

Verify carbon hash chain integrity

get_carbon_certificate

Generate carbon attestation certificates

create_procurement

PPA, REC, and carbon offset procurement

analyze_procurement

Run procurement analysis and ranking

get_integration_status

Check Modbus, OpenADR, BESS, grid price feeds

get_grid_prices

Real-time grid electricity pricing

provision_sandbox

Get a sandbox with simulated energy data

health_check

Platform health and connectivity check

Related MCP server: MCP Energy Hub

Quick Start

Install

npx energyatit-mcp-server

Claude Desktop Config

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "energyatit": {
      "command": "npx",
      "args": ["-y", "energyatit-mcp-server"],
      "env": {
        "ENERGYATIT_API_KEY": "your-key-here"
      }
    }
  }
}

No API key? The sandbox works without one -- try it first.

Claude Code

claude mcp add energyatit -- npx -y energyatit-mcp-server

Try it

Once connected, ask Claude:

  • "What energy sites do I have?"

  • "What's the reliability score for site 1?"

  • "Dispatch the battery at 2MW for 30 minutes"

  • "Generate a carbon certificate for facility FAC-001"

  • "Create a demand response event to shed 500kW"

  • "What grid capacity is available in the UAE?"

Environment Variables

Variable

Required

Description

ENERGYATIT_API_KEY

No

Your API key (eat_live_xxx or eat_test_xxx)

ENERGYATIT_TOKEN

No

JWT token (alternative to API key)

ENERGYATIT_BASE_URL

No

API base URL (default: https://energyatit.com)

Supported Protocols

IEC 61850 | DNP3 | Modbus TCP/RTU | OpenADR 2.0b | OCPP 1.6/2.0 | IEEE 2030.5 | ICCP/TASE.2 | REST

Get an API Key

  1. Go to energyatit.com/developers

  2. Sign up for the Pioneer program or request access

  3. Create an API key from Settings > API Keys

  4. Or just use the sandbox -- no key needed

License

MIT


Built by Karthikeyan DS

Available Tools

34 tools
analyze_procurementC

Run analysis on a procurement request

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesProcurement request ID

TDQS

C2.9/5.0
Behavior2/5

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

The description does not disclose any behavioral traits such as side effects, idempotency, or required permissions. With no annotations provided, the burden falls entirely on the description, which only gives a vague action without elaboration.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at one sentence, with no wasted words. It is front-loaded and to the point.

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

Completeness2/5

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

Given the simplicity of the tool (one parameter, no output schema), a longer description could still add valuable context about what analysis is performed, output format, or constraints. The current description is insufficient for complete understanding.

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

Parameters3/5

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

Schema coverage is 100% for the single parameter 'id', so the description adds no extra meaning beyond what the schema already provides. Baseline score of 3 is appropriate.

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 states the tool 'Run analysis on a procurement request', which clearly indicates the verb (run analysis) and resource (procurement request). It is specific enough to convey purpose but does not differentiate from sibling tools like 'get_procurement_options'.

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

Usage Guidelines2/5

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. There is no mention of prerequisites, context, or exclusions, leaving the agent to infer usage from the name alone.

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

create_carbon_recordB

Create a carbon attestation record in the hash chain

ParametersJSON Schema
NameRequiredDescriptionDefault
meter_idYesMeter ID
facility_idYesFacility UUID
timestampYesISO timestamp
kwhYesEnergy in kWh
grid_zoneNoGrid zone

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only states the basic operation. It does not disclose side effects, authentication needs, return behavior, or whether records are appended or overwritten.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that efficiently conveys the core action and resource, with no redundant information.

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

Completeness2/5

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

Despite good schema coverage, the description lacks completeness for an agent: no output schema, no error conditions, and no context on how this tool relates to other carbon tools or procurement workflows.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description does not add extra meaning beyond the schema; it only reiterates the tool's purpose.

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 clearly states the action ('Create') and the resource ('carbon attestation record in the hash chain'), providing a specific verb+resource combination. This distinguishes it from sibling tools like get_carbon_attestation or verify_carbon_chain.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as create_procurement or create_dr_event. The description does not provide context for appropriate usage scenarios.

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

create_dr_eventC

Create a demand response event

ParametersJSON Schema
NameRequiredDescriptionDefault
signal_typeYesSignal type: shed, shift, shimmy
facility_idYesFacility UUID
scheduled_startYesStart time (ISO)
target_reduction_kwNoTarget reduction in kW
duration_minutesNoDuration in minutes

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only states 'Create a demand response event' with no details on side effects, permissions, or what happens after creation. This is insufficient for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise, but it lacks necessary detail. It is not too verbose, but the minimalism reduces its helpfulness.

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

Completeness2/5

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

With 5 parameters, no output schema, and no annotations, the description should provide more context about the tool's functionality and expected outcomes. It falls short.

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

Parameters3/5

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

Schema coverage is 100%, with each parameter described. The description adds no additional meaning beyond the schema, so it meets the baseline expectation of 3.

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 'Create a demand response event', which is a specific verb+resource. The tool name itself distinguishes from siblings like dispatch_dr_event and settle_dr_event, but the description does not provide further differentiation.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as dispatch_dr_event or settle_dr_event. The description lacks any context about prerequisites or scenarios.

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

create_procurementB

Create an energy procurement request

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYesType: ppa, rec, carbon_offset
volume_kwhYesVolume in kWh
regionNoRegion

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure, but it only states the creation action. It doesn't mention side effects, permissions, idempotency, or response behavior, leaving the agent with minimal insight.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that efficiently communicates the tool's purpose with no wasted words. It is appropriately short and front-loaded.

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

Completeness2/5

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

Despite the schema covering parameters, the description lacks context about the tool's behavior, return values, and usage scenarios. For a 3-parameter creation tool with no output schema, more context is needed.

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

Parameters3/5

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

The input schema has 100% coverage with descriptions for each parameter, so the baseline is 3. The description adds no additional meaning beyond what the schema provides.

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 'Create an energy procurement request' clearly states the specific verb (create) and resource (energy procurement request), and distinguishes it from siblings like analyze_procurement (analysis) and create_carbon_record (different resource).

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives or any prerequisites. It lacks context for selecting this tool over siblings like analyze_procurement.

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

dispatch_commandB

Send a dispatch command to an asset (battery, HVAC, EV charger, etc.)

ParametersJSON Schema
NameRequiredDescriptionDefault
asset_idYesAsset ID
commandYesCommand: charge, discharge, reduce, curtail, shed_load, restore
target_kwNoTarget power in kW
duration_minutesNoDuration in minutes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations provided, so description must disclose behavior. It indicates a write operation ('Send') but fails to mention side effects, authorization needs, or what happens upon success/failure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no wasted words, front-loaded with action and resource.

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

Completeness2/5

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

Tool has 4 parameters (2 required), no output schema, no annotations. Description is minimal and does not cover return values, error handling, or edge cases.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. The description adds no extra meaning beyond the schema, which already clearly describes each parameter.

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 ('Send') and resource ('dispatch command to an asset'), and lists example asset types (battery, HVAC, EV charger), clearly distinguishing from sibling tools like 'dispatch_dr_event'.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, such as 'dispatch_dr_event' or 'dispatch_history'. No prerequisites or exclusions mentioned.

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

dispatch_dr_eventC

Execute dispatch for a DR event

ParametersJSON Schema
NameRequiredDescriptionDefault
event_idYesEvent UUID

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only says 'Execute dispatch'. It does not disclose side effects, permissions, rate limits, or what happens during dispatch. This is insufficient for a mutation tool.

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 a single concise phrase, front-loading the action. However, it may be overly terse but remains efficient with no wasted words.

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

Completeness3/5

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

Given only one simple parameter and no output schema, the description is minimally adequate. It lacks context about what dispatch entails, return values, or integration with other tools.

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

Parameters3/5

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

Schema coverage is 100% for the single parameter event_id with description 'Event UUID'. The description adds no extra meaning beyond the schema. Per guidelines, baseline 3 applies.

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 'Execute dispatch for a DR event' clearly states the action (execute dispatch) and the resource (DR event). It distinguishes from siblings like dispatch_command and settle_dr_event, but does not explicitly differentiate from similar tools.

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

Usage Guidelines2/5

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 like dispatch_command or settle_dr_event. There is no mention of prerequisites, context, or when not to use it.

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

dispatch_historyC

Get dispatch history for an asset

ParametersJSON Schema
NameRequiredDescriptionDefault
asset_idYesAsset ID

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description only implies a read operation ('Get') but provides no details on behavioral traits like data format, pagination, or permissions. Minimal transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, front-loaded with the key action and resource. No unnecessary words, making it highly efficient.

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

Completeness2/5

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

Despite the tool's simplicity, the description lacks information about the output (e.g., format, fields). Without an output schema, the agent needs at least a brief hint of what 'dispatch history' entails.

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

Parameters3/5

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

Schema coverage is 100% and the parameter description 'Asset ID' is present. The tool description adds no extra meaning beyond the schema, so baseline 3 is appropriate.

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?

Description clearly states the action (Get) and resource (dispatch history for an asset), making the purpose evident. It distinguishes from sibling tools like dispatch_command or dispatch_dr_event, though not explicitly.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. The description does not mention prerequisites, context, or exclusions, leaving the agent to infer from the name alone.

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

generate_compliance_packageC

Generate a compliance package for a site

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idYesSite ID
standardNoStandard: IEC61850, ISO50001, GHG_Scope2

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description should disclose behavioral traits like idempotency, side effects, or processing time. It only states the action, leaving the agent unaware of mutability or other important behaviors.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, succinct sentence with no wasted words, achieving maximum conciseness.

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

Completeness2/5

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

No output schema is provided, and the description does not indicate what the tool returns. Given the complexity of generating a compliance package and the existence of sibling tools like 'list_compliance_packages', the description is incomplete for effective use.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for both parameters, so the baseline is 3. The description adds no extra meaning beyond what the schema provides, such as explaining what a compliance package is or how 'standard' affects output.

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 it generates a compliance package for a site, with a specific verb and resource. However, it does not differentiate from sibling tools like 'generate_scope2_report', which might be similar in nature.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs. alternatives, such as when a specific standard is needed or when to use 'list_compliance_packages' instead. No prerequisites or exclusions are mentioned.

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

generate_scope2_reportC

Generate GHG Scope 2 compliance report

ParametersJSON Schema
NameRequiredDescriptionDefault
facility_idYesFacility UUID
period_startYesPeriod start
period_endYesPeriod end
methodologyNo

TDQS

C2.7/5.0
Behavior1/5

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

With no annotations, the description must disclose behavioral traits. It only says 'generate', implying a non-destructive read operation, but fails to mention required permissions, potential side effects, or output format. This is insufficient for an agent to invoke safely.

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 a single sentence with no fluff, achieving conciseness. However, it is so minimal that it sacrifices completeness. Front-loading is adequate as the verb and resource are clear.

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

Completeness2/5

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

Given the tool has 4 parameters, no output schema, and no annotations, the description is insufficient. It does not explain what a compliance report entails, return structure, or dependencies like requiring historical data. Sibling tools like generate_compliance_package suggest broader context not addressed.

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

Parameters3/5

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

Schema coverage is 75%, with three parameters having basic descriptions. The description adds no additional meaning beyond the schema. The 'methodology' enum lacks description, but its values are self-explanatory. No parameter-level guidance is provided.

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 it generates a GHG Scope 2 compliance report, specifying the scope and type of report. It distinguishes from siblings like generate_compliance_package by focusing on Scope 2, but lacks detail on what the report includes.

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

Usage Guidelines2/5

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 like generate_compliance_package. The description does not specify prerequisites, such as whether meter readings must exist, or scenarios where this tool is appropriate.

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

generate_settlementC

Generate a hash-chained settlement for a site

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idYesSite ID
period_startYesPeriod start (ISO date)
period_endYesPeriod end (ISO date)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. 'Hash-chained' hints at cryptographic linking but does not explain idempotency, side effects, permissions, or output format. This is insufficient for an agent to understand consequences.

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?

Single sentence, no wasted words. However, it could include more context while remaining concise.

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

Completeness2/5

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

Despite good schema coverage, the description fails to explain key concepts like 'hash-chained settlement' or the expected output (no output schema). Given the number of sibling tools, more context is needed for correct invocation.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. The description does not add meaning beyond what the parameter descriptions already provide (site ID, ISO dates). 'Hash-chained' is a tool-level trait, not parameter-specific.

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 tool generates a settlement for a site, with 'hash-chained' hinting at a specific method. However, it does not differentiate from siblings like 'settle_dr_event' or 'generate_compliance_package', which could cause confusion.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as 'settle_dr_event' or 'list_settlements'. The description provides no context for selection or prerequisites.

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

get_asset_reliabilityB

Get reliability score for an asset

ParametersJSON Schema
NameRequiredDescriptionDefault
asset_idYesAsset ID

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided. Description does not disclose behavioral traits beyond reading. Does not mention whether operation is read-only, any side effects, permissions, or response nature.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise: single sentence with no unnecessary words.

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

Completeness3/5

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

For a simple read tool with one parameter and no output schema, the description is minimally acceptable but could mention the nature of the reliability score (e.g., range, units).

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

Parameters3/5

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

Schema description coverage is 100% for the single parameter (asset_id). Description adds no additional meaning beyond what the schema provides.

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?

Description clearly states the action ('Get') and resource ('reliability score for an asset'). It distinguishes from sibling tools like 'get_site_reliability' and 'get_grid_capacity'.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. No mention of when-not or context conditions.

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

get_carbon_attestationC

Get carbon attestation for a site

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idYesSite ID

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It only implies a read operation via 'Get', but lacks info on safety, idempotency, permissions, or error handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single sentence is concise but at the expense of necessary details. It earns its place for purpose, but additional context would improve its value.

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

Completeness2/5

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

No output schema exists, so the description should explain what is returned (e.g., attestation data format). It also lacks behavioral and usage context, leaving the agent underinformed.

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

Parameters3/5

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

Schema coverage is 100% with a clear parameter description. The tool description adds no new meaning beyond 'site_id' context, meeting the baseline for high coverage.

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 (Get) and resource (carbon attestation) with scope (for a site). It distinguishes from siblings like get_carbon_certificate by resource name, though it could elaborate on what an attestation entails.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like get_carbon_certificate or get_site. No prerequisites or context for invocation are provided.

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

get_carbon_certificateC

Generate a carbon certificate for a facility

ParametersJSON Schema
NameRequiredDescriptionDefault
facility_idYesFacility UUID
startYesPeriod start (ISO date)
endYesPeriod end (ISO date)

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description bears full responsibility. It indicates a write operation ('Generate') but does not disclose idempotency, permissions, side effects, or error conditions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single-sentence description is concise and not wasteful, but it is too terse given the tool's complexity and lack of annotations. It earns its place but could provide more value.

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

Completeness2/5

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

With no output schema and no annotations, the description should explain what the tool returns or any important context. It only states the action, leaving the agent with insufficient information to use the tool correctly.

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

Parameters3/5

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

The input schema has 100% description coverage for all 3 parameters (facility_id, start, end). The description adds no additional meaning beyond the schema, so baseline of 3 is appropriate.

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 states it generates a carbon certificate for a facility, making the action and target clear. However, it does not differentiate from sibling tools like get_carbon_attestation, which may have overlapping functionality.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus siblings (e.g., get_carbon_attestation, generate_compliance_package). No usage context or alternatives are mentioned.

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

get_dr_eventC

Get details of a DR event

ParametersJSON Schema
NameRequiredDescriptionDefault
event_idYesEvent UUID

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It states 'Get details' which implies read-only, but does not confirm idempotency, side effects, or any behavioral traits beyond the basic action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise, but it lacks substance and could be expanded without becoming verbose.

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

Completeness2/5

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

Given the simplicity of the tool (1 param, no output schema), the description is minimal but does not clarify what 'details' include, leaving ambiguity. It also lacks context relative to sibling tools like list_dr_events.

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

Parameters3/5

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

Schema coverage is 100% (event_id is described as 'Event UUID' in schema). The description adds no additional meaning beyond the schema.

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 'Get details of a DR event' clearly states the action (get) and resource (details of a DR event). It is distinguishable from sibling tools like list_dr_events by implying single record retrieval, though not explicitly.

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

Usage Guidelines2/5

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 like list_dr_events or other 'get' tools. The context for use is implied but not explicit.

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

get_grid_capacityB

Get grid capacity for a region

ParametersJSON Schema
NameRequiredDescriptionDefault
regionYesRegion code (e.g. AE-DXB, PH-LUZ)

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, and the description is minimal. It does not disclose behavioral traits such as data freshness, idempotency, or side effects. The single sentence only states the basic purpose, leaving the agent without important context.

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 a single sentence with no wasted words. It is front-loaded with the action and object. However, it could benefit from a brief additional sentence to improve completeness without breaking conciseness.

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

Completeness3/5

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

Given the simplicity (one required parameter, no output schema), the description is adequate but minimal. It does not explain what 'grid capacity' represents or how results might be structured, leaving some ambiguity for an AI agent.

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

Parameters3/5

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

Schema description coverage is 100% for the single parameter 'region', and the schema already provides a clear description with examples. The tool description adds no additional semantic information, so baseline 3 is appropriate.

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 ('Get') and resource ('grid capacity') with a region qualifier. It clearly distinguishes from sibling tools like get_grid_prices and get_grid_trends, which target different grid data.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives (e.g., get_grid_prices, get_grid_trends). It lacks any when-to-use, when-not-to-use, or prerequisite information.

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

get_grid_pricesC

Get current grid electricity prices

ParametersJSON Schema
NameRequiredDescriptionDefault
regionNoRegion code

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so the description must disclose behavioral traits. It only states 'get' implying read-only, but omits details on rate limits, data freshness, authentication needs, or side effects. The description is insufficient for full transparency.

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 one concise sentence with no wasted words. It could benefit from a brief mention of the region parameter to improve informativeness without losing conciseness.

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

Completeness2/5

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

The tool has no output schema, so the description should indicate what the response contains (e.g., price value, unit, time). It also lacks details on the region parameter's format. The description is incomplete for a tool with simple complexity.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already describes the single parameter 'region' as 'Region code'. The description adds no additional meaning, meeting the baseline but not exceeding it.

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 tool retrieves current grid electricity prices, distinguishing it from siblings like 'get_grid_capacity' and 'get_grid_trends'. However, it does not explicitly mention that the 'region' parameter can filter results, which slightly reduces clarity.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. There is no mention of prerequisites, context, or scenarios where other tools (e.g., 'get_grid_capacity') might be more appropriate.

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

get_integration_statusB

Get status of all integrations (Modbus, OpenADR, BESS, grid prices)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

No annotations provided. The description implies read-only but does not disclose behavior such as data freshness, error handling, or aggregation details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with no fluff, effectively conveying the tool's purpose.

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

Completeness3/5

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

Lacks output schema and does not describe return structure. Lists integration types, but for a tool with no params this is adequate but not complete.

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

Parameters4/5

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

No parameters exist, so schema coverage is 100%. The description adds no parameter info, but baseline for 0 params is 4.

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 tool retrieves status for specific integrations listed, distinguishing it from other get_ tools like get_grid_prices. However, 'status' is not further defined.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like get_grid_prices. Does not mention prerequisites or scenarios.

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

get_meter_readingsB

Get meter readings for a grid connection

ParametersJSON Schema
NameRequiredDescriptionDefault
grid_connection_idYesGrid connection ID

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as read-only nature, permissions, rate limits, or data freshness. It only states the basic action without any further context.

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 a single concise sentence with no redundancy. It is appropriately sized for a simple tool, though slightly more detail could be added without becoming verbose.

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

Completeness2/5

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

For a tool with 1 parameter and no output schema, the description is minimal. It lacks explanations of what the meter readings contain or any additional context needed to use the tool effectively.

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

Parameters3/5

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

Schema coverage is 100% and the description adds no additional meaning beyond what the schema already provides for the single parameter 'grid_connection_id'. Baseline score of 3 applies.

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 clearly states the verb 'Get' and the resource 'meter readings', and specifies the context 'for a grid connection'. It is specific and distinguishes from sibling tools like get_grid_capacity or get_grid_prices.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, no mention of prerequisites or exclusions. Usage is only implied, not explicit.

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

get_procurement_optionsC

Get procurement options

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesProcurement request ID

TDQS

C2.3/5.0
Behavior1/5

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

No annotations provided and description only says 'Get'. No details on side effects, permissions, or return behavior. Fully fails to disclose behavioral traits beyond the verb.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise at three words, but loses necessary detail. Structure is fine but not optimally informative.

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

Completeness2/5

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

With one parameter, no output schema, and no annotations, the description does not explain what 'procurement options' means or what the tool returns. Incomplete for effective use.

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

Parameters3/5

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

Schema covers the single parameter 'id' with description 'Procurement request ID' (100% coverage). Description adds no further meaning; baseline score of 3 is appropriate.

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

Purpose3/5

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

Description states 'Get procurement options' which identifies a verb and resource but 'options' is vague; does not specify what options are (e.g., vendors, pricing). Differentiable from sibling 'get_' tools by resource but lacks specificity.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives like analyze_procurement or create_procurement. No context on prerequisites or exclusions.

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

get_siteC

Get details of a specific site

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idYesSite ID

TDQS

C2.9/5.0
Behavior2/5

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

Without annotations, the description only says 'get details', implying a read operation but doesn't specify behavior on missing site, error conditions, or response format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence that front-loads the main action. No unnecessary words.

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

Completeness2/5

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

The description does not explain what 'details' are returned, leaving ambiguity. With no output schema, an agent lacks information about the return value structure.

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

Parameters3/5

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

Schema coverage is 100% with one parameter (site_id) described. The description adds no additional meaning beyond what the schema provides, so baseline score applies.

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 tool gets details of a specific site, which is a specific verb-resource combination. It distinguishes itself from sibling tools like list_sites that list all sites.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., list_sites for browsing). The description does not mention prerequisites or context of use.

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

get_site_reliabilityC

Get reliability score for a site

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idYesSite ID

TDQS

C2.9/5.0
Behavior2/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 of disclosing behavior. It simply states it 'gets' a score, but does not mention authentication requirements, error handling, or what constitutes a reliability score. This lack of detail hinders the agent from understanding potential side effects or constraints.

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 a single sentence that is concise and front-loaded with the action and resource. However, it could be slightly expanded to include context without losing conciseness.

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

Completeness2/5

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

Given the absence of an output schema and annotations, the description should provide more context about what the reliability score represents (e.g., format, range). It also does not specify return values or edge cases, making it incomplete for the AI agent to understand the full behavior.

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

Parameters3/5

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

Schema description coverage is 100% (the parameter 'site_id' has a description 'Site ID' in the schema). The description adds no additional meaning beyond the schema, but since the schema already covers the parameter, a score of 3 is appropriate.

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 states the verb 'Get' and the resource 'reliability score for a site' clearly. However, it does not distinguish from the sibling tool 'get_asset_reliability', which also provides reliability scores; a more specific description could mention that this is for sites as opposed to assets.

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

Usage Guidelines2/5

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

There are no guidelines on when to use this tool versus alternatives like 'get_asset_reliability' or other retrieval tools. The description does not mention any context or prerequisites, leaving the AI agent without guidance on tool selection.

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

health_checkA

Check platform health and connectivity

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. It only says 'check', implying a read-only operation, but does not state side effects, required permissions, or what constitutes a failure. The description fails to add behavioral details beyond the name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence with no unnecessary words. It is front-loaded and efficiently communicates the tool's purpose.

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

Completeness3/5

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

Given no parameters, no annotations, and no output schema, the description provides minimal information. It does not explain what the return value looks like, what 'health' means, or how to interpret results. For a simple health check, this might be acceptable, but overall it leaves gaps.

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

Parameters4/5

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

The tool has zero parameters and schema description coverage is 100% (vacuously). The description does not need to explain parameters. Following the baseline of 4 for zero-parameter tools, this is appropriate.

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 'Check platform health and connectivity' uses a specific verb ('check') and identifies the resource ('platform health and connectivity'), clearly differentiating from siblings like get_integration_status or get_site_reliability.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., when to use health_check vs. get_integration_status or sandbox_status). The description is too terse to establish usage context.

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

list_assetsC

List assets, optionally filtered by site

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idNoOptional site ID filter

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description must fully convey behavioral traits. It only states 'list' which implies a read operation but does not disclose any constraints, pagination, sorting, or performance implications.

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 a single short sentence with no unnecessary words. It is efficient and front-loaded, though it could be slightly more informative without being verbose.

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

Completeness2/5

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

Given there is no output schema and the tool has only one optional parameter, the description is minimal. It does not specify return format, pagination, or error conditions, leaving gaps for the agent.

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

Parameters3/5

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

Schema coverage is 100% and the description adds no new meaning beyond the schema's parameter description for site_id. The baseline of 3 is appropriate as the description is consistent but not enhancing.

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 uses a specific verb 'List' and resource 'assets', clearly indicating the action and object. It also mentions an optional filter, which distinguishes it from sibling tools like list_sites or list_dr_events.

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

Usage Guidelines2/5

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. The description lacks context about prerequisites or scenarios, such as when to use list_assets instead of get_asset_reliability or other asset-related tools.

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

list_compliance_packagesC

List compliance packages for a site

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idYesSite ID

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided. Description only states the action without disclosing behavioral traits such as pagination, sorting, permissions, or output details. Agent has no insight into what the response will contain.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with no unnecessary words. Succinct and front-loaded.

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

Completeness2/5

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

Given the absence of annotations and output schema, the description is too minimal. It doesn't explain what a compliance package is or what the output looks like, leaving the agent underinformed.

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

Parameters3/5

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

Schema description coverage is 100% with minimal 'Site ID'. Description adds no additional meaning beyond that, so baseline score of 3 is appropriate.

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?

Description clearly states it lists compliance packages for a site, using specific verb and resource. It distinguishes from sibling 'generate_compliance_package' by implication, but no explicit differentiation is provided.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. For instance, it doesn't clarify that this is for existing packages while 'generate_compliance_package' creates new ones.

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

list_dr_eventsB

List demand response events

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFilter by status
facility_idNoFilter by facility

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It only says 'list demand response events' without disclosing behavior like pagination, ordering, or what events are returned (e.g., active only?). Minimal transparency.

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?

Extremely concise (two words), which is appropriate for a simple list operation. However, it could include a bit more context without being verbose.

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

Completeness3/5

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

For a simple list with two optional filters and no output schema, the description is minimally adequate. It lacks behavioral details like pagination or ordering, which might be needed for proper usage.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for both parameters. The description adds no additional meaning beyond what the schema provides. Baseline 3 applies due to high coverage.

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 clearly states the action (list) and resource (demand response events). It distinguishes from sibling tools like 'get_dr_event' (singular) and 'create_dr_event'.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs. alternatives like 'get_dr_event' or filtering options. The description lacks any context about recommended use cases.

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

list_grid_connectionsC

List grid connections for a site

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idYesSite ID

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. The description only says 'list' implying read-only, but fails to mention side effects, authentication needs, or rate limits, leaving ambiguity.

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 a single sentence with no wasted words, making it efficient. However, it could be slightly more structured by mentioning the output briefly.

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

Completeness3/5

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

For a simple list operation with 1 parameter and no output schema, the description is nearly complete but lacks mention of what is returned (e.g., a list of connection IDs). This leaves the agent partially uninformed.

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

Parameters3/5

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

Schema coverage is 100% with a clear description for 'site_id'. The tool description adds no extra meaning beyond what the schema already provides, meeting baseline expectations.

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 verb 'list' and the resource 'grid connections' scoped to a site. It differentiates from sibling tools like 'get_grid_capacity' or 'get_grid_prices' by focusing on connections, but does not explicitly distinguish itself.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives (e.g., 'get_site' or 'list_assets'). The description lacks context for optimal selection.

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

list_settlementsC

List settlements for a site

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idNoOptional site ID filter

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral aspects. It only states a read-like operation but omits details like pagination, rate limits, or data freshness. Minimal transparency.

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?

Single sentence with no waste. Efficiently communicates the core purpose, though could benefit from slight expansion.

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

Completeness2/5

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

Despite low complexity (1 optional param, no output schema or annotations), the description fails to explain return format, default behavior (all settlements?), or any limitations. Incomplete for an agent to confidently invoke.

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

Parameters3/5

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

Schema coverage is 100% for 'site_id' with description 'Optional site ID filter'. The description adds no new meaning beyond the schema, so baseline 3 is appropriate.

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 'List settlements for a site' clearly states the action (list) and resource (settlements) with a site scope. However, it does not differentiate from sibling tools like 'generate_settlement' or 'verify_settlement', which could cause confusion.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like 'get_site' or 'list_dr_events'. No exclusions or context for usage provided.

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

list_sitesA

List all energy sites in your tenant

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations and only a brief description, the tool does not disclose expected behaviors such as pagination, performance characteristics, or whether the list is complete or truncated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that conveys the essential purpose. It is concise and front-loaded, with no wasted words.

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

Completeness3/5

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

Given the tool's simplicity (no parameters, no output schema), the description is adequate but lacks details on pagination or result size, which would be helpful for an agent.

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

Parameters4/5

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

The tool has zero parameters, so the schema is already complete. The description adds no extra parameter information, but none is needed. Baseline is 4 for 0-param tools.

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 clearly states the action (list) and the resource (energy sites) with a well-defined scope ('in your tenant'). This distinguishes it from the sibling 'get_site' tool, which retrieves a single site.

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

Usage Guidelines2/5

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 like 'get_site' or other listing tools. The agent must infer the appropriate use case from the name alone.

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

provision_sandboxB

Provision a developer sandbox environment with simulated data

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description bears full responsibility for behavioral disclosure. It only states the action (provisioning simulated data) but does not mention side effects, idempotency, authorization requirements, or whether the operation is reversible. This is insufficient for a creation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence of seven words, conveying the essential action without any superfluous content. It is highly concise and front-loaded, making it easy for an agent to quickly grasp the tool's purpose.

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

Completeness3/5

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

Given the lack of parameters, output schema, and annotations, the description is minimally adequate. However, it omits important details such as return value, typical response time, or any preconditions. For a tool that creates an environment, more context is expected for complete understanding.

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

Parameters4/5

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

The input schema has zero parameters and schema coverage is 100%. According to guidelines, the baseline score for 0 parameters is 4, and the description adds no further parameter information since none exist. It is adequate for a parameterless tool.

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 uses the specific verb 'Provision' and identifies the resource as 'developer sandbox environment with simulated data', clearly distinguishing it from sibling tools like 'sandbox_status' which check status rather than create. However, it could be more specific about the contents of the simulated data.

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

Usage Guidelines2/5

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. For example, there is no mention that this tool should be used to create a new sandbox, while 'sandbox_status' is for checking existing ones. The description lacks explicit context for appropriate usage.

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

sandbox_statusA

Check sandbox environment status and usage

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description must convey behavioral traits. It only states the tool checks status and usage but does not disclose whether it is read-only, idempotent, or any side effects. The minimal description fails to add valuable behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no wasted words. It is front-loaded and effectively communicates the tool's purpose.

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

Completeness3/5

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

Given the tool has no parameters and no output schema, the description is minimal but adequate for a simple status check. However, it could be more complete by indicating the kind of information returned (e.g., available vs. deprecated resources) or any usage constraints.

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

Parameters4/5

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

The input schema has zero parameters, so schema coverage is 100%. With no parameters, the description does not need to explain parameter semantics, meeting the baseline of 4 for zero-parameter tools.

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 'Check sandbox environment status and usage' clearly indicates the tool retrieves status and usage information for a sandbox environment. It uses a specific verb ('Check') and resource ('sandbox environment'), and distinguishes from sibling tools like 'provision_sandbox' which creates a sandbox, and 'health_check' which checks overall system health.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. There is no mention of prerequisites, when not to use it, or which sibling tools might be more suitable for related queries.

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

settle_dr_eventB

Settle a DR event with carbon attestation

ParametersJSON Schema
NameRequiredDescriptionDefault
event_idYesEvent UUID

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits. It does not indicate that this is a destructive or irreversible action, whether special permissions are required, or what side effects occur (e.g., updating event status, generating certificates).

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 a single sentence with no unnecessary words. However, it could benefit from slightly more context without becoming verbose.

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

Completeness2/5

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

Given no output schema and minimal description, the tool's behavior is under-explained. The term 'settle' and 'carbon attestation' are ambiguous, leaving the agent unsure of the exact outcome or process. Sibling tools like generate_settlement suggest settlement may involve reporting, but this is not clarified.

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

Parameters3/5

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

Schema description coverage is 100% for the single parameter event_id, which is labeled 'Event UUID'. The description adds no additional meaning beyond the schema, so baseline of 3 is appropriate.

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 clearly states the action 'Settle' and the resource 'DR event' with the qualifier 'with carbon attestation', distinguishing it from sibling tools like create_dr_event, dispatch_dr_event, or get_dr_event.

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

Usage Guidelines2/5

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 (e.g., dispatch_dr_event or generate_settlement). There is no mention of prerequisites, such as the DR event being dispatched or an attestation already being obtained.

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

verify_carbon_chainC

Verify the SHA-256 hash chain for a meter

ParametersJSON Schema
NameRequiredDescriptionDefault
meter_idYesMeter ID

TDQS

C2.7/5.0
Behavior1/5

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

No annotations present, and the description does not disclose behavioral traits such as read-only nature, destructive actions, authentication needs, or side effects.

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 a single sentence, concise and front-loaded. It could include more detail without sacrificing conciseness.

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

Completeness2/5

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

Given no output schema, the description should explain the return value or verification outcome. It lacks details about the behavior and result, leaving the agent with incomplete context.

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

Parameters3/5

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

Schema coverage is 100% with a single parameter 'meter_id'. The description adds no additional meaning beyond the schema, meeting the baseline but not improving it.

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 verb 'Verify' and the resource 'SHA-256 hash chain for a meter', distinguishing it from sibling tools like verify_settlement. However, it does not elaborate on what 'hash chain' entails.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. No context provided about prerequisites or typical scenarios.

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

verify_settlementB

Verify a settlement's hash chain integrity

ParametersJSON Schema
NameRequiredDescriptionDefault
settlement_idYesSettlement ID

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided, so the description must disclose behavioral traits. It does not state whether the operation is read-only, has side effects, or requires specific permissions. Minimal information given.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is a single, direct sentence with no unnecessary words. Front-loaded and efficient.

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

Completeness3/5

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

While the purpose is clear, the description lacks context about what 'hash chain integrity' means, expected output (since no output schema), or behavior on failure. Adequate but not fully complete.

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

Parameters3/5

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

Schema coverage is 100% with 'settlement_id' described as 'Settlement ID'. The description adds no additional meaning beyond the schema, so baseline score of 3 is appropriate.

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 'Verify a settlement's hash chain integrity' clearly specifies the action (verify) and resource (settlement hash chain), distinguishing it from sibling tools like 'verify_carbon_chain' which verifies carbon records.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as 'verify_carbon_chain' or 'settle_dr_event'. No prerequisites or conditions for use are mentioned.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 34 tool updatesv1.0.0
    • First observedanalyze_procurement
    • First observedcreate_carbon_record
    • First observedcreate_dr_event
    • First observedcreate_procurement
    • First observeddispatch_command
    • First observeddispatch_dr_event
    • First observeddispatch_history
    • First observedgenerate_compliance_package
    • First observedgenerate_scope2_report
    • First observedgenerate_settlement
    • First observedget_asset_reliability
    • First observedget_carbon_attestation
    • First observedget_carbon_certificate
    • First observedget_dr_event
    • First observedget_grid_capacity
    • First observedget_grid_prices
    • First observedget_grid_trends
    • First observedget_integration_status
    • First observedget_meter_readings
    • First observedget_procurement_options
    • First observedget_site
    • First observedget_site_reliability
    • First observedhealth_check
    • First observedlist_assets
    • First observedlist_compliance_packages
    • First observedlist_dr_events
    • First observedlist_grid_connections
    • First observedlist_settlements
    • First observedlist_sites
    • First observedprovision_sandbox
    • First observedsandbox_status
    • First observedsettle_dr_event
    • First observedverify_carbon_chain
    • First observedverify_settlement

TDQS

B3/5.0

Scored across 34 tools

Disambiguation4/5

Most tools have distinct purposes, but some overlap exists (e.g., get_grid_capacity vs get_grid_trends, dispatch_command vs dispatch_dr_event). Descriptions help clarify, but an agent might occasionally confuse similar-sounding tools.

Naming Consistency4/5

The vast majority follow a consistent verb_noun pattern (e.g., create_carbon_record, list_assets). Minor deviations like health_check (noun_noun) and sandbox_status (noun_noun) prevent a perfect score.

Tool Count3/5

With 34 tools covering a broad domain (procurement, demand response, carbon, grid, assets, compliance, sandbox), the count is high but still manageable. It borders on heavy, but each tool appears justified for the scope.

Completeness4/5

The set covers core workflows well: create/read/list for most resources, plus dispatch, settlement, compliance, and carbon attestation. Missing update/delete operations for some entities, but this may be intentional. Minor gap in lacking user/tenant management.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides real-time US power grid intelligence and carbon intensity data to enable carbon-aware AI compute scheduling across major grid regions. It allows users to monitor energy generation and optimize workloads based on renewable energy availability and grid load forecasts.
    2
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    87+ specialized tools for German and European energy data. Direct AI access to Marktstammdatenregister (MaStR), ENTSO-E, Redispatch 2.0, and Grid Operations for utilities and datacenters.
    2
    GPL 3.0
  • F
    license
    Not graded
    quality
    C
    maintenance
    Connects to 7,000+ utilities to surface bill data, interval meter readings, and carbon calculations via the Model Context Protocol.
    -