Skip to main content
Glama

EVS Meter Tools

Server Details

Check NUS and SUTD hostel EVS electricity meters and get top-up links. Unofficial.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
nicholasohjj/nusaircon
GitHub Stars
2
ChatGPT
–
Claude
–

TDQS

A3.9/5.0

Scored across 4 tools

Disambiguation4/5

Each tool maps to a distinct facet: balance read, usage read, top-up history read, and top-up link creation. The only mild overlap is between get_recent_topups and get_topup_link (both concern top-ups), but the descriptions clearly separate reading history from generating a payment link.

Naming Consistency5/5

All four names follow a strict get_<object> snake_case pattern (get_meter_balance, get_meter_usage, get_recent_topups, get_topup_link). No mixing of conventions or verb styles.

Tool Count4/5

Four tools is a small but coherent surface for a meter balance/usage/top-up domain, with each tool earning its place. It sits at the lean end, though nothing essential is obviously duplicated or missing for the stated scope.

Completeness4/5

The surface covers the full core lifecycle: read balance, read usage, read top-up history, and initiate a top-up, with verification guidance in the descriptions. Minor gaps exist (no way to list or validate meter IDs up front, no explicit payment status check beyond inferring from history).

Available Tools

4 tools
get_meter_balanceGet meter balanceA
Read-onlyIdempotent
Inspect

Get the current prepaid credit balance of a meter, in SGD.

NameRequiredDescriptionDefault
systemYesThe institution the meter belongs to
meter_idYesThe 8-digit EVS meter ID

Output Schema

NameRequiredDescription
systemYesThe institution the meter belongs to
meterIdYes
checkedAtYesWhen this was checked, as an ISO 8601 time
balanceSgdYes

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint and openWorldHint, so safety and repeatability are covered structurally. The description adds that the value is 'current' (i.e. a live figure) and denominated in SGD, which is useful context beyond the annotations. It does not disclose freshness/latency or what happens when a meter has no prepaid account.

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?

A single short sentence with the key qualifiers ('current', 'prepaid', 'SGD') front-loaded and no wasted wording. It is arguably terse to the point of omitting routing guidance.

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

Completeness4/5

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

With only two fully documented required parameters, an output schema covering return values, and annotations carrying the safety profile, the description is nearly complete. The one real gap is disambiguation from the three sibling meter/top-up 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 description coverage is 100%, with both meter_id (8-digit pattern) and system (enum of institutions) fully documented in the schema. The description adds no meaning beyond that, so the 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?

States a specific verb ('Get'), a specific resource ('current prepaid credit balance of a meter') and adds the currency unit (SGD). An agent knows exactly what is retrieved, but the description does not distinguish this from siblings such as get_meter_usage or get_recent_topups.

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?

Usage is implied by the name and by 'prepaid credit balance', so an agent can infer this is the balance-check call rather than a consumption or top-up call. However there is no explicit when-to-use guidance and no mention of the sibling tools or when to prefer them.

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

get_meter_usageGet meter usageA
Read-onlyIdempotent
Inspect

Get up to 7 days of usage for an NUS meter, with spending analysis, month-to-date spending, and how long the balance may last. Amounts are in SGD. Dates are as EVS reports them, with no time zone, and recent days may be missing. Not available for SUTD meters.

NameRequiredDescriptionDefault
meter_idYesThe 8-digit EVS meter ID

Output Schema

NameRequiredDescription
usageYes
systemYesThe institution the meter belongs to
meterIdYes
checkedAtYesWhen this was checked, as an ISO 8601 time
balanceSgdYes

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, openWorld), yet the description still adds substantive behavior: a 7-day cap, SGD denomination, EVS-supplied dates with no time zone, possible missing recent days, and a meter-type restriction. Nothing contradicts the annotations; the only gap is no mention of pagination or error behavior for invalid meter IDs.

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?

Purpose is front-loaded in the first clause, and each following sentence delivers distinct, non-redundant information: currency, date semantics with the missing-days caveat, then the meter-type exclusion. No filler or restatement of the name.

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 one-parameter read tool with an output schema, the definition covers scope, units, temporal semantics, data-quality caveats, and eligibility. It is nearly complete; only error/failure behavior for an unknown or unsupported meter is left unstated.

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 there is a single pattern-constrained parameter, so the schema carries the documentation load; baseline 3 applies. The description adds only a mild framing constraint (the meter is an NUS meter, not any 8-digit EVS ID) without extending the ID format or behavior.

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?

Names a specific verb and resource ('Get up to 7 days of usage for an NUS meter') and enumerates the return contents: spending analysis, month-to-date spending, balance longevity. It implicitly separates itself from get_meter_balance/get_recent_topups via the usage-vs-balance distinction, but never names a sibling explicitly.

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?

Provides one hard exclusion, 'Not available for SUTD meters', and warns that recent days may be missing. It gives no positive routing guidance telling the agent when to reach for this tool versus get_meter_balance or get_recent_topups, so selection still requires inference.

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

get_recent_topupsGet recent top-upsA
Read-onlyIdempotent
Inspect

Get up to 10 recent top-ups for a meter. To confirm a payment, look for a top-up with the same amount dated after the createdAt of its link, and with no status showing it failed. Earlier top-ups can have the same amount, so always check the date. Dates have no time zone and appear to be Singapore time (UTC+8), while createdAt is ISO 8601. If nothing matches, the payment may not be recorded yet or may have failed: check again later, and have the user check their card statement before paying again.

NameRequiredDescriptionDefault
systemYesThe institution the meter belongs to
meter_idYesThe 8-digit EVS meter ID

Output Schema

NameRequiredDescription
systemYesThe institution the meter belongs to
topupsYes
meterIdYes
checkedAtYesWhen this was checked, as an ISO 8601 time
balanceSgdYes

TDQS

A4.1/5.0
Behavior5/5

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

Annotations only cover read-only/idempotent/open-world, but the description adds substantial non-obvious behavior: a hard 10-result cap, the fact that older top-ups can share the same amount, and — most importantly — the timezone asymmetry where result dates are unlabeled Singapore time (UTC+8) while createdAt is ISO 8601. It also discloses eventual-consistency semantics: no match may mean 'not recorded yet' or 'failed', so the agent should retry later rather than double-pay.

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?

Purpose is front-loaded in the first clause, and the following sentences are operational guidance rather than filler. The date-matching rule is stated twice in spirit ('check the date' after explaining older top-ups can share an amount), a mild redundancy, but overall it is dense and task-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 two-parameter read tool with an output schema and read-only annotations, the description supplies everything needed: result cap, matching heuristic, date-format/timezone caveat, and fallback behavior on an empty result. Return-value shape is left to the output schema, which is appropriate.

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 both parameters (meter_id with an 8-digit pattern, system with a two-value enum) are already documented. The description adds no parameter-level detail such as where to obtain meter_id or how 'system' affects results, so it is at the baseline.

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?

States a specific verb and resource with explicit scope: 'Get up to 10 recent top-ups for a meter.' The bounded result size is conveyed up front. It does not name the sibling tools (get_meter_balance, get_meter_usage, get_topup_link) to differentiate, though the 'top-up list' resource is naturally distinct from balance/usage/link-creation.

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?

"To confirm a payment..." gives a concrete situation for calling the tool and implicitly positions it downstream of a link creation ('its link'). No explicit when-not or named alternative is given, and it doesn't state prerequisites (e.g. needing a meter_id from a prior lookup).

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. 4 tool updates
    • First observedget_meter_balance
    • First observedget_meter_usage
    • First observedget_recent_topups
    • First observedget_topup_link

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables querying SCAU dormitory electricity usage, balance, lifetime consumption, and cost calculations through read-only MCP tools.
    4
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Monitors electricity outage schedules in Ukraine's Dnipropetrovsk region, enabling users to check outages, receive notifications, and calculate optimal charging time for MacBooks.
    1
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables interaction with Fudan University campus and forum (FDU Hole) APIs, providing tools for timetable, grades, GPA, electricity, ecard, crowdedness, notices, forum search, and more, with proper handling of 2FA and network restrictions.
    GPL 3.0
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.