Assistants get credit card questions wrong for a specific reason. The hard part is never the multiplication; it is the category caps, the enrollment requirements, the portal-versus-direct booking rules, and the fact that Costco codes as a wholesale club. CardSavvy's MCP server gives your assistant those rules as tools it can call instead of facts it has to remember.
The model stays entirely in your client. We never see or store an API key from your AI provider.
The server speaks MCP over streamable HTTP. The endpoint is served by our optimizer service, not by this page — use the URL exactly as shown. In Claude Code:
claude mcp add --transport http cardsavvy https://mcp.card-savvy.com/mcp/For Claude Desktop, add it to your MCP settings:
{
"mcpServers": {
"cardsavvy": {
"type": "http",
"url": "https://mcp.card-savvy.com/mcp/"
}
}
}No account is needed for the catalog, merchant-coding, and per-purchase tools.
| search_cards | Find cards by issuer, annual fee, or bonus category. |
| get_card | Full earn rates, caps, credits, and fees for one card. |
| classify_merchant | How a merchant actually codes at the network. |
| best_card_for_purchase | Rank a wallet for one transaction, with the formula. |
| compare_cards | Net annual value head to head under a standard profile. |
| list_recent_card_changes | Verified fee hikes, rate cuts, and category changes. |
These run the linear-programming optimizer, which is the only part that costs real compute. A token is free and takes a moment to create from your profile once your email is verified.
| optimize_wallet | Solve category-to-card allocation for a full year. |
| simulate_adding_card | What one more card would add, net of its fee. |
| wallet_simplification | Keep, monitor, downgrade, or cancel, per card. |
| credit_health | Effective value of statement credits, and overlaps. |
| recommend_cards | Highest incremental value for a given wallet and spend. |
Send the token as a bearer header:
{
"mcpServers": {
"cardsavvy": {
"type": "http",
"url": "https://mcp.card-savvy.com/mcp/",
"headers": { "Authorization": "Bearer cs_mcp_..." }
}
}
}Anonymous callers get 120 tool calls an hour, keyed to a salted hash of your IP. A token raises that and adds 60 optimizer solves an hour, 300 a day. The optimizer limit applies only to the linear-programming tools; catalog and per-purchase calls are unaffected when you hit it. Identical requests are served from cache and are cheap for both of us.
Call optimize_wallet once with the whole wallet and a full year of spending rather than once per category. The solver allocates across categories under shared caps, so per-category calls produce wrong answers as well as burning quota.
Card terms change, so each response carries a provenance block with an as_of verification date and a source_url pointing at the issuer. A null as_of means we have not verified that record, not that it is current, and the response says so.
Outbound links point at the issuer's own page. CardSavvy takes no affiliate or advertising compensation today, so rankings reflect computed value only.
A tool call may carry the cards you hold and your spending by category. We do not log tool arguments. Usage records the tool name, a one-way hash of the inputs, whether the response came from cache, and how long it took. That is enough to run rate limits and measure cache effectiveness, and not enough to reconstruct a wallet. The Privacy Policy sets this out in full.
Every tool is read-only. Nothing here opens, closes, or changes an account, and nothing applies for a card. Results are informational and educational, not individualized financial advice. If you carry a revolving balance, the tools say so before anything else: interest costs far more than any rewards rate earns.
Use of the API is governed by the API Terms. Questions: support@card-savvy.com.