Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

com.savvly/savvly

NUGET · SAVVLY.MCPSERVER · 6 COMPONENTS · SCANNED SEP 20

Savvly MCP: query fund data, model projections, and compare against alternative retirement products.

0 this week 77 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security100
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • No production dependencies, so there is no dependency health to assess. View diagnostics → Pass
Provenance & Transparency45
Schema Quality & AI Usability39
  • 0% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Fail
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 3718 tokens (~232/item across 16 items; 8 tools + 8 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management93
  • Stability observed for 28 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 8 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 9 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
  • Supports UI / widget rendering.Pass
Install

How do I install the com.savvly/savvly MCP server?

com.savvly/savvly runs locally as a NuGet package, launched with dnx Savvly.McpServer@1.0.93 --yes. Ready-made configuration for Claude, Cursor, VS Code, Codex and 3 more is on this page, copied from each client's own documentation.

nuget · Savvly.McpServer

# add to Claude Code
claude mcp add com-savvly-savvly -- dnx Savvly.McpServer@1.0.93 --yes
// .cursor/mcp.json
{
  "mcpServers": {
    "com-savvly-savvly": {
      "command": "dnx",
      "args": [
        "Savvly.McpServer@1.0.93",
        "--yes"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "com-savvly-savvly": {
      "command": "dnx",
      "args": [
        "Savvly.McpServer@1.0.93",
        "--yes"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add com-savvly-savvly -- dnx Savvly.McpServer@1.0.93 --yes
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-savvly-savvly": {
      "type": "local",
      "command": [
        "dnx",
        "Savvly.McpServer@1.0.93",
        "--yes"
      ],
      "enabled": true
    }
  }
}
# ~/.hermes/config.yaml
mcp_servers:
  com-savvly-savvly:
    command: "dnx"
    args: ["Savvly.McpServer@1.0.93", "--yes"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "com-savvly-savvly": {
      "Transport": "stdio",
      "Command": "dnx",
      "Arguments": [
        "Savvly.McpServer@1.0.93",
        "--yes"
      ]
    }
  }
}
// mcp.json
{
  "mcpServers": {
    "com-savvly-savvly": {
      "command": "dnx",
      "args": [
        "Savvly.McpServer@1.0.93",
        "--yes"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 20 Sept 26 −1
    • Stability: pass → 0.93 functional
  • 19 Sept 26 0
    • Stability: 0.97 → pass security
  • 18 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

  • 17 Sept 26 −1
    • Stability: pass → 0.93 functional
  • 16 Sept 26 0
    • Stability: 0.97 → pass security
  • 15 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

  • 13 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.

  • 11 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Analysed nuget/Savvly.McpServer@1.0.93

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem nuget
Reason Signature present, unreadable

Background: How many MCP packages publish verified provenance →

Dependencies 0 packages
Packages resolved 0
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 8 exposed · ~3,674 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
check_savvly_eligibility ~162

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.

NameTypeReqDescription
ageintegeryesPerson's current age
channelstringDistribution channel — one of 'individual', 'employer', 'advisor' (default 'individual').
us_residentbooleanWhether the person is a US resident
NameTypeReqDescription
age_eligiblebooleanyesTrue if age is at or under the maximum enrollment age (75); the filing sets no minimum age.
channelstringyesDistribution channel under consideration for this check.
criteriaobjectyesFull eligibility-criteria reference object (age range, residency, accredited-investor flag, channel requirements).
eligiblebooleanyesTrue if every eligibility criterion (age + residency) is satisfied.
messagestringyesHuman-readable explanation of the eligibility outcome.
residency_eligiblebooleanyesTrue if the US-residency requirement is satisfied.

No examples provided.

compare_savvly_vs_alternative ~193

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.

NameTypeReqDescription
alternativestringWhich product type to compare Savvly against. Use EXACTLY one of: 'fixed_annuity', 'variable_annuity', 'indexed_annuity', 'target_date_fund', 'managed_payout_fund', or 'all' for the full matrix. Pick…
NameTypeReqDescription
comparisonobjectThe selected alternative product's profile. Present when `alternative` is a specific product type (i.e. not 'all').
comparisonsarrayFull comparison matrix — one entry per alternative product type. Present when `alternative` is 'all'.
metadataobjectyesComparison dimensions, definitions, and source notes.
savvlyobjectyesSavvly's profile across the comparison dimensions.

No examples provided.

get_savvly_faq ~153

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.

NameTypeReqDescription
sectionstringFilter the FAQ to one section (kebab-case, e.g. 'tax-legacy'); 'all' returns every entry.
NameTypeReqDescription
entriesarrayyesFiltered FAQ entries (the audience:'general' Q&A slice).
sectionstringyesSection filter applied to produce this result set ('all' if no filter).
totalintegeryesCount of FAQ entries returned.

No examples provided.

get_savvly_product_info ~173

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.

NameTypeReqDescription
sectionstringWhich part of the product profile to focus the text on — one of 'all', 'overview', 'regulatory', 'investment', 'expenses', 'payouts', 'tax', 'distribution' (default 'all'). The full overview card alw…
NameTypeReqDescription
categorystringyesProduct category slug, e.g. 'longevity_benefit_fund'.
channelsarrayDistribution channels through which Savvly is offered.
companyobjectIssuer / advisor entity information.
descriptionstringLong-form product description.
disclaimersobjectSEC-style disclaimers and required legal language.
early_withdrawalobjectEarly-withdrawal / surrender terms and the value returned to the estate.
expensesobjectExpense structure in basis points (common vs tracking shares) and the blended range; illustrations are net of expenses.
illustrative_payoutobjectOne worked example of what the schedule pays: the modeled payout RANGE at each milestone age for a single fixed allocation, so the percentages above have dollar figures beside them. Fixed inputs, ide…
investmentobjectHow contributions are invested: underlying assets (S&P 500 ETF), asset managers, minimum/maximum monthly and lump-sum amounts, market participation.
linksobjectRelevant URLs (website, disclosures, etc.).
longevity_poolobjectHow the longevity pool works — exited participants' unused shares may be allocated to remaining participants.
namestringyesProduct name (e.g. 'Savvly Longevity Benefit').
next_stepsobjectSuggested next actions for an interested investor.
payout_schedulearrayMilestone payout schedule at ages 80/85/90/95.
portabilitybooleanWhether the position is portable.
portability_notestringDetail on portability.
positioning_statementstringOne-sentence positioning — what Savvly is and is NOT (not insurance, not an annuity).
regulatoryobjectRegulatory status: SEC registration, Investment Company Act of 1940, advisor, custodian, and is_insurance/is_annuity flags.
taglinestringShort marketing tagline.
tax_treatmentobjectTax treatment of payouts and contributions.

No examples provided.

project_retirement_with_savvly ~765

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 ru…

NameTypeReqDescription
annual_income_increasenumberAnnual contribution % increase (default 2)
current_ageintegerCurrent age (default 40)
current_retirement_savingsnumberCurrent total retirement savings in USD (default 60000)
inflation_ratenumberExpected annual inflation rate % (default 3)
life_expectancyintegerPlanning horizon (default 100)
monthly_contributionnumberMonthly retirement contribution in USD (default 1000)
monthly_paychecknumberDesired monthly retirement paycheck in USD (default 4500)
other_retirement_incomenumberOther monthly retirement income in USD (default 1600)
percentage_in_savvlynumberPercentage of the retirement portfolio allocated to Savvly (default 5)
post_retirement_returnnumberExpected post-retirement annual return % (default 5)
pre_retirement_returnnumberExpected pre-retirement annual return % (default 6)
retirement_ageintegerPlanned retirement age (default 68)
NameTypeReqDescription
disclosureobjectyesDISCLOSURE 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.
inputsobjectyes
metadataobjectyes
resultobjectyes
summaryobjectyesConvenience summary. The narrative carries the canonical full-disclosures URL inline; display it verbatim alongside any figures from this response.
visualizationobjectRecommended 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 `metad…

No examples provided.

project_savvly_lumpsum ~893

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…

NameTypeReqDescription
average_returnintegerExpected average annual S&P 500 return % (default 8)
current_ageintegerInvestor's current age (default 40). Min 18 (the projection matrix floor); max 75 (max enrollment age)
funding_amountnumberLump sum investment in USD (default 10000)
withdrawal_ageintegerEarly-withdrawal age (default 82) — drives `early_withdrawal_value` and `total_payout_at_withdrawal_age_*` in the response
NameTypeReqDescription
disclosureobjectyesDISCLOSURE 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. The richer…
inputsobjectyesEcho of the validated input arguments passed to the tool.
metadataobjectyes
resultobjectyesRaw projection envelope returned by the upstream estimator.
summaryobjectyesConvenience summary including a human-readable narrative.
visualizationobjectRecommended chart for this projection — a grouped bar chart of the milestone payouts in `result.payout_age_dependent_values` (Savvly vs market alone). Render it when the surface can display a graph.

No examples provided.

project_savvly_monthly ~1,032

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. 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 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 HOS…

NameTypeReqDescription
average_returnintegerExpected average annual S&P 500 return % (default 8)
contribution_yearsintegerNumber of years contributing. Omit to use a sensible default of min(27, 80 − current_age) — 27 for the canonical age-40 scenario, and always small enough that contributions finish by age 80 (the advi…
current_ageintegerInvestor's current age (default 40). Min 18 (the projection matrix floor); max 75 (max enrollment age)
installment_increase_percentagenumberOptional annual % increase applied to monthly contributions
monthly_amountnumberMonthly deposit in USD (default 100)
withdrawal_ageintegerEarly-withdrawal age (default 82) — drives `early_withdrawal_value` and `total_payout_at_withdrawal_age_*` in the response
NameTypeReqDescription
disclosureobjectyesDISCLOSURE 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. The richer…
inputsobjectyesEcho of the validated input arguments passed to the tool.
metadataobjectyes
resultobjectyesRaw projection envelope returned by the upstream estimator.
summaryobjectyesConvenience summary including a human-readable narrative.
visualizationobjectRecommended chart for this projection — a grouped bar chart of the milestone payouts in `result.payout_age_dependent_values` (Savvly vs market alone). Render it when the surface can display a graph.

No examples provided.

search_savvly_content ~303

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.

NameTypeReqDescription
audiencestringRestrict to one stakeholder audience. Use EXACTLY one of: 'employee', 'advisor', 'broker', 'employer', 'universal', or 'general' ('general' is the factual FAQ). Omit to search across all audiences.
limitintegerCap on matched entries returned. Default 20, max 50.
querystringFree-text search over questions, answers, and footnotes (case-insensitive). Multi-word queries match entries containing ANY of the words, ranked by relevance.
sectionstringSubstring match against section slugs (e.g. 'tax', 'retention', 'eligibility'). Case-insensitive.
NameTypeReqDescription
available_sectionsarrayyesSection slugs available within the (optionally) selected audience.
entriesarrayyesMatched Q&A entries.
filter_appliedobjectyesEcho of the filters that produced this result set.
matchedintegeryesCount of entries matching the supplied filters.
total_in_libraryintegeryesTotal Q&A entry count in the library across all audiences.

No examples provided.

Common questions

What is the com.savvly/savvly MCP server?

com.savvly/savvly is an MCP server listed in the public MCP registry as com.savvly/savvly. Savvly MCP: query fund data, model projections, and compare against alternative retirement products. This page covers its NuGet package (Savvly.McpServer).

Is the com.savvly/savvly MCP server safe to use?

com.savvly/savvly scores 77 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the com.savvly/savvly MCP server expose?

com.savvly/savvly exposes 8 tools: get_savvly_product_info, compare_savvly_vs_alternative, project_savvly_lumpsum, project_savvly_monthly, project_retirement_with_savvly, and 3 more. Their descriptions and schemas cost roughly 3,674 tokens of context every time the server is loaded.

Is the com.savvly/savvly MCP server still maintained?

com.savvly/savvly is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the com.savvly/savvly MCP server under?

com.savvly/savvly declares the Apache-2.0 licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.