Skip to main content
Glama

Project staking yield

project_yield
Read-onlyIdempotent

Estimate yearly NIM staking rewards and balances from an amount, explicit rate, or pool yield, including cumulative rewards and read-only projection assumptions.

Instructions

Projects what staking an amount of NIM might earn, year by year. With an explicit rate it is a pure offline calculation. Read-only, never signs and never sends. Rate resolution, in order: an explicit annualRatePercent, then the named pool's current net yield, then the median of the producing pools. Compounding follows the pool's payout type (direct pools pay out, the rest restake) unless an explicit compound choice is given. Returns per-year rewards, cumulative rewards and balance, plus its assumptions: emission falls along the protocol supply curve, the network's total stake is held at today's level, and it is a projection, not a promise.

Input Schema

NameRequiredDescriptionDefault
yearsNoHorizon in years, 1 to 10. Default 1.
compoundNoRestake rewards as they arrive (true) or pay them out (false). Default: the pool's payout type, else true.
amountNimYesAmount to stake, in NIM, as a decimal string, e.g. "1000". At most 5 decimals.
validatorNoA pool: its NQ address, exact name, or a unique part of the name (list_validators has them).
annualRatePercentNoExplicit annual rate in percent, more than 0 and at most 100. Wins over any pool's or the typical rate, and makes the call work offline.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and destructiveHint=false, yet the description still adds real value: it states the call never signs or sends, discloses compounding behavior driven by pool payout type, and lists the projection assumptions (emission decay, static total stake, projection-not-promise). It does not cover failure modes like an ambiguous or unmatched pool name, which keeps it below a 5.

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?

Front-loaded with the core purpose, then resolution order, compounding, and returns in a logical sequence. Dense but every sentence carries information; only the 'never signs and never sends' clause mildly overlaps the annotations.

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?

No output schema exists, and the description compensates by naming the return contents (per-year rewards, cumulative rewards and balance, plus assumptions). Combined with the disclosed rate/compounding rules, an agent has everything needed to call it correctly.

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?

Schema coverage is 100% so the baseline is 3, but the description adds semantics the schema cannot: the precedence ordering governing annualRatePercent vs validator, and how compound defaults derive from the pool's payout type. That goes meaningfully beyond the per-field descriptions.

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 ('Projects what staking an amount of NIM might earn, year by year') and is clearly distinguishable from siblings like get_staking (current state) and draft_stake (creates a transaction). An agent can tell this is a forward-looking simulation tool without opening the schema.

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?

Explains the rate-resolution order (explicit annualRatePercent > named pool's net yield > median of producing pools) and that the explicit rate makes the call offline, which effectively tells the agent when to supply which parameter. It stops short of explicitly naming alternatives such as get_staking for a live rate lookup, so it is clear but not exhaustively routed.

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