Skip to main content
Glama

Account summary

get_summary
Read-onlyIdempotent

Retrieve balance and money in/out for a Nimiq address over a specified time window, with staking and rewards reported separately.

Instructions

Balance and money in/out for a Nimiq address over a window. Read-only: never signs, never sends. Defaults to the full history the public index returns (up to 1000 transactions, newest first). Balance is the live account balance now, not the balance at the end of the window; any staked NIM is reported separately because it lives in the staking contract. Money out includes transfers into the staking contract and out of it — the same treatment as the app’s statement; validator rewards arrive through a separate channel and are reported as their own line (rewardsReceivedNim).

Input Schema

NameRequiredDescriptionDefault
sinceNoStart of the window, YYYY-MM-DD or ISO 8601 (UTC). Default: no start.
untilNoEnd of the window, YYYY-MM-DD or ISO 8601 (UTC). Default: now.
addressNoNimiq address — "NQ43 Y1RH …", the flat form, or 40 hex characters. Optional; defaults to the server’s configured address.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, yet the description still adds substantial context: it explains the 1000-transaction cap and newest-first ordering, that the reported balance is live rather than window-end, that staked NIM is reported separately because it sits in the staking contract, and that validator rewards arrive as their own rewardsReceivedNim line. These are exactly the semantics an agent cannot infer from annotations or schema.

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 no sentence is filler, but the single dense paragraph packs several distinct facts (ordering, live balance, staking treatment, reward channel) into one block that would read better split. Slightly long for a three-optional-parameter read tool.

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?

There is no output schema, so the description must carry return semantics — and it does, naming the balance, money-in/out, separate staked NIM, and the rewardsReceivedNim line, plus the transaction cap. An agent knows what it will get back and how the numbers are defined.

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 since/until/address are already fully documented and the baseline is 3. The description adds only that the default window is the full history the index returns (capped at 1000, newest first), which clarifies defaults rather than parameter syntax or address-format edge cases 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?

Opens with a specific noun-and-resource statement ("Balance and money in/out for a Nimiq address over a window"), which immediately separates it from payment-request, invoice and transaction-list siblings. It gestures at get_statement ("the same treatment as the app's statement") but never states when to call this instead of that sibling, so the differentiation is implied rather than stated.

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 description of what the tool returns and its default full-history behaviour, but there is no explicit "use this when… / use get_statement or get_staking when…" routing. Given the sibling set contains get_statement and get_staking, which clearly overlap, an explicit boundary would have real value.

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