Skip to main content
Glama
Asmit Dev Tools

Asmit Dev Tools

by asmitsr

settle_balances

Simplify balances into the fewest payments so debts are settled, requiring amounts in integer poisha that sum to zero.

Instructions

Simplify any set of balances into the fewest payments.

balances maps each person to what they are owed (+) or owe (-); the values must sum to zero. Money is handled in integer poisha.

Input Schema

NameRequiredDescriptionDefault
balancesYes

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the full disclosure burden and does meaningful work: it defines the sign convention, states the invariant that values must sum to zero, and specifies integer poisha as the money unit. It stops short of saying what happens if the invariant is violated (error vs. silent normalization) or how ties in the minimal-payment set are resolved.

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 short clauses with the core action front-loaded, then the input contract and the unit convention in dependency order. Nothing is repeated and nothing is padding.

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?

Output schema exists, so return values need not be described, and the description covers the input semantics and the key invariant for a one-parameter computational tool. The remaining gap is failure behavior when the sum is non-zero, which matters for a tool that hard-constrains its input.

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 0% and the single parameter is a nested free-form object, so the description must compensate — and it does, explaining that keys are people and values are signed net positions in integer poisha. It leaves a minor ambiguity: the schema types values as 'number' while the text says integer poisha, so the agent is not told whether floats are rejected or rounded.

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 plus the optimization goal: 'Simplify any set of balances into the fewest payments.' An agent can tell this is a netting/settlement computation rather than the arithmetic in split_expense, though the description never names that 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?

Usage is implied by the input contract ('balances maps each person to what they are owed (+) or owe (-); the values must sum to zero'), which effectively tells the agent the precondition for calling it. There is no explicit when-to-use, when-not-to-use, or pointer to an alternative, so the routing signal is indirect.

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