Skip to main content
Glama

Server Details

Usage metering + SLA accounting for agent services (the meter behind x402 micropayments).

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
jdhart81/viridis-agent-fleet
GitHub Stars
0
Server Listing
viridis-agent-fleet

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsC

Average 3.4/5 across 11 of 11 tools scored. Lowest: 2.2/5.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct aspect of usage metering: creating meters, recording events, generating reports, flagging synthetic data, closing periods, and verifying chain integrity. No two tools have overlapping purposes.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., close_period, create_meter, list_events). No deviations or mixed conventions.

Tool Count5/5

With 11 tools, the set is well-scoped for a metering server. It covers creation, recording, listing, reporting, admin flags, period closing, and chain verification without being unnecessarily large.

Completeness4/5

The core lifecycle is covered: create meter, record usage, list events, generate reports, close period. Missing are tools to update/delete meters or retrieve invoices, but these are minor gaps given the immutable design intent.

Available Tools

11 tools
close_periodBInspect

Freeze all open events into an immutable invoice (exactly-once). The invoice amount is what agent-escrow-agent should settle.

ParametersJSON Schema
NameRequiredDescriptionDefault
meter_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

Discloses immutability and exactly-once behavioral traits, which are important. However, with no annotations, it misses side effects like event accessibility changes, auth requirements, or idempotency 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?

Two sentences, front-loaded with key action and outcome. No redundant information; every sentence earns its place.

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?

Despite having an output schema, the description lacks parameter explanation and usage context. It covers the core action but is incomplete for a tool with no annotations.

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

Parameters2/5

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

Schema coverage is 0%, and the description does not explain the 'meter_id' parameter (what it is, how to obtain it, or its format). No added 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 clearly states it freezes open events into an immutable invoice and mentions exactly-once semantics. It specifies the action and resource, but does not differentiate from sibling tools like list_events or record_usage.

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 explicit guidance on when to use this tool versus alternatives. The description implies it's for finalizing a period but lacks when-not or prerequisite information.

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

create_meterBInspect

Create a usage meter between a provider and a consumer agent.

unit: what is being counted (call, token, kwh, ...). Price is in minor
currency units (cents) per unit. Returns the meter_id.
ParametersJSON Schema
NameRequiredDescriptionDefault
unitYes
consumerYes
currencyNoUSD
providerYes
sla_targetNo
price_minor_per_unitYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

With no annotations, the description must disclose behavioral traits but only mentions it returns the meter_id. It omits side effects, authorization requirements, idempotency, or data persistence, which 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 concise with two sentences and a clarification line, no redundant words. It efficiently communicates the core action and key parameter semantics.

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 having an output schema, the description only lists the return value as meter_id. It does not explain all 6 parameters, defaults (currency, sla_target), error conditions, or usage context, leaving significant gaps for a complex tool.

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 description adds meaning for 'unit' and 'price_minor_per_unit' (e.g., unit is what is counted, price in cents per unit), but does not explain provider, consumer, currency, or sla_target. Given 0% schema coverage, it partially compensates but misses key parameters.

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 tool creates a usage meter between provider and consumer, using a specific verb ('Create') and resource ('usage meter'). It distinguishes from sibling tools like list_meters or flag_meter, as creation is unique.

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 record_usage or flag_meter. It does not mention prerequisites or scenarios, leaving the agent to infer usage context.

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

describe_agentCInspect

Fleet-standard self-description.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

No annotations exist, so description should disclose behavioral traits. It does not mention idempotency, side effects, or any requirements. The output schema exists but description does not aid transparency.

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 one short sentence, but it is not well-structured and uses jargon ('Fleet-standard'). It is front-loaded but lacks substance.

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 having no parameters and an output schema, the description is incomplete. It fails to specify what the agent describes or what the output contains, leaving the agent with insufficient 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?

Tool has zero parameters, so baseline is 4. The schema already covers parameter definition entirely, and no additional semantics are necessary.

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

Purpose2/5

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

Description is vague: 'Fleet-standard self-description' does not clearly state the tool's function. It lacks a specific verb-resource combination and fails to distinguish from siblings.

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

Usage Guidelines1/5

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

No guidance provided on when to use or avoid this tool. No alternatives or context given, leaving the agent uninformed about its appropriate use case.

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

flag_meterAInspect

Admin: flag/unflag a meter as test/synthetic so its events are excluded from usage statistics by default. Touches meter metadata only — never events, never the hash chain, never billing accruals. Requires the server's VIRIDIS_ADMIN_TOKEN.

ParametersJSON Schema
NameRequiredDescriptionDefault
noteNo
is_testYes
meter_idYes
admin_tokenYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior5/5

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

The description explicitly details what the tool affects (meter metadata only) and crucially what it does not affect (events, hash chain, billing accruals). With no annotations provided, this clarity is essential and well provided.

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 concise with two sentences delivering purpose, scope, and authorization. No redundant information; every sentence adds value.

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

Completeness4/5

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

The description provides core purpose and constraints (auth, scope). An output schema exists, so return values need not be described. However, it lacks guidance on when to flag/unflag or how the test status interacts with other tools, but this is minor given the clear purpose.

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

Parameters2/5

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

With 0% schema description coverage, the description must compensate but only mentions the admin_token requirement. Parameters like meter_id, is_test, and note are not explained, leaving the agent to infer from names. The description adds minimal semantic value beyond the schema.

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

Purpose5/5

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

Description clearly states the action (flag/unflag), the resource (meter as test/synthetic), and the purpose (exclude events from usage statistics). It distinguishes itself from sibling tools like create_meter or list_meters by specifying an admin-only metadata update.

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

Usage Guidelines4/5

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

The description specifies a key prerequisite: requires the VIRIDIS_ADMIN_TOKEN. It implies administrative use through the 'Admin:' prefix, but does not explicitly state when to use this tool versus alternatives 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.

list_eventsAInspect

Read usage events (paginated, read-only). Filter by meter, provider, consumer_class (internal|external|unknown), channel, outcome (ok|error), and ISO date range [since, until). Test-flagged events are excluded unless include_test=true. Returns events + next_cursor.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
sinceNo
untilNo
cursorNo
channelNo
outcomeNo
meter_idNo
providerNo
include_testNo
consumer_classNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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

With no annotations, the description carries the full burden. It states the tool is read-only, paginated, and describes filtering capabilities, including the exclusion of test-flagged events unless include_test=true. It also mentions the return value ('events + next_cursor'). This covers most key behaviors, though it omits rate limits or permission requirements.

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 two sentences: the first states the main purpose, the second details filters and return value. It is concise, front-loaded, and every sentence adds value.

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

Completeness4/5

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

Given the complexity of 10 parameters and presence of an output schema, the description covers read behavior, pagination, filtering options, and the special case for test events. It is fairly complete, though it could specify the ISO date format more precisely or mention related usage concepts.

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

Parameters5/5

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

Schema has 0% description coverage, so the description must compensate. It lists all major filters (meter, provider, consumer_class with values, channel, outcome with values, since/until as ISO date range) and implies pagination parameters. This adds significant meaning beyond the schema's minimal type/default information.

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 starts with 'Read usage events (paginated, read-only)', clearly specifying the verb 'Read', the resource 'usage events', and key traits. It distinguishes from sibling tools like list_meters and record_usage.

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

Usage Guidelines3/5

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

The description lists available filters but does not provide explicit guidance on when to use this tool versus alternatives, nor does it mention when not to use it. It implies usage context through the filter options but lacks explicit exclusions.

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

list_metersAInspect

List all meters with event/invoice counts.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
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 does not state if the operation is read-only, whether pagination exists, or any auth/rate-limit constraints. The minimal description leaves significant ambiguity.

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 six words, front-loading the action and resource. Every word is informative, with no fluff.

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

Completeness4/5

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

Given zero parameters and an existing output schema, the description is nearly complete for a simple listing tool. It could mention default ordering or that all meters are returned, but the presence of an output schema reduces the need for further detail.

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?

There are no parameters, and schema coverage is 100%. The description adds value by indicating the output includes event/invoice counts, which is not obvious from the parameterless schema alone.

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 explicitly states the verb 'list' and the resource 'meters', and adds 'with event/invoice counts' to specify the scope. This clearly distinguishes it from siblings like list_events or create_meter.

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

Usage Guidelines3/5

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

The description implies usage for retrieving a list of meters with counts, but provides no explicit guidance on when to use this tool versus alternatives (e.g., list_events, flag_meter). No exclusions or context is given.

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

record_usageBInspect

Record a usage event. Idempotent on event_id (safe to retry — never double-billed). outcome is 'ok' or 'error' and feeds the SLA report.

ParametersJSON Schema
NameRequiredDescriptionDefault
outcomeNook
event_idYes
metadataNo
meter_idYes
quantityYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

With no annotations, the description discloses key behavioral traits: idempotency on event_id and that outcome feeds the SLA report. However, it lacks details on destruction, rate limits, 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?

Two concise sentences, front-loaded with the action. Every sentence adds value with no redundancy.

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 5 parameters and an output schema, the description covers only idempotency and outcome significance. It fails to explain the purpose of meter_id, quantity, or what the output contains, leaving significant gaps.

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

Parameters2/5

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

Schema coverage is 0%, and the description only adds meaning for event_id (idempotent) and outcome (ok/error, feeds SLA report). It omits meter_id, quantity, and metadata, leaving them unexplained.

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's action ('Record a usage event') and resource, distinguishing it from sibling tools like usage_summary and usage_timeseries by the verb 'record'.

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 or when not to use it. The description only explains what it does without context.

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

sla_reportCInspect

Pure SLA report: success_rate vs sla_target, breach flag. No mutation.

ParametersJSON Schema
NameRequiredDescriptionDefault
meter_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

No annotations provided, so description must fully disclose behavior. It states 'No mutation' but omits details like whether the tool is read-only, what happens on invalid meter_id, rate limits, or if it requires specific scopes. Lacks sufficient 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.

Conciseness3/5

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

Description is very short (two sentences) with no wasted words, but it omits important details. Brevity is acceptable only if all critical info is present; here it is not, so conciseness is not a virtue.

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 having an output schema, the description does not convey what fields the report returns (e.g., success_rate, sla_target, breach flag). For a reporting tool, the agent needs to understand the output to use it effectively. The description is incomplete.

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

Parameters1/5

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

Schema description coverage is 0% and the description does not explain the 'meter_id' parameter. The parameter name is somewhat self-explanatory, but the description adds no constraints or examples, leaving the agent to guess valid values or formats.

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 tool produces an SLA report comparing success_rate to sla_target with a breach flag, and explicitly says 'No mutation'. This distinguishes it from sibling tools like list_meters or record_usage, which have different purposes. Slightly lacks specificity on report format.

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. The description does not mention conditions like required permissions, data freshness, or context where other reports (e.g., usage_summary) would be more appropriate.

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

usage_summaryAInspect

Totals for a meter: event count, total quantity, accrued minor units.

ParametersJSON Schema
NameRequiredDescriptionDefault
meter_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

With no annotations, the description carries full burden. It discloses the outputs (event count, total quantity, minor units) but omits read-only nature, auth requirements, error handling (e.g., invalid meter_id), and response format beyond the listed fields. Basic transparency is provided but not comprehensive.

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 of 12 words, extremely concise and front-loaded with the core purpose. While brief, it covers the essential outputs without fluff, earning a high score for efficiency.

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

Completeness4/5

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

For a simple tool with one parameter and an existing output schema, the description lists the three key outputs, providing enough context for an agent to understand what is returned. It lacks edge-case info but is largely complete given the tool's low 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 0% with only one parameter (meter_id). The description does not explicitly mention the parameter, but the tool name and description imply the meter context. The parameter name is self-explanatory, so the description adds minimal value beyond the schema.

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

Purpose5/5

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

The description clearly states the tool returns totals for a meter, specifying three fields: event count, total quantity, accrued minor units. It distinguishes from siblings like list_meters (which lists meters) and record_usage (which records usage), making the purpose specific and unambiguous.

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, nor any prerequisites or when-not-to-use conditions. The description is minimal and does not help an agent decide between this and related tools like usage_timeseries or sla_report.

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

usage_timeseriesAInspect

Usage time series bucketed on each event's recorded_at (UTC; bucket=day|hour), grouped across meters by provider — a real time-series primitive, independent of meter creation times. Includes per-bucket breakdowns by consumer_class / channel / provider. est_accrued_minor is an estimate; authoritative billing stays with usage_summary.

ParametersJSON Schema
NameRequiredDescriptionDefault
sinceNo
untilNo
bucketNoday
channelNo
meter_idNo
providerNo
include_testNo
consumer_classNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses that the time series is bucketed by recorded_at (UTC, day/hour), is independent of meter creation times, includes breakdowns by consumer_class/channel/provider, and that est_accrued_minor is an estimate. This provides useful behavioral context, though it does not mention auth requirements or rate limits.

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 three concise sentences that front-load the key information (time series bucketing, grouping, independence) and add supporting details (breakdowns, estimate note). Every sentence earns its place with no redundant or vague wording.

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

Completeness4/5

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

Given the tool has 8 parameters, an output schema, and no required params, the description provides a solid overview of purpose, behavioral notes, and parameter roles. The output schema covers return values, so details on that are unnecessary. Minor missing details like date format or handling of missing data prevent a perfect score.

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 schema has 0% parameter description coverage, so the description must compensate. It explicitly mentions bucket (day|hour), channel, provider, and consumer_class, giving meaning to those parameters. However, since/until and include_test are only implicitly referenced, and meter_id is not addressed at all. The description adds value but leaves gaps.

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 identifies the tool as a usage time series bucketed by recorded_at (UTC, day/hour), grouped by provider, and distinguishes it from usage_summary by noting that authoritative billing is elsewhere. It specifies the resource (usage timeseries) and the key breakdowns, making the purpose highly clear.

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

Usage Guidelines4/5

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

The description explicitly mentions that est_accrued_minor is an estimate and that authoritative billing stays with usage_summary, providing guidance on when to use this tool vs. the sibling usage_summary. However, it does not explicitly state conditions for using this tool over other siblings like list_events or verify_chain, though the time-series focus is implied.

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

verify_chainCInspect

Verify the tamper-evident event hash chain for a meter.

ParametersJSON Schema
NameRequiredDescriptionDefault
meter_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

No annotations are provided, so the description carries full responsibility for behavioral disclosure. The description is too brief—it does not indicate whether the operation is read-only, if it modifies state, or what side effects occur (e.g., updates a verification log).

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, front-loaded sentence that is efficient. However, given the lack of detail, it prioritizes brevity over completeness, which slightly reduces 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?

Despite having an output schema, the description does not explain what the tool returns (e.g., a boolean success flag or detailed chain status). The tool is simple (one parameter) but still requires more context to be fully self-contained.

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

Parameters2/5

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

Schema description coverage is 0%, and the description adds no information about the 'meter_id' parameter beyond what the schema already provides (type and required status). The agent gets no additional context to correctly populate the 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 clearly states the tool's action ('Verify') and resource ('tamper-evident event hash chain for a meter'). It distinguishes itself from sibling tools like list_events or usage_summary which serve different purposes.

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. It does not mention prerequisites, context, or exclusions, leaving the agent to infer usage solely from the tool name.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.