Balance
get_balanceNeeds a key. The account balance, holds, and this key's spending limit.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | Optional API key (sia_...), if your connection has none and you got one from get_approval |
get_balanceNeeds a key. The account balance, holds, and this key's spending limit.
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | Optional API key (sia_...), if your connection has none and you got one from get_approval |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered structurally. The description adds useful context by enumerating the returned components (balance, holds, spending limit) and the auth prerequisite, but says nothing about failure behavior when no key is available.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loading the prerequisite before the payload description, with no filler. The terseness of 'Needs a key' costs a little clarity but not length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does the important work of naming the three returned components, which is genuinely helpful. However, for a read tool with an optional-auth path it omits what happens if no key resolves and gives no sense of response shape or units.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter already documents the sia_... format and the get_approval fallback. The description's 'this key's spending limit' adds a small amount of meaning by tying the key to the scoped limit, but otherwise defers to the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The phrase 'The account balance, holds, and this key's spending limit' clearly states what the tool returns, and 'Balance' in the name/title matches. It does not differentiate from siblings like get_check or get_coverage, so it stays at 4 rather than 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Needs a key' is the only usage cue and is ambiguous against the schema, which marks api_key as optional with a fallback to the connection's own key. There is no guidance on when to call this versus get_check, get_coverage, or get_approval.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.