Skip to main content
Glama
dc28vivek

goodwill-mcp

by dc28vivek

Find stale balances

stale_balances
Read-onlyIdempotent

Find overdue accounts by listing balances open longer than a set number of days, oldest first. Optionally filter by group.

Instructions

List balances that have been open longer than a number of days, oldest first. Use this to find who is late. Optionally limit to one group.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
group_idNo
older_than_daysNoThreshold in days. Default 30.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
staleYes
older_than_daysYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare the tool read-only, idempotent, and non-destructive. The description adds useful behavioral context beyond those annotations: the exact inclusion criterion (open longer than a threshold) and the ordering (oldest first). There is no contradiction with the annotations.

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?

Two compact sentences carry the resource, criteria, sort order, use case, and optional filter. Every clause earns its place, and the core behavior is front-loaded.

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?

For a low-complexity tool with two optional parameters, rich read-only annotations, and an output schema, the description provides everything an agent needs: what is listed, when to use it, how results are ordered, and how to narrow scope. Nothing essential is missing.

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 50%, so the description partially compensates: it clarifies that older_than_days is the day threshold and that group_id optionally limits results to one group. This adds meaning for group_id, which the schema does not describe, while the schema already documents older_than_days with a default.

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?

The description uses a specific verb and resource: 'List balances that have been open longer than a number of days, oldest first.' This clearly distinguishes stale_balances from sibling tools like overall_balances by defining exactly which subset of balances is returned and the sort order.

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?

The description explicitly states the intended use case: 'Use this to find who is late.' It also notes the optional group filter. It does not explicitly name alternatives or say when not to use the tool, but the use case is clear enough for an agent to choose it appropriately.

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