com. savvly/ savvly
by savvly.com · remote · local (mcpb, npm, nuget, oci, pypi) · no sign-in to list tools · v1.0.98 · published by com.savvly
Savvly MCP: query fund data, model projections, and compare against alternative retirement products.
8 tools: 4 change things and 4 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things4Claude Code: ask: see these tools
- Only reads4Claude Code: allow: see these tools
3 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http savvly https://api.savvly.com/mcpFindings
Matches of fixed checks, with the text they matched.
The description is 3,765 characters long, over the 2,000 this check looks for.
What this check looks forMatched text
description ends: "...ields so they adjust age, amounts, and other assumptions inline after it appears."
The description is 3,986 characters long, over the 2,000 this check looks for.
What this check looks forMatched text
description ends: "...ields so they adjust age, amounts, and other assumptions inline after it appears."
The description is 2,485 characters long, over the 2,000 this check looks for.
What this check looks forMatched text
description ends: "...ields so they adjust age, amounts, and other assumptions inline after it appears."
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
8 tools
Changes things 4Claude Code: ask
check_savvly_eligibilityCheck if a person is eligible to invest in the Savvly Longevity Benefit.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Check if a person is eligible to invest in the Savvly Longevity Benefit. Eligibility is based on age (no minimum; maximum enrollment age 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.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- destructiveHint: false
- openWorldHint: false
- title: Check Savvly Eligibility
project_retirement_with_savvlyFull retirement simulation showing the projected savings trajectory WITH and WITHOUT a Savvly allocation across the planning horizon (current_age → life_expectancy).1 finding
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Info
The description is 2,485 characters long, over the 2,000 this check looks for.
What this check looks forMatched text
description ends: "...ields so they adjust age, amounts, and other assumptions inline after it appears."
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- destructiveHint: false
- openWorldHint: false
- title: Project Retirement Trajectory With Savvly
project_savvly_lumpsumRetirement projection for a lump-sum investment in the Savvly Longevity Benefit.1 finding
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Info
The description is 3,765 characters long, over the 2,000 this check looks for.
What this check looks forMatched text
description ends: "...ields so they adjust age, amounts, and other assumptions inline after it appears."
Description, as the server wrote it 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, a `_central` estimate and the `_lower`/`_upper` range around it. Use `_central` as the single estimate and `_lower`/`_upper` to show the range. 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 as the central estimate of Investor 1's Savvly payout. The `payout_market_alone_*` and `total_market_alone_*` figures are therefore what Investor 2 can actually withdraw to match Savvly's central payouts before running out — they fall to 0 once the market alone portfolio is depleted. It is one series, so their `_lower` and `_upper` fields are equal. 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: `_central` is the single estimate, and `_lower` can be negative at the early milestones, where market alone still matches the central payout. 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.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- destructiveHint: false
- openWorldHint: false
- title: Project Savvly Lump-Sum Investment
project_savvly_monthlyRetirement projection for monthly contributions to the Savvly Longevity Benefit over a number of years.1 finding
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Info
The description is 3,986 characters long, over the 2,000 this check looks for.
What this check looks forMatched text
description ends: "...ields so they adjust age, amounts, and other assumptions inline after it appears."
Description, as the server wrote it 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, a `_central` estimate and the `_lower`/`_upper` range around it. Use `_central` as the single estimate and `_lower`/`_upper` to show the range. Suitable for retirement savings planning, annuity alternative comparison, and longevity benefit illustration. Supports an optional annual contribution increase and an optional early-withdrawal age. Contributions must finish by age 80: an omitted `contribution_years` auto-fits this, and an explicit one must satisfy `current_age + contribution_years` ≤ 80. 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 as the central estimate of Investor 1's Savvly payout. The `payout_market_alone_*` and `total_market_alone_*` figures are therefore what Investor 2 can actually withdraw to match Savvly's central payouts before running out — they fall to 0 once the market alone portfolio is depleted. It is one series, so their `_lower` and `_upper` fields are equal. 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: `_central` is the single estimate, and `_lower` can be negative at the early milestones, where market alone still matches the central payout. 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.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- destructiveHint: false
- openWorldHint: false
- title: Project Savvly Monthly Contributions
Only reads 4Claude Code: allow
compare_savvly_vs_alternativeGet 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 …No findings
Why it is in this group
- The name "compare_savvly_vs_alternative" says "compare": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- destructiveHint: false
- openWorldHint: false
- title: Compare Savvly vs Alternative Product
get_savvly_faqGet answers to frequently asked questions about Savvly.No findings
Why it is in this group
- The name "get_savvly_faq" says "get": a word for reading.
Description, as the server wrote it Get answers to frequently asked questions about Savvly. Use when the user has specific questions about how Savvly works, expenses, withdrawals, or regulatory status. It is a convenience view of `search_savvly_content` scoped to the factual FAQ; 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.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- destructiveHint: false
- openWorldHint: false
- title: Get Savvly FAQ
get_savvly_product_infoGet complete product information about Savvly, an SEC-registered security offering longevity protection — use it whenever the user asks what Savvly is, how it works, its expenses, …No findings
Why it is in this group
- The name "get_savvly_product_info" says "get": a word for reading.
Description, as the server wrote it Get complete product information about Savvly, an SEC-registered security offering longevity protection — use it whenever the user asks what Savvly is, how it works, its expenses, 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.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- destructiveHint: false
- openWorldHint: false
- title: Get Savvly Product Info
search_savvly_contentSearch the Savvly Q&A Content Library — audience-tagged questions and answers compiled from Savvly's marketing collateral plus the factual FAQ, organized by stakeholder (employee, …No findings
Why it is in this group
- The name "search_savvly_content" says "search": a word for reading.
Description, as the server wrote it Search the Savvly Q&A Content Library — audience-tagged questions and answers compiled from Savvly's marketing collateral plus the factual FAQ, organized by stakeholder (employee, advisor, broker, employer, universal, general) and section (kebab-case slugs, 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.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- destructiveHint: false
- openWorldHint: false
- title: Search Savvly Q&A Content Library
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.98. Values in angle brackets are yours to fill in.
claude mcp add --transport http savvly https://api.savvly.com/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__savvly__get_savvly_product_info",
"mcp__savvly__compare_savvly_vs_alternative",
"mcp__savvly__get_savvly_faq",
"mcp__savvly__search_savvly_content"
],
"ask": [
"mcp__savvly__project_savvly_lumpsum",
"mcp__savvly__project_savvly_monthly",
"mcp__savvly__project_retirement_with_savvly",
"mcp__savvly__check_savvly_eligibility"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as savvly. Review it before you use it.