SwitchWize MCP
by switchwize · remote · local (npm) · no sign-in to list tools · v0.3.0 · published by GitHub user switchwize
Sixteen read-only US rate, savings-gap, Fed, card and CD tools with sources and freshness.
16 tools: 1 change things and 15 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things1Claude Code: ask: see these tools
- Only reads15Claude Code: allow: see these tools
1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http switchwize https://www.switchwize.com/api/mcpFindings
Matches of fixed checks, with the text they matched.
The server marks "best_move_this_week" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "best_move_this_week" says "move": a word for a change.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
16 tools
Changes things 1Claude Code: ask
best_move_this_weekGiven the credit cards a user holds, rank this week's dollar-valued actions: which held card to use per spend category, welcome offers at a 12-month high on cards not held, active …1 finding
Why it is in this group
- The name "best_move_this_week" says "move": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "best_move_this_week" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "best_move_this_week" says "move": a word for a change.
Description, as the server wrote it Given the credit cards a user holds, rank this week's dollar-valued actions: which held card to use per spend category, welcome offers at a 12-month high on cards not held, active transfer bonuses, and (optionally) the savings-rate move beside the card move.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
Only reads 15Claude Code: allow
compare_switch_savingsCompare a user's current APY with SwitchWize's current top savings APY for a balance.No findings
Why it is in this group
- The name "compare_switch_savings" says "compare": a word for reading.
Description, as the server wrote it Compare a user's current APY with SwitchWize's current top savings APY for a balance.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
get_bank_gapEstimate annual savings interest forgone for a supplied balance and optional bank name.No findings
Why it is in this group
- The name "get_bank_gap" says "get": a word for reading.
Description, as the server wrote it Estimate annual savings interest forgone for a supplied balance and optional bank name. comparisonApy is the average of the top three tracked savings rates, not an average across all banks; bankCount is the size of the tracked set. baselineApy is the named bank's APY, or the national savings benchmark when no bank is supplied. Return annualGap, APYs, observation date, freshness and methodology. This is a hypothetical estimate, not guaranteed savings or an account recommendation; verify eligibility, fees and current provider terms.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
get_bank_gap_indexReturn the current SwitchWize Bank Gap Index headline value, latest release, and methodology URL.No findings
Why it is in this group
- The name "get_bank_gap_index" says "get": a word for reading.
Description, as the server wrote it Return the current SwitchWize Bank Gap Index headline value, latest release, and methodology URL.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
get_card_changesReturn recent verified credit-card fee and APR changes, most recent first.No findings
Why it is in this group
- The name "get_card_changes" says "get": a word for reading.
Description, as the server wrote it Return recent verified credit-card fee and APR changes, most recent first. Each event is a diff between two confirmed snapshots of the same card.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
get_card_downgrade_pathReturn verified credit-card product-change (downgrade) paths and the issuer's fee-refund window: which no-fee or lower-fee card a given card can be product-changed to, and how long…No findings
Why it is in this group
- The name "get_card_downgrade_path" says "get": a word for reading.
Description, as the server wrote it Return verified credit-card product-change (downgrade) paths and the issuer's fee-refund window: which no-fee or lower-fee card a given card can be product-changed to, and how long after the annual fee posts a refund is available on cancellation. Optionally filtered to one card id (issuer:slug); returns every verified path and window when omitted.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
get_card_offersReturn current credit-card welcome-bonus offers (non-targeted, confidence-gated), each with a verified timestamp, source URL, and the card's own 12-month best.No findings
Why it is in this group
- The name "get_card_offers" says "get": a word for reading.
Description, as the server wrote it Return current credit-card welcome-bonus offers (non-targeted, confidence-gated), each with a verified timestamp, source URL, and the card's own 12-month best.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
get_cd_rollover_rulesReturn verified CD rollover rules for one bank, or every bank SwitchWize has verified: what happens automatically at maturity if the customer does nothing, the grace period, how to…No findings
Why it is in this group
- The name "get_cd_rollover_rules" says "get": a word for reading.
Description, as the server wrote it Return verified CD rollover rules for one bank, or every bank SwitchWize has verified: what happens automatically at maturity if the customer does nothing, the grace period, how to stop the rollover, and the early-withdrawal penalty. Each fact is sourced directly from the bank's own disclosure; an unverified field is omitted, never guessed.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
get_fed_hike_pass_throughReturn how much of the latest Federal Reserve rate hike each tracked savings account has passed through to savers so far: rate before the hike, rate now, change in basis points, pa…No findings
Why it is in this group
- The name "get_fed_hike_pass_through" says "get": a word for reading.
Description, as the server wrote it Return how much of the latest Federal Reserve rate hike each tracked savings account has passed through to savers so far: rate before the hike, rate now, change in basis points, pass-through share, and days until the bank moved. One source per bank; each row carries its source type and observation dates. Optionally filtered to one institution id.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
get_index_datasetReturn a SwitchWize index dataset summary and recent series.No findings
Why it is in this group
- The name "get_index_dataset" says "get": a word for reading.
Description, as the server wrote it Return a SwitchWize index dataset summary and recent series.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
get_rate_freshnessReturn public data source freshness status and affected routes.No findings
Why it is in this group
- The name "get_rate_freshness" says "get": a word for reading.
Description, as the server wrote it Return public data source freshness status and affected routes.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
get_reality_scoreEstimate the modeled annual value of a supported premium credit card for a consumer segment.No findings
Why it is in this group
- The name "get_reality_score" says "get": a word for reading.
Description, as the server wrote it Estimate the modeled annual value of a supported premium credit card for a consumer segment. Supply a card slug or name and optionally a segment ID; the default is occasional-traveler. Return segment assumptions, score, rewards, credits, perks, fee, interest, friction, net value, caveats, sources, verification date, freshness and methodology. Gross recovered value is rewards + credits + perks. breakageMultiplier is gross recovered value / advertised value, NOT divided by annual fee. feeRecoveryMultiplier is max(0, gross recovered value - interest drag - rewards friction discount) / annual fee, before subtracting the fee. Friction applies to raw rewards only. Reality Score is 100 * net realized value / advertised value. Ratios are rounded. These are scenario estimates, not personalized advice or guaranteed benefits. Preserve stale or unavailable labels; do not infer that all terms share the observation date. Unknown cards or segments return a structured error with suggestions.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
get_reward_valuationsReturn SwitchWize points/miles valuations (cents per point) per reward currency, with sample size and provisional/published status.No findings
Why it is in this group
- The name "get_reward_valuations" says "get": a word for reading.
Description, as the server wrote it Return SwitchWize points/miles valuations (cents per point) per reward currency, with sample size and provisional/published status.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
get_top_hysa_ratesReturn top high-yield savings rates with freshness and attribution.No findings
Why it is in this group
- The name "get_top_hysa_rates" says "get": a word for reading.
Description, as the server wrote it Return top high-yield savings rates with freshness and attribution. Answers only from the editor-approved snapshot; before its first release it returns no ranked rates and says so (approval_status: not_yet_approved). approvedOnly makes the requirement explicit. detail=full adds every listed account marked verified or tracked, best picks, movers, history and a headline summary.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
get_top_ratesReturn top SwitchWize rates with freshness and attribution.No findings
Why it is in this group
- The name "get_top_rates" says "get": a word for reading.
Description, as the server wrote it Return top SwitchWize rates with freshness and attribution. Savings, CDs, checking and money market answer only from their editor-approved snapshot. A category with no approved release yet returns no ranked rates and says so (approval_status: not_yet_approved) rather than serving unverified observations; approvedOnly makes that requirement explicit. Approved responses include product terms and field evidence; stale or unavailable releases return no ranked rates. detail=full (savings) adds the complete shared build: every listed account marked verified or tracked, best picks, movers, history and a headline summary.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
get_transfer_bonusesReturn current point-transfer bonuses across tracked bank-to-partner routes, each with a verified timestamp, source URL, and best-ever-for-route when real history exists.No findings
Why it is in this group
- The name "get_transfer_bonuses" says "get": a word for reading.
Description, as the server wrote it Return current point-transfer bonuses across tracked bank-to-partner routes, each with a verified timestamp, source URL, and best-ever-for-route when real history exists.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
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 0.3.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http switchwize https://www.switchwize.com/api/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__switchwize__get_top_rates",
"mcp__switchwize__get_top_hysa_rates",
"mcp__switchwize__get_bank_gap",
"mcp__switchwize__compare_switch_savings",
"mcp__switchwize__get_rate_freshness",
"mcp__switchwize__get_index_dataset",
"mcp__switchwize__get_bank_gap_index",
"mcp__switchwize__get_reality_score",
"mcp__switchwize__get_card_offers",
"mcp__switchwize__get_transfer_bonuses",
"mcp__switchwize__get_card_changes",
"mcp__switchwize__get_reward_valuations",
"mcp__switchwize__get_cd_rollover_rules",
"mcp__switchwize__get_card_downgrade_path",
"mcp__switchwize__get_fed_hike_pass_through"
],
"ask": [
"mcp__switchwize__best_move_this_week"
],
"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 switchwize. Review it before you use it.
