Skip to main content
Glama

PJM vs MISO Energy Arbitrage Oracle

Server Details

PJM/MISO energy arbitrage. Intel TDX attested, on-chain every 60 min. MCP tools for AI agents.

Glama couldn't complete the latest health check. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.

If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.

Status
Unhealthy
Uptime
29.1% over 22 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
dornansgar390-hue/energy-oracle-group
GitHub Stars
0
Server Listing
UNDER-RECONSTRUCTION

TDQS

A4.2/5.0

Scored across 9 tools

Disambiguation4/5

Most tools have clearly distinct purposes: building transactions, checking subscriptions, retrieving info/status, getting telemetry, and evaluating profitability. Minor overlap exists between get_oracle_info and get_oracle_status (both return system-level data) and between check_subscription and get_subscription_cost (both relate to subscription state), but descriptions sufficiently differentiate them.

Naming Consistency4/5

Names predominantly follow a get_ prefix for informational tools (get_oracle_info, get_connection_info, etc.), with action-oriented verbs (build_, check_, is_) for non-query operations. The pattern is largely consistent, though the use of 'is_' instead of 'check_' for profitability is a slight deviation but still predictable.

Tool Count5/5

With 9 tools, the set is well-scoped for the oracle's subscription-based telemetry service. Each tool covers a distinct need (subscription management, system status, metadata, SDK access, and the core signal), and the count is appropriate for the domain without being overwhelming.

Completeness4/5

The tool surface covers the full subscription lifecycle: build calldata, check status, get cost, and purchase indirectly. It also provides system info/status, telemetry, and profitability checks. Minor gaps include no explicit renewal or cancellation tool, but build_subscription_tx can handle renewal, and check_subscription provides expiry, so agents can work around these.

Available Tools

9 tools
build_subscription_txBuild Subscription TransactionA
Read-onlyIdempotent
Inspect

Generate the cryptographic transaction calldata required to purchase a subscription on Arbitrum One. Output covers a two-step payload: ERC-20 RLC token approve followed by contract purchaseSubscription. This tool strictly builds calldata and does not submit transactions; the calling agent must sign and broadcast the payload externally.

ParametersJSON Schema
NameRequiredDescriptionDefault
tierYesSubscription tier: 0 = 1 day ($20), 1 = 3 days ($50), 2 = 7 days ($100)
agent_addressYesEVM address of the agent that will receive the subscription, e.g. 0x1234...
sponsor_addressNoOptional EVM address of a sponsor who pays for the agent's subscription

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, and the description adds the key behavioral note that the tool never submits transactions and the caller must broadcast. This aligns with annotations and provides extra context beyond the structured fields.

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 with zero redundancy; the purpose is front-loaded and the crucial constraint about not submitting is placed early. Every clause adds value.

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

Completeness5/5

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

Given the presence of an output schema, the description sufficiently covers the tool's behavior, payload structure, and external execution requirement. Nothing critical is missing for an agent to call it 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?

Schema description coverage is 100%, so all parameters are already well-documented. The description adds context about the two-step payload but does not elaborate on parameter specifics, which the schema already covers.

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 states a specific verb (generate), a specific resource (cryptographic transaction calldata for subscription purchase on Arbitrum One), and the exact scope (two-step approve + purchase). It clearly distinguishes from sibling tools that check status or cost.

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?

It explicitly states the tool only builds calldata and does not submit transactions, requiring external signing and broadcast. This provides clear usage boundaries, though it does not name specific alternative tools for submission.

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

check_subscriptionCheck SubscriptionA
Read-onlyIdempotent
Inspect

Check whether an EVM address has an active subscription. Returns expiry timestamp and human-readable info.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesThe agent's EVM address (0x...), e.g. 0x1234...

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds return-value context but no operational caveats such as staleness, network requirements, or auth prerequisites.

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 short sentences with no filler. The core purpose is front-loaded and the return information is stated economically.

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

Completeness5/5

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

For a simple read-only tool with one fully documented parameter, read-only annotations, and an output schema present, the description is sufficient for correct invocation. Missing usage routing is already accounted for in the usage_guidelines dimension.

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% and already explains that address is the agent's EVM address. The tool description adds no additional parameter-level meaning beyond the schema, so the baseline score 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 ('Check'), the resource ('whether an EVM address has an active subscription'), and the return payload ('expiry timestamp and human-readable info'). This distinguishes it from sibling tools like get_subscription_cost or build_subscription_tx.

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 gives no explicit when-to-use guidance and does not mention alternatives or exclusions. Sibling tools exist for related subscription tasks, but nothing routes the agent to this tool versus those alternatives.

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

get_connection_infoConnection InfoA
Read-onlyIdempotent
Inspect

Retrieve integration and transport configuration guides for connecting this oracle to AI clients (Claude Desktop, Cursor, MCP clients), including the complete list of accessible tools and capabilities.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds helpful context about the output content—configuration guides and the tool list—but does not disclose additional behavioral details such as external lookups or caching.

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?

A single, well-structured sentence that front-loads the verb and resource, then adds the key deliverable content. No filler or redundant phrasing exists; every word adds value.

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

Completeness5/5

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

For a zero-parameter, read-only tool with an output schema present, the description is sufficiently complete. The agent knows what the tool returns, what it is for, and that no arguments are required. Sibling differentiation is adequate given the explicit AI-client connection focus.

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 accordance with schema coverage of 100%, so the schema fully documents what the agent needs to know. The description appropriately focuses on the tool's purpose rather than parameters, and no further parameter elaboration is needed.

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 the specific verb 'Retrieve' and names a clear resource: integration and transport configuration guides for connecting the oracle to AI clientsasi as Claude Desktop, Cursor, and MCP clients. It also distinguishes itself from sibling tools by mentioning the complete tool list and capabilities rather than generic oracle info or status.

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 provides clear context about when to use the tool: when the agent needs connection guides for AI clients or the complete accessible tool list. It does not explicitly name alternatives or exclusions, but the stated purpose is specific enough to imply the correct usage scenario.

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

get_oracle_infoOracle General InfoA
Read-onlyIdempotent
Inspect

Retrieve comprehensive metadata for the PJM vs MISO Energy Arbitrage Oracle: smart contract address, Arbitrum One network, Intel TDX attestation status, and available subscription pricing tiers. Use as the primary initialization step for any agent workflow.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description reinforces this with 'Retrieve' and adds useful context about the metadata returned, but it does not disclose further behavior such as data freshness, response size, or any auth needs.

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?

A single, front-loaded sentence specifies the verb and resource before listing scoped contents, followed by a concise usage directive. There is no filler, tautology, or repetition of the title.

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

Completeness5/5

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

For a no-parameter, read-only tool with rich annotations and an output schema, the description fully covers what the agent needs to call it and when to call it. Return-value details are properly left to the output schema, and the initialization guidance supplies the key workflow context.

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%, so there is no parameter semantics burden for the description. Per baseline for 0-param tools, a score of 4 is appropriate; the description's listed return themes are informative but not parameter-related.

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?

States a specific verb ('Retrieve'), the exact resource ('PJM vs MISO Energy Arbitrage Oracle'), and enumerates the concrete metadata contents: contract address, Arbitrum One network, TDX attestation status, and pricing tiers. The phrase 'primary initialization step' also distinguishes this broad metadata tool from more targeted siblings like get_oracle_status and get_connection_info.

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?

Explicitly tells the agent to use this as the primary initialization step for any workflow, which is strong contextual guidance. It does not name sibling alternatives or state when to prefer get_oracle_status or get_connection_info instead.

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

get_oracle_statusOracle StatusA
Read-onlyIdempotent
Inspect

Check the real-time operational status of the oracle contract. Returns whether the system is ACTIVE or in MAINTENANCE, along with total active subscribers. Use this tool to verify system availability before requesting premium telemetry.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, non-destructive behavior. The description adds the real-time nature of the status and the specific output values (ACTIVE/MAINTENANCE and subscriber count), giving useful behavioral context beyond the structured annotations.

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 with no filler. It front-loads the core purpose, states the key return values, and then gives a clear use case. Every sentence adds value.

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

Completeness5/5

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

For a zero-parameter read-only status tool with rich annotations and an output schema, the description fully covers what an agent needs: what it does, what it returns, and when to use it. Nothing critical is missing.

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 zero parameters, so the description is not required to explain parameter semantics. The baseline of 4 applies, and the description correctly focuses on the tool's output and intended use.

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 ('check') and resource ('oracle contract'), and clearly states what is returned: ACTIVE or MAINTENANCE status plus total active subscribers. This distinguishes it from sibling tools like get_oracle_info or get_connection_info.

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 says when to use the tool: 'verify system availability before requesting premium telemetry.' However, it does not mention when not to use it or name alternative tools for other status-related queries.

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

get_sdk_templateGet SDK TemplateA
Read-onlyIdempotent
Inspect

Get the FULL Python SDK code (ai_agent_oracle_client.py). Auto-cycle: check subscription → purchase (approve + purchase, RLC) → read signal. Suitable for non-MCP agents running on web3.py.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the tool's safe read-only nature is covered. The description adds useful context by describing the SDK's auto-cycle and web3.py target, and it does not claim the tool itself performs a purchase. The word 'purchase' is slightly risky but is framed as code content, not a tool side effect.

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 with no filler. The main action and resource are front-loaded, and the additional context about auto-cycle and suitability is compact and relevant.

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

Completeness5/5

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

For a parameterless code-retrieval tool with an output schema and read-only annotations, the description provides the filename, the SDK's behavior, and the intended use case. Nothing essential is missing for an agent to decide whether to invoke it.

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 100% schema description coverage, so there is nothing for the description to add. The baseline of 4 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?

States a specific verb and resource: 'Get the FULL Python SDK code (ai_agent_oracle_client.py).' It is clearly distinct from siblings like get_oracle_info and check_subscription because it returns the SDK code itself, not oracle data or subscription state.

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?

Provides explicit suitability context: 'Suitable for non-MCP agents running on web3.py.' This tells an agent when the template is the right choice, though it does not name specific alternatives or exclusions.

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

get_subscription_costGet Subscription CostA
Read-onlyIdempotent
Inspect

Current subscription cost in RLC (dynamic, pegged to USD). Returns live cost from on-chain contract.

ParametersJSON Schema
NameRequiredDescriptionDefault
tierYesSubscription tier: 0 = 1 day ($20), 1 = 3 days ($50), 2 = 7 days ($100)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already indicate read-only, idempotent, non-destructive behavior. The description adds useful context about the cost being dynamic, pegged to USD, and fetched live from an on-chain contract, which goes beyond the structured hints.

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 concise sentences with no filler. It front-loads the core purpose and then supplies the key behavioral nuance about live on-chain sourcing.

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

Completeness5/5

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

For a single-parameter read-only tool with full schema coverage and an output schema, the description sufficiently explains what the tool does and what behavioral characteristics matter. No critical selection or invocation information is missing.

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 tier parameter is fully documented with exact numeric mappings to day ranges and USD prices. The description itself adds no parameter-level information, so it meets the baseline without enhancing it.

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 a specific verb and resource: returning the current subscription cost in RLC. It further distinguishes itself from siblings by emphasizing live on-chain data and USD pegging, which sets it apart from status or transaction-building 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?

The description provides no explicit guidance on when to use this tool versus alternatives like build_subscription_tx or check_subscription. The intended use is only implied by the name and description.

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

get_telemetryGet TelemetryA
Read-onlyIdempotent
Inspect

Retrieve the premium analytical energy signal computed inside the Intel TDX enclave. Returns the complete spatial arbitrage vector (direction: -1, 0, +1) and current price spread index between PJM and MISO. Executed as a static on-chain view call. Requires an active, unexpired paid RLC subscription for the provided address.

ParametersJSON Schema
NameRequiredDescriptionDefault
subscriber_addressYesEVM address that has an active RLC subscription, e.g. 0x1234...

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description adds meaningful context beyond those: it is a static on-chain view call and requires an unexpired paid subscription. No contradictions with annotations.

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?

Three sentences with no wasted words: it states the resource, the return payload, and the execution/auth requirements in order. The most important info is front-loaded.

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

Completeness5/5

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

For a single-parameter read-only tool with an output schema and rich annotations, the description covers everything needed: what it returns, how it executes, and the prerequisite subscription. Nothing essential is missing.

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 schema fully documents subscriber_address, so the baseline is 3. The description adds value by explicitly linking the address to the subscription requirement and confirming it is the address whose telemetry is returned.

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 names a specific operation (retrieve the premium analytical energy signal) and specifies the exact output (spatial arbitrage vector and PJM/MISO price spread index). It clearly differentiates from siblings like is_arbitrage_profitable by emphasizing telemetry retrieval rather than profitability computation.

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

Usage Guidelines4/5

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

The description gives clear context: this is a read-only telemetry fetch that returns a directional vector and spread, and it requires an active paid RLC subscription. It does not explicitly name alternative tools or when-not conditions, so it stops short of a 5.

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

is_arbitrage_profitableIs Arbitrage ProfitableA
Read-onlyIdempotent
Inspect

Evaluate the instantaneous financial viability of spatial electricity arbitrage between PJM West Hub and MISO Indiana Hub wholesale markets. Returns a boolean profitability indicator. Use as a zero-friction pre-flight check before deciding to purchase a full telemetry subscription.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive behavior. The description adds meaningful behavioral context beyond this: 'instantaneous' signals a point-in-time check, and 'zero-friction pre-flight check' implies a lightweight, quick call, plus it explicitly states a boolean return. This adds value without contradicting annotations.

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 with no filler. The first sentence fronts the core purpose, the second provides usage context. Every word earns its place.

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

Completeness5/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, an output schema exists, and annotations cover read-only/idempotent behavior, the description fully covers what the tool does and when to use it. An agent can correctly decide to invoke this tool without needing additional details.

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 schema coverage is trivially 100%. Per calibration, a no-parameter tool receives a baseline of 4; the description adds no parameter semantics because none are needed.

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 'Evaluate' with a precise resource: spatial electricity arbitrage between PJM West Hub and MISO Indiana Hub wholesale markets. It also clearly states the output is a boolean profitability indicator, which distinguishes it from sibling tools like get_telemetry and get_subscription_cost.

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?

It explicitly says 'Use as a zero-friction pre-flight check before deciding to purchase a full telemetry subscription,' which gives a clear context for when to invoke it. However, it does not name alternative tools or provide when-not-to-use guidance, so it stops short of a 5.

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. 9 tool updates
    • First observedbuild_subscription_tx
    • First observedcheck_subscription
    • First observedget_connection_info
    • First observedget_oracle_info
    • First observedget_oracle_status
    • First observedget_sdk_template
    • First observedget_subscription_cost
    • First observedget_telemetry
    • First observedis_arbitrage_profitable

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.