Skip to main content
Glama
vishalhabib99

retirement-answer-check

contribution_room

Read-onlyIdempotent

Calculate how much more a person can contribute this year to a 401(k), SIMPLE IRA, traditional IRA, and Roth IRA using IRS-sourced limits. Use deterministic results, not outdated memory.

Instructions

Compute how much more a person can contribute this year to a 401(k)/403(b)/TSP or SIMPLE IRA, a traditional IRA and a Roth IRA, using IRS-sourced limits. Deterministic: call this instead of stating contribution limits from memory, which are often last year's.

Returns {"lines": [{"label", "amount", "why", "source"}], "warnings", "notes", "not_covered"}. Relay "not_covered" to the user rather than filling those gaps. Not tax or financial advice.

Args: age_at_year_end: The person's age on December 31 of year. Drives the 50+ and 60-63 catch-ups. compensation: Taxable compensation (wages, self-employment income) for the year. Caps the IRA limit. year: Tax year. Only 2026 is supported. plan_type: "401k" (also 403(b) and TSP), "simple", or "none". plan_deferrals_so_far: Employee deferrals to the workplace plan so far this year. traditional_ira_so_far: Traditional IRA contributions made for this year so far. roth_ira_so_far: Roth IRA contributions made for this year so far. magi: Modified AGI for Roth purposes. Without it, no Roth amount is returned. filing_status: "single", "head_of_household", "married_joint", "married_separate" or "qualifying_surviving_spouse". lived_with_spouse: For married_separate only: whether they lived with their spouse at any time in the year.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
magiNo
yearNo
plan_typeNonone
compensationYes
filing_statusNosingle
age_at_year_endYes
roth_ira_so_farNo
lived_with_spouseNo
plan_deferrals_so_farNo
traditional_ira_so_farNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.2.0

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already declare read-only, idempotent, non-destructive, closed-world, and the description adds real substance beyond them: it is deterministic, only tax year 2026 is supported, no Roth amount is returned without magi, and the response carries warnings/notes/not_covered that must be surfaced rather than backfilled. That is materially more than the safety hints provide.

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 purpose, then the determinism directive, then the return contract, then a parameter block. Every segment earns its place, though the Args list is long and a few entries (e.g. year, magi) restate in prose what could be tighter.

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?

With no output schema, the description supplies the return shape (lines with label/amount/why/source, plus warnings, notes, not_covered), the version constraint, the magi dependency, and all ten parameter meanings. Nothing an agent needs to call this correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must carry the full burden and it does: age_at_year_end drives 50+ and 60-63 catch-ups, compensation caps the IRA limit, plan_type enumerates its accepted values, year is constrained to 2026, and lived_with_spouse is scoped to married_separate. It supplies semantics the bare schema cannot.

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 concrete verb ('compute') and resource ('contribution room this year') and enumerates the account types covered (401(k)/403(b)/TSP, SIMPLE IRA, traditional IRA, Roth IRA). It also signals its authoritative basis ('IRS-sourced limits'), so an agent can tell it apart from the generic siblings check_answer and get_facts 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 Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit when-to-use directive: 'call this instead of stating contribution limits from memory, which are often last year's.' It also includes an explicit handling instruction for gaps ('Relay not_covered to the user rather than filling those gaps') and a scope exclusion ('Not tax or financial advice'), which is unusually complete routing guidance.

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

Deploy Server

Other Tools