Skip to main content
Glama

Get balance

jami_get_balance
Read-onlyIdempotent

Check an organization's withdrawable JamiDev earnings balance before payout, returning amount, currency, and whether withdrawal is eligible.

Instructions

Get the organization's withdrawable JamiDev earnings — the ceiling on what jami_create_withdrawal can pay out.

Returns: { balance_minor, balance, eligible, currency }. eligible is false (and balance 0) when the org can't withdraw yet: it's a sandbox org, Developer Mode is off, or KYC isn't approved. The money itself sits in the owner's unified Jami wallet, so a withdrawal can still fail with 402 if that wallet was spent elsewhere.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
response_formatNo'markdown' (default) for a readable summary, 'json' for the full structured payloadmarkdown

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
balanceYes
currencyYes
eligibleYes
balance_minorYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A4.2/5.0
Behavior4/5

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

Annotations only cover the read-only/idempotent safety profile, so the description usefully adds behavior: what 'eligible=false' means, why balance can be 0, and that a withdrawal can still fail with 402 because funds live in the owner's unified wallet. That last point is non-obvious operational context not derivable from the schema. It stops short of discussing caching, rate limits, or staleness of the balance.

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 tightly-packed sentences: purpose first, return shape second, failure semantics third. No repetition, no filler, and nothing is buried.

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 an output schema and read-only annotations already present, the description only needs to supply the non-structured context, and it does: eligibility gating and the 402 wallet-spend edge case. Slightly thin on the relationship to the other withdrawal siblings (quote/get/list), but complete enough to call 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?

Only one parameter (response_format) with 100% schema description coverage including its enum values, so the schema fully documents it. The description adds nothing about parameter semantics, which is acceptable at this coverage level but earns only the baseline.

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?

Specific verb and resource ('Get the organization's withdrawable JamiDev earnings') with an explicit framing as a ceiling relative to the payout sibling jami_create_withdrawal. An agent can distinguish this read tool from the withdrawal/quote siblings without opening any 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?

It ties the tool to jami_create_withdrawal ('the ceiling on what ... can pay out') and explains the conditions under which the tool is useless (sandbox org, Developer Mode off, KYC not approved). Clear context for use, but it never says explicitly when to prefer it over jami_quote_withdrawal or state a precondition/pre-check step.

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