EZ Annuity
Server Details
Price settlement or annuity payments, judge a buyout offer, look up any US state's transfer rules.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 4 tools
The four tools target mostly distinct purposes: benchmark rates, state list, detailed state rules, and payment-stream valuation. However, list_states and state_transfer_rules overlap on state-level disclosure and advice fields, which could cause occasional misselection.
All names use snake_case, but the convention is mixed: list_states and value_payment_stream are verb_noun, while discount_rate_index and state_transfer_rules are noun phrases. This is readable but not a consistent verb_noun pattern.
Four tools are well-scoped for a focused structured-settlement/annuity reference and valuation server. Each tool covers a distinct part of the domain without obvious redundancy.
The surface covers benchmark rates, state rules, state comparison, and valuation, which are the core needs. Minor gaps remain, such as tax treatment or annuity product-specific lookups, but agents can work around these for the apparent purpose.
Available Tools
4 toolsdiscount_rate_indexDiscount Rate Index (current benchmark rates)ARead-onlyInspect
The public benchmark rates that govern structured settlement and annuity sales this month: the IRS applicable federal rates every disclosure must use, the prime rate, the statutory rate caps (North Carolina, Michigan, Nebraska) and the typical range of buyer discount rates, each with its primary source and date.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds genuinely useful context beyond that: the data is current-month scoped and each value carries its primary source and date, which tells the agent about freshness and verifiability.
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?
It is a single dense sentence leading with the resource definition and then enumerating contents via a colon-separated list. Every clause contributes specific content; the only mild cost is the run-on length, but nothing is filler.
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 and no parameters, the description must carry the burden of explaining the return payload, and it enumerates the categories of rates returned plus their source/date metadata. That is close to complete for a zero-arg reference tool; only exact field shapes remain unspecified, which is minor.
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?
The tool takes zero parameters, so per the rubric the baseline is 4. There are no inputs whose semantics need explaining, and the description appropriately focuses on what the tool returns rather than inventing parameter detail.
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 description names the specific resource — the public benchmark rates governing structured settlement and annuity sales — and enumerates its contents (IRS AFRs, prime rate, statutory caps, buyer discount ranges). It is clearly a data-retrieval tool and is distinguishable from siblings like value_payment_stream or state_transfer_rules, though no explicit verb frames the action.
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?
Usage is implied by the content: the tool surfaces current benchmark rates, so an agent facing a disclosure or rate-calculation task can infer it applies. However, it names no alternatives, prerequisites, or when-not-to-use conditions relative to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_statesList all states with their basic ruleARead-onlyInspect
All 50 states plus DC with each one's disclosure waiting period, whether independent advice is required, and the statute citation. Use to compare states or to find the right slug for state_transfer_rules.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false. The description adds that the dataset is a complete, fixed enumeration ('All 50 states plus DC'), which usefully tells the agent there is no filtering, pagination, or partial-result concern.
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 dense sentences, zero filler, with the returned fields front-loaded before the routing hint. Every clause carries information.
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?
Despite having no output schema, the description lists the returned fields (waiting period, independent advice, citation), so an agent knows exactly what it gets. Nothing needed to call or interpret this tool is missing.
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?
The tool takes no parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The description appropriately spends its space on return contents instead.
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?
States a specific resource (all 50 states plus DC) and enumerates exactly what each entry contains: disclosure waiting period, independent advice requirement, statute citation. It also distinguishes itself from the state_transfer_rules sibling by positioning itself as the source of the slug that sibling needs.
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?
Gives two concrete use cases ('compare states', 'find the right slug for state_transfer_rules'), which is more than most tools offer and explicitly routes to a sibling. It stops short of stating when not to use it, but for a zero-parameter static list the guidance is strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
state_transfer_rulesState rules for selling settlement paymentsARead-onlyInspect
A US state's Structured Settlement Protection Act rules for selling settlement payments: disclosure waiting period, independent professional advice rule, cancellation right, which court approves, statute citation, notable quirks and primary sources. Verified against the statute text.
| Name | Required | Description | Default |
|---|---|---|---|
| state | Yes | State name or slug, for example "Texas" or "north-carolina" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish this as a safe read-only, closed-world lookup, so the description correctly spends its space elsewhere. It adds real behavioral context by enumerating the returned fields (a critical addition given there is no output schema) and by stating provenance: 'Verified against the statute text.' It stops short of noting coverage limits, such as what happens for states without an SSPA.
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?
One sentence, front-loaded with the resource and scope, with the facet list placed after the colon. Every clause earns its place by promising specific return content. Dense, but the density is functional rather than padded.
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?
For a single-parameter lookup with no output schema, the description compensates by spelling out the fields an agent will receive and asserting verification. The required 'state' argument is fully covered by the schema. The main remaining gap is that it doesn't say which states are covered or what an unknown state returns.
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 description coverage is 100% — the single 'state' parameter is documented with type and examples ('Texas' or 'north-carolina'). The description adds no syntax, slug-format, or validation detail beyond the schema, so the 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 description names a specific resource and scope: a single US state's Structured Settlement Protection Act rules for selling settlement payments, and enumerates the exact facets covered (waiting period, advice rule, cancellation right, approving court, citation). An agent can tell this is the state-level SSPA lookup without opening the schema. It does not explicitly differentiate itself from siblings like list_states or value_payment_stream, which keeps it out of 5 territory.
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?
There is no statement of when to use this tool versus alternatives. It never mentions that list_states is the way to discover valid state slugs, nor how this differs from value_payment_stream when a user asks about selling a settlement. Usage is only inferable from the noun phrase itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
value_payment_streamValue a payment stream or judge an offerARead-onlyInspect
Present value of a structured settlement, annuity or lottery payment stream at typical buyer discount rates (8% to 18%), and, if a lump-sum offer is given, the effective discount rate that offer implies, the cents on the dollar, and whether it sits in the typical range. Use when someone asks what their payments are worth, or whether an offer is fair.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Number of payments left (give this, or years and/or months) | |
| offer | No | Lump sum a buyer has offered for these payments, in US dollars (optional) | |
| years | No | Years of payments left (alternative to count) | |
| months | No | Extra months of payments left (used with years) | |
| payment | Yes | Amount of each payment in US dollars | |
| frequency | Yes | How often the payments arrive | |
| lifeContingent | No | true if the payments stop at the recipient's death | |
| startsInMonths | No | Months until the first payment, if the payments have not started yet (default 0) | |
| annualIncreasePct | No | Yearly step-up in the payment, in percent (for example 3 for 3% a year) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety profile is covered. The description adds genuinely useful context beyond that: the discount-rate band it applies (8%–18%), that 'typical range' is used as a judgment criterion, and that offering a lump sum changes the nature of the computation. It does not disclose mortality assumptions behind lifeContingent or any jurisdictional limits.
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 sentences, front-loaded with the core computation and trailing the use case. Slightly dense with the stacked output list, but every clause carries information and nothing is redundant filler.
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 work of describing returns (present value, effective discount rate, cents on the dollar, typical-range verdict), which is the critical gap for this tool. Remaining omissions are secondary: how lifeContingent is actuarially handled and whether results are state/jurisdiction dependent.
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 description coverage is 100% across 9 parameters, so the schema already carries the parameter meanings. The description adds only one semantic detail beyond the schema: that supplying 'offer' turns the tool into an implied-rate/'fairness' judgement rather than a plain valuation. Baseline 3 is appropriate.
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?
States a specific verb ('present value ... and effective discount rate') against a specific resource ('structured settlement, annuity or lottery payment stream'), and enumerates the concrete outputs an agent can expect. The sibling tools (discount_rate_index, list_states, state_transfer_rules) occupy clearly different domains, so no ambiguity arises.
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?
Explicitly states the triggering situations: 'when someone asks what their payments are worth, or whether an offer is fair.' That is clear usage context, but it names no alternatives or exclusion conditions (e.g., what to do for non-US or non-stream assets).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
- First observed
discount_rate_index - First observed
list_states - First observed
state_transfer_rules - First observed
value_payment_stream
Related MCP Connectors
Estimate US lottery taxes, compare cash and annuity, split pool prizes and calculate jackpot odds.
Retirement drawdown, 72(t) SEPP, RMD, Roth conversion, Social Security and state-tax calculators.
90+ pure finance calculators: loans, investing, bonds, options, tax. Stateless, stores nothing.
Optimal Social Security claiming, in minutes. Benefit-by-age math from a deterministic engine.
Related MCP Servers
- AlicenseAqualityAmaintenanceDeterministic US equity-compensation tax optimizer. Six tools cover ISO/AMT exercise scheduling, NSO sell-vs-hold, RSU vest-and-sell, single-stock concentration, protective put / zero-cost collar pricing, and Section 1202 QSBS qualification. Federal plus 50-state plus DC tax math.8256 npm5MIT
- AlicenseNot gradedqualityDmaintenanceProvides retirement planning computations for AI agents, including Monte Carlo simulations, tax burden modeling across all US states, Social Security claiming optimization, and cost-of-living comparisons.7 npmMIT
- AlicenseBqualityAmaintenance39 tax tools for US individual taxpayers — federal/state tax calculations, credits, deductions, retirement strategies, audit risk, and tax planning. All calculations run locally, no data leaves the machine. Supports TY2024 and TY2025 (One Big Beautiful Bill Act).44129 npm13MIT
- AlicenseNot gradedqualityCmaintenanceEnables recalculating interest, monetary correction, penalties and attorney fees on bank contracts, financing and judicial debts using official BACEN/IBGE indices (IPCA, INPC, IGP-M, SELIC, TR) fetched live. Also covers labor, alimony, FGTS, INSS, pension, partition and criminal sentencing calculations through 16 deterministic tools, with no login or API key required.1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.