Skip to main content
Glama
Savvly

savvly-mcp

by Savvly

Project Retirement Trajectory With Savvly

project_retirement_with_savvly
Read-onlyIdempotent

Simulate retirement savings with and without a Savvly allocation to see projected paychecks, gap score, and potential higher monthly income. Compare outcomes across your planning horizon.

Instructions

Full retirement simulation showing the projected savings trajectory WITH and WITHOUT a Savvly allocation across the planning horizon (current_age → life_expectancy). Requires current_age ≤ retirement_age ≤ life_expectancy. Returns gap_score, possible_higher_monthly_paycheck, a server-provided headline message, and a per-year age_dependent_values[] timeline. Disclaimers + per-field hints under metadata. DISCLOSURE REQUIRED: display disclosure.text verbatim and link disclosure.url to the user alongside any figures from this response. Required by SEC Marketing Rule and FINRA Rule 2210 — do not paraphrase or omit. VISUALIZATION: this tool emits an interactive chart widget (MCP Apps — see _meta.ui) that the HOST renders inline and editable; other clients render only your text and show no chart. That widget is the canonical chart for these numbers: do NOT draw, generate, or re-render a duplicate of it. You MAY still create your OWN, DIFFERENT visualization (e.g. a table or an alternate breakdown) and place it wherever you judge best — only the MCP App widget's position is constrained. Do NOT claim or imply a chart is visible (avoid 'the chart above shows…'); you cannot tell whether the host rendered the widget. Summarize the key figures in prose and show the disclosure text and link, and reference the widget only conditionally (e.g. 'if your client shows the interactive chart, its fields are editable to re-run the projection'). ORDER: BEFORE you call this tool, ALWAYS write at least one short lead-in paragraph (1-3 sentences) framing what the projection will show — do NOT invent specific figures you do not have yet. On hosts that render the widget inline at the tool call, this keeps your text ahead of the chart so the widget is never the first thing shown; THEN call the tool (this lead-in is framing, NOT asking the user for inputs — still call it in the same turn without waiting) and give the grounded figures + disclosure after it returns. This lead-in rule applies to the MCP App widget only; any visualization you create yourself may appear wherever you judge best. INPUTS: every parameter is OPTIONAL and defaults to a sensible value. Call this tool IMMEDIATELY — pass only the values the user explicitly stated and omit the rest. Do NOT ask the user for starting values, assumptions, or missing parameters before calling; the rendered widget has editable fields so they adjust age, amounts, and other assumptions inline after it appears.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
current_ageNoCurrent age (default 40)
inflation_rateNoExpected annual inflation rate % (default 3)
retirement_ageNoPlanned retirement age (default 68)
life_expectancyNoPlanning horizon (default 100)
monthly_paycheckNoDesired monthly retirement paycheck in USD (default 4500)
monthly_contributionNoMonthly retirement contribution in USD (default 1000)
percentage_in_savvlyNoPercentage of the retirement portfolio allocated to Savvly (default 5)
pre_retirement_returnNoExpected pre-retirement annual return % (default 6)
annual_income_increaseNoAnnual contribution % increase (default 2)
post_retirement_returnNoExpected post-retirement annual return % (default 5)
other_retirement_incomeNoOther monthly retirement income in USD (default 1600)
current_retirement_savingsNoCurrent total retirement savings in USD (default 60000)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
inputsYes
resultYes
summaryYesConvenience summary. The narrative carries the canonical full-disclosures URL inline; display it verbatim alongside any figures from this response.
metadataYes
disclosureYesDISCLOSURE REQUIRED: display `disclosure.text` and link `disclosure.url` to the user whenever you present any number from this response. Required by SEC Marketing Rule and FINRA Rule 2210.
visualizationNoRecommended chart for this projection — a year-by-year area chart of `result.age_dependent_values` (savings with vs. without Savvly). Render it when the surface can display a graph. The richer `metadata.display_hints` block carries the same chart plus layout/tooltip detail.
Behavior5/5

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

This description adds extensive behavioral context beyond the readOnly/idempotent annotations: the age-ordering requirement, disclosure obligations under SEC/FINRA, the interactive chart widget emission and rendering constraints, the prohibition on duplicate visualizations, and the lead-in ordering rule. It does not contradict any annotations.

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?

The description is long, but it is well-structured into clear sections (purpose, returns, disclosure, visualization, order, inputs) and every sentence carries necessary operational or compliance guidance. Slightly verbose, but the complexity of the tool justifies the length.

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?

The description is complete for a tool with this complexity: it covers required disclosure text, URL linking, chart rendering behavior, ordering constraints, and parameter handling. The presence of an output schema means the return fields do not need detailed enumeration, but the description still highlights key outputs like gap_score and age_dependent_values[].

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 description coverage is 100%, so the baseline is 3. The description adds meaningful parameter-policy context: 'every parameter is OPTIONAL and defaults to a sensible value' and 'pass only the values the user explicitly stated and omit the rest.' This clarifies invocation semantics beyond the raw schema.

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 states a specific verb and resource: 'Full retirement simulation showing the projected savings trajectory WITH and WITHOUT a Savvly allocation across the planning horizon.' This clearly distinguishes it from sibling projection tools like project_savvly_lumpsum or project_savvly_monthly by emphasizing the comparative full-trajectory scope.

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 gives explicit operational guidance: 'Call this tool IMMEDIATELY — pass only the values the user explicitly stated and omit the rest' and 'Do NOT ask the user for starting values... before calling.' It also explains the lead-in paragraph ordering. It does not explicitly name sibling alternatives, but the context is clear enough for an agent to know when to invoke.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Savvly/savvly-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server