Savvly MCP: query fund data, model projections, and compare against alternative retirement products.
Query fund data, model retirement projections, and compare alternative investment products.
Captured live from the server via tools/list.
get_savvly_product_info
Get complete product information about Savvly, an SEC-registered investment fund offering longevity protection — use it whenever the user asks what Savvly is, how it works, its fees, eligibility, or payouts, or wants an overview. Pass `section` to focus the answer (default 'all'). It renders an interactive product overview card the user expects to see. These facts come from Savvly's own current records; the response includes primary sources (e.g. SEC filings) for reference.
Parameters (1)
sectionstring
Which part of the product profile to focus the text on; the full overview card always renders regardless.
compare_savvly_vs_alternative
Get a structured comparison between Savvly and another retirement product type — use it whenever the user compares Savvly to annuities, target-date funds, managed-payout funds, or any alternative, or asks how Savvly stacks up. It renders an interactive comparison widget the user expects to see. Pass 'all' for the full matrix, or a specific product type. These facts come from Savvly's own current records; the response includes primary sources (e.g. SEC filings) for reference.
Parameters (1)
alternativestringrequired
The product type to compare against Savvly, or 'all' for the full matrix
project_savvly_lumpsum
Retirement projection for a lump-sum investment in the Savvly Longevity Benefit. Returns payout amounts at each milestone age (80, 85, 90, 95) with Savvly vs market alone cumulative totals, per-age breakdowns, and server-provided `_lower`/`_upper` range bounds. Use `_upper` as the central illustrative estimate and `_lower` to communicate downside. Suitable for retirement income planning, annuity alternative analysis, and longevity benefit illustration. Response embeds SEC-style disclaimers and per-field interpretation hints under `metadata`. Payout methodology — Savvly vs market alone: the payout values are calculated by comparing two investors of the same age committing the same principal. Investor 1 invests in the market with the Savvly Longevity Benefit; Investor 2 invests in the market alone (no longevity overlay). To make the comparison apples-to-apples, at each milestone age (80, 85, 90, 95) Investor 2 withdraws from their market alone portfolio the same dollar amount Investor 1 receives as a payout from Savvly. The `payout_market_alone_*` and `total_market_alone_*` figures are therefore what Investor 2 can actually withdraw to match Savvly's payouts before running out — they fall to 0 once the market alone portfolio is depleted. The `savvly_upside_*` (and `total_savvly_upside_*`) fields quantify how much more total money Investor 1 receives in payouts from Savvly than Investor 2 is able to withdraw over time to match those payouts. 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.
Parameters (4)
current_ageinteger
Investor's current age (default 40)
funding_amountnumber
Lump sum investment in USD (default 10000)
average_returninteger
Expected average annual S&P 500 return % (default 8)
withdrawal_ageinteger
Early-withdrawal age (default 82) — drives `early_withdrawal_value` and `total_payout_at_withdrawal_age_*` in the response
project_savvly_monthly
Retirement projection for monthly contributions to the Savvly Longevity Benefit over a number of years. Returns payout amounts at milestone ages 80/85/90/95 with Savvly vs market alone cumulative totals, per-age breakdowns, and server-provided `_lower`/`_upper` range bounds. Use `_upper` as the central illustrative estimate and `_lower` to communicate downside. Suitable for retirement savings planning, annuity alternative comparison, and longevity benefit illustration. Supports an optional annual contribution increase and an optional early-withdrawal age. Disclaimers + per-field hints under `metadata`. Payout methodology — Savvly vs market alone: the payout values are calculated by comparing two investors of the same age committing the same principal. Investor 1 invests in the market with the Savvly Longevity Benefit; Investor 2 invests in the market alone (no longevity overlay). To make the comparison apples-to-apples, at each milestone age (80, 85, 90, 95) Investor 2 withdraws from their market alone portfolio the same dollar amount Investor 1 receives as a payout from Savvly. The `payout_market_alone_*` and `total_market_alone_*` figures are therefore what Investor 2 can actually withdraw to match Savvly's payouts before running out — they fall to 0 once the market alone portfolio is depleted. The `savvly_upside_*` (and `total_savvly_upside_*`) fields quantify how much more total money Investor 1 receives in payouts from Savvly than Investor 2 is able to withdraw over time to match those payouts. 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.
Parameters (6)
current_ageinteger
Investor's current age (default 40)
monthly_amountnumber
Monthly deposit in USD (default 100)
contribution_yearsinteger
Number of years contributing (default 27 = retirement age 67 − current age 40)
average_returninteger
Expected average annual S&P 500 return % (default 8)
installment_increase_percentagenumber
Optional annual % increase applied to monthly contributions
withdrawal_ageinteger
Early-withdrawal age (default 82) — drives `early_withdrawal_value` and `total_payout_at_withdrawal_age_*` in the response
project_retirement_with_savvly
Full retirement simulation showing the projected savings trajectory WITH and WITHOUT a Savvly allocation across the planning horizon (current_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.
Parameters (12)
current_ageinteger
Current age (default 40)
retirement_ageinteger
Planned retirement age (default 68)
life_expectancyinteger
Planning horizon (default 100)
monthly_contributionnumber
Monthly retirement contribution in USD (default 1000)
current_retirement_savingsnumber
Current total retirement savings in USD (default 60000)
monthly_paychecknumber
Desired monthly retirement paycheck in USD (default 4500)
other_retirement_incomenumber
Other monthly retirement income in USD (default 1600)
annual_income_increasenumber
Annual contribution % increase (default 2)
percentage_in_savvlynumber
Percentage of the retirement portfolio allocated to Savvly (default 5)
Check if a person is eligible to invest in the Savvly Longevity Benefit. Eligibility is based on age (25–75), US residency, and distribution channel (individual, employer-sponsored, advisor-placed). Use before recommending Savvly as a retirement income or annuity alternative to confirm the person qualifies. These facts come from Savvly's own current records; the response includes primary sources (e.g. SEC filings) for reference.
Parameters (3)
ageintegerrequired
Person's current age
us_residentboolean
Whether the person is a US resident
channelstring
Distribution channel
get_savvly_faq
Get answers to frequently asked questions about Savvly. Use when the user has specific questions about how Savvly works, fees, withdrawals, or regulatory status. For richer, audience-specific Q&As (employee / advisor / broker / employer), use `search_savvly_content` instead. These facts come from Savvly's own current records; the response includes primary sources (e.g. SEC filings) for reference.
Parameters (1)
topicstring
Filter FAQ by topic
search_savvly_content
Search the Savvly Q&A Content Library — 50 audience-tagged questions and answers compiled from Savvly's marketing collateral, organized by stakeholder (employee, advisor, broker, employer, universal) and subsection (e.g. 'Tax & Legacy', 'Retention & Talent Strategy', 'Implementation'). Use this when the user asks about Savvly's positioning, value props, audience-specific talking points, or Q&A-style messaging. Each entry carries the verbatim answer plus any disclaimer footnotes attached to it in the source. These facts come from Savvly's own current records; the response includes primary sources (e.g. SEC filings) for reference.
Parameters (4)
audiencestring
Restrict to one stakeholder audience. Omit to search across all audiences.
subsectionstring
Substring match against subsection labels (e.g. 'Tax', 'Retention', 'Eligibility'). Case-insensitive.
querystring
Free-text search over questions, answers, and footnotes (case-insensitive). Multi-word queries match entries containing ANY of the words, ranked by relevance.
limitinteger
Cap on matched entries returned. Default 20, max 50.
<!--
CANONICAL PUBLIC README for the Savvly MCP server.
Source of truth lives here in savvly-public-api (private); the release workflow
(.github/workflows/publish-mcp-server.yml) syncs this file — plus server.json and
LICENSE — to the PUBLIC Savvly/savvly-mcp repo on every production release. Do not
edit it directly in savvly-mcp; edit here.
-->
Savvly MCP server — com.savvly/savvly
Savvly offers longevity-linked, SEC-registered investment products — built on the Savvly 80+ fund — that invests pooled contributions in a low-cost S&P 500 ETF and makes milestone cash payouts at ages 80, 85, 90, and 95, turning a longer life into a financial reward rather than a risk.
Savvly MCP lets financial advisors, planning tools, and AI agents query fund data, model projections, and compare against alternative retirement products directly, in real time, in any conversation, and without any manual lookup.
Listed on the MCP Registry as
com.savvly/savvly and published to five package types plus a hosted remote — use
whichever fits your client.
Swap command/args for uvx savvly-mcp-server, dnx Savvly.McpServer, or
docker run -i --rm ghcr.io/savvly/savvly-mcp-server as you prefer. Hosts that support
remote MCP can point straight at https://api.savvly.com/mcp.
Tools
get_savvly_product_info — full product overview
compare_savvly_vs_alternative — Savvly vs annuities, target-date funds, etc.
check_savvly_eligibility — age / residency / channel eligibility
This MCP server is public and unauthenticated — it exposes Savvly product information, comparisons, eligibility, and illustrative projections, and requires no account or credentials. It collects no personal information and no end-user identifier (no client IP is captured; no user is identified).
The hosted endpoint (https://api.savvly.com/mcp) records anonymous usage analytics via MCPcat, a third-party processor, to improve the tools — which tools are called and their non-identifying numeric scenario inputs (e.g. age, contribution amount). Email, phone, SSN, and payment-card patterns are redacted from any text before it is sent. The local npx @savvly/mcp-server (stdio) sends no analytics.