Graph Aave MCP vs Savvly MCP — MCP Server Comparison | AllMCPs
Side-by-Side Model Context Protocol Comparison
Graph Aave MCP vs Savvly MCP
In-depth architectural comparison of the Graph Aave MCP and Savvly MCP MCP servers. Compare execution transports, security boundaries, tool capabilities, quality scores, and ready-to-paste client installation snippets for Claude, Cursor, Windsurf, and VS Code.
At a Glance & Executive Verdict
Graph Aave MCP
Finance & Fintech · Local stdio
Quality: 63/100 (Good) | Auth: API Key required
Savvly MCP
Finance & Fintech · Local stdio
Quality: 64/100 (Good) | Auth: No auth required
Verdict Summary: Choose Graph Aave MCP if you need specialized Finance & Fintech tools running via a local process. Choose Savvly MCP if your workspace requires Finance & Fintech integration with local subprocess execution. Both servers can be configured concurrently in your client's mcpServers manifest.
Which MCP Server Should You Choose?
Choose Graph Aave MCP when:
You need dedicated capabilities in the Finance & Fintech domain.
You prefer local stdio subprocess transport architecture.
Your security boundary fits: API Key required (Free / Open Source).
AAVE V2/V3 lending protocol data across 7 chains via The Graph — reserves, user positions, health factors, liquidations, flash loans, and governance.
Savvly Longevity Benefit Fund: retirement projections (lump-sum, monthly, and full trajectory), product comparisons, eligibility checks, and FAQ search. An SEC-registered fund offering market upside plus longevity protection. Remote at api.savvly.com/mcp or npx @savvly/mcp-server.
Category & Scope
Tools & Capabilities Breakdown
Graph Aave MCP Tools (51)
list_aave_chains
Use this when the user asks which AAVE chains are supported, wants to pick a network, or needs to discover available AAVE deployments. Returns all supported chains with their subgraph IDs, protocol version (V2/V3), chain name, 30-day query volume, and key entities. Chains: Ethereum, Base, Arbitrum, Polygon, Optimism, Avalanche, Fantom (V3 + V2 legacy), plus AAVE Governance V3. Always call this first if chain is ambiguous.
get_aave_reserves
Use this when the user asks about AAVE lending markets, available assets, supply APY, borrow APY, TVL, utilization rate, collateral factors, or liquidation thresholds on a specific chain. Returns all active reserves sorted by total liquidity (TVL). RATE CONVERSION: liquidityRate and variableBorrowRate are in RAY units (1e27). Supply APY % = liquidityRate / 1e27 * 100. Borrow APY % = variableBorrowRate / 1e27 * 100. Amounts are in native token units — divide by 10^decimals for human-readable. Ideal for: 'What assets can I lend on Arbitrum?', 'What is USDC supply rate on Base?', 'Show me all AAVE V3 markets on Polygon'. SIZE: unfiltered this returns every active reserve (~28k tokens on Ethereum). Pass `symbols` for a named asset, or `compact: true` for rates only.
get_aave_reserve
Use this when the user asks about a specific AAVE asset in detail — e.g. 'Tell me everything about USDC on Ethereum AAVE', 'What are the WETH borrow parameters?', 'What is the liquidation threshold for WBTC collateral?'. Returns full reserve config: current rates, TVL, LTV, liquidation parameters, lifetime stats (total borrows/repayments/liquidations), and token addresses. RATE CONVERSION: divide liquidityRate / variableBorrowRate by 1e27 * 100 for APY %.
Ready-to-Paste Client Configurations
Paste either (or both) of these JSON server blocks into your client config file (e.g. claude_desktop_config.json or ~/.cursor/mcp.json).
Graph Aave MCP is categorized under Finance & Fintech and uses a local stdio subprocess. In contrast, Savvly MCP belongs to Finance & Fintech using local stdio subprocess. Select Graph Aave MCP when you need capabilities focused on finance & fintech and Savvly MCP when you require tools for finance & fintech.
Use this when the user asks about a wallet's AAVE position — 'What is my health factor?', 'What have I supplied to AAVE?', 'How much have I borrowed?', 'Am I at risk of liquidation?', 'Show me my collateral and debt on Arbitrum'. Returns all supplied assets (with aToken balances), all borrowed assets (variable + stable debt), collateral flags, and e-mode category. Health Factor ≈ sum(collateral_i * price_i * liqThreshold_i) / sum(debt_i * price_i). HF < 1.0 = liquidatable. Amounts in native token units — divide by 10^decimals.
simulate_health_factor
Use this when the user wants to simulate how a price change affects their AAVE health factor — 'What happens to my health factor if ETH drops 20%?', 'How much can WBTC fall before I get liquidated?', 'Simulate a 30% drop in my collateral asset'. Fetches the user's full position, computes current health factor, then recalculates it after applying the specified price change to the target asset. Health Factor < 1.0 means the position is liquidatable.
get_recent_borrows
Use this when the user asks about recent borrowing activity on AAVE — 'Who has been borrowing USDC on Ethereum?', 'Show me recent WETH borrows on Arbitrum', 'What has address 0x... borrowed recently?', 'Show borrow volume by asset'. Returns borrow events with: borrower address, asset, raw amount, borrow rate, rate mode (variable=2/stable=1), and timestamp. Divide amount by 10^decimals for human-readable value.
get_recent_supplies
Use this when the user asks about recent deposit/supply activity on AAVE — 'Who has been supplying ETH on Base?', 'Show me recent USDC deposits on Polygon', 'What has address 0x... deposited recently?'. V3 chains use the 'supply' entity; V2 chains use 'deposit' — handled automatically. Returns: supplier address, asset symbol, raw amount, and timestamp. Divide amount by 10^decimals for human-readable value.
get_aave_liquidations
Use this when the user asks about AAVE liquidation events — 'Show me recent liquidations on Ethereum', 'Has address 0x... been liquidated?', 'Who are the top liquidators on Arbitrum?', 'What collateral is being seized most?'. Returns: liquidator address, liquidated user, collateral asset seized, debt asset repaid, amounts, and timestamp. Liquidations occur when a user's health factor drops below 1.0.
get_aave_repays
Use this when the user asks about AAVE debt repayment activity — 'Show me recent repayments on Ethereum', 'Has address 0x... repaid any debt?', 'What assets are being repaid most on Arbitrum?', 'Show USDC repay history'. Returns repay events with: repayer address, asset, raw amount, and timestamp. Divide amount by 10^decimals for human-readable value.
get_aave_flash_loans
Use this when the user asks about AAVE flash loans — 'Show me recent flash loans on Ethereum', 'What assets are flash-loaned most?', 'How much in flash loan fees has AAVE earned?'. Returns: initiator address, asset borrowed, amount, fee paid (totalFee), and timestamp. Flash loans must be borrowed and repaid within a single transaction.
get_reserve_rate_history
Use this when the user asks about historical AAVE rates or TVL trends — 'How has USDC supply rate changed over time?', 'Show me ETH borrow rate history on Polygon', 'What was the utilization rate last week?'. Returns timestamped snapshots of: liquidityRate, variableBorrowRate, stableBorrowRate, utilizationRate, availableLiquidity, totalLiquidity, totalCurrentVariableDebt. Rates are in RAY units (divide by 1e27 * 100 for APY %). Get the reserve ID from get_aave_reserves (the 'id' field = underlyingAsset + poolAddress).
find_best_rates
Use this when the user asks 'Where should I supply USDC for the best yield?', 'Which chain has the lowest WETH borrow rate?', 'Compare AAVE rates across chains for USDC', 'Best AAVE lending rates for DAI'. Queries all AAVE lending deployments in parallel for the given asset, then ranks by APY. Excludes Fantom (incompatible Messari schema) and skips anomalous pools. Returns a ranked table with chain, supply APY, variable borrow APY, utilization, and approx available liquidity. Includes a _recommendation field with the best option.
+39 more tools listed on main page
Savvly MCP Tools (8)
get_savvly_product_info
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.
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.
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.
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. 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 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.
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). 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.
check_savvly_eligibility
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.
get_savvly_faq
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.
search_savvly_content
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.