Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Authorization not required, issuer https://mcp.agentcard.sh/
Authorization not required, issuer https://mcp.agentcard.sh/
Changed the definition of "get_card_details"
⟨15 unchanged words⟩ when you need to fill in a paymentform —form; prefer get_card_balance if you only need the balance. ⟨11 unchanged words⟩ , prompt the user and then call approve_request.CardAgentcarddetailsneverarestoresencryptedanatissuedrestcard'swithnumberAES-256-GCM.or CVV; each call fetches them again.
Authorization not required, issuer https://mcp.agentcard.sh/
Authorization not required, issuer https://mcp.agentcard.sh/
Authorization not required, issuer https://mcp.agentcard.sh/
Authorization not required, issuer https://mcp.agentcard.sh/
Authorization not required, issuer https://mcp.agentcard.sh/
Authorization not required, issuer https://mcp.agentcard.sh/
Authorization not required, issuer https://mcp.agentcard.sh/
Changed the definition of "whoami"
⟨15 unchanged words⟩ of the connected app, when connectionType isoauth.oauth, or organization through a company's app.","type":["string","null"]} ⟨7 unchanged words⟩ OAuth app (e.g. \"Claude\"), whenknown.known, for an oauth or organization connection.","type":["string","null"]} ⟨174 unchanged words⟩
Authorization not required, issuer https://mcp.agentcard.sh/
Changed the definition of "buy_list_merchants"
⟨22 unchanged words⟩ {"properties":{"link_status":{"description":"Whether the'ready'user(nohasaccountlinkedneeded)thisormerchant'linked' (e.g. 'linked',account'not_linked'linked).","type":"string"},"money_path"
Certificate changed, valid to 2026-12-23
Authorization not required, issuer https://mcp.agentcard.sh/
Removed "create_withdrawal_recipient", "list_withdrawal_recipients" and "withdraw" (58 tools before, 55 now)
Save a bank account as a withdrawal destination for the user's cash balance. Supports US bank accounts (ACH: routing + account number) and international bank accounts (SWIFT wire: IBAN + BIC). Ask the user for their bank details conversationally, then call this once. After saving, use withdraw to request a payout.
List the user's saved bank accounts for withdrawals, masked (bank name and last four only). Use a recipient's id as recipient_id with withdraw. If the list is empty, collect the user's bank details and call create_withdrawal_recipient first.
Withdraw cash from the user's balance, either to their saved bank account or to a crypto address on Base (USDC). Transfers are processed manually by the Agentcard team, usually within 1-3 business days; the user is emailed when it's sent. For a bank withdrawal, if the user has no saved bank account yet, call create_withdrawal_recipient first. For a crypto withdrawal, pass destination_address (a 0x Base address). ALWAYS confirm the amount and destination with the user before calling this.
Authorization not required, issuer https://mcp.agentcard.sh/
Changed the definition of "get_plan" and "list_transactions"
⟨20 unchanged words⟩ per-card amount cap or remaining monthly quota,orand ALWAYS before creating a multi-use card: multi-use cards are a paid-plan feature, so maxActiveMultiUseCards is 0 on Free and the mint is refused. Also call it whenever the user asks about their plan, ⟨27 unchanged words⟩
{"properties":{"activeMultiUseCards":{"description":"How many multi-use cards the user currently holds open (they hold their limit as collateral for their whole life, so closing one frees a slot).","type":"number"},"cancelAtPeriodEnd":{"description":"Whether the subscription cancels ⟨40 unchanged words⟩ ends, or null.","type":["string","null"]},"maxActiveMultiUseCards":{"description":"How many multi-use cards may be open at once. 0 means multi-use cards need a paid plan and create_card with type \"multi_use\" will be refused; null means unlimited (company-governed).","type":["number
Authorization not required, issuer https://mcp.agentcard.sh/
Authorization not required, issuer https://mcp.agentcard.sh/
Authorization not required, issuer https://mcp.agentcard.sh/
Changed the definition of "add_funds", "allow_card_merchant", "create_card" and 8 more
⟨47 unchanged words⟩ ":{"description":"Payment method for thecheckout.checkout:Defaultsapple_paytoorapple_pay.google_pay. Ask the user which one their device has; apple_pay only when unknown.","enum":["apple_pay","google_pay"], ⟨6 unchanged words⟩
Authorization not required, issuer https://mcp.agentcard.sh/
Certificate recorded, valid to 2026-10-24
Authorization not required, issuer https://mcp.agentcard.sh/
First tool surface recorded: 58 tools (server version 1.0.0)
Showing the latest 26 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
⟨120 unchanged words⟩ "Merchant name.","type":"string"},"processorTransactionId":{"description":"The card processor's reference for the charge, the value transaction.* webhook events carry as data.id (their transaction_id is this row's id). Null for wallet-funding rows.","type":["string","null"]},"source":{"description":"Transaction source.","type ⟨21 unchanged words⟩
⟨2 unchanged words⟩ {"description":"Card id (from list_cards).Required when scope is \"card\" (default).","type":"string"},"pattern":{" ⟨7 unchanged words⟩ \"STARBUCKS\" or \"ODD CAFE\".","type":"string"},"scope":{"description":"Where to remember the merchant. Default \"card\". Use \"account\" for the standing preset (omit card_id).","enum":["card","account"],"type":"string"}},"required":[ ⟨3 unchanged words⟩
⟨69 unchanged words⟩ type the card once and lock it withFacetheirID;passkey or master password; Agentcard never sees the number). A vaulted ⟨5 unchanged words⟩ tool, where the user approves each purchasewithonFacetheirIDdeviceonwith theirdevice;passkey or master password; it never becomes a card number you type ⟨147 unchanged words⟩
⟨235 unchanged words⟩ restrictions only — omit for a normal unrestrictedcard (or to inherit the account default).card.","oneOf":[{"type":"string"} ⟨252 unchanged words⟩
⟨28 unchanged words⟩ retires the name for future use. Refused whilethe nameaiscard stillthe accountinheritsdefaulttheornameanasapp'sa standingpreset — clear that with set_card_preset first.default.
⟨11 unchanged words⟩ windows, and surfaces) as a plain-English summary.Omit card_id to read the account default preset, or pass for_app to read a specific app's standing preset instead. Cards (apps, andAaccounts)card without a presetareis unrestricted.
⟨2 unchanged words⟩ description":"The card id (from list_cards).Omit to read the account default preset (or for_app's, if set).","type":"string"},"for_app":{"description":"Read a specific app's standing preset instead of the account default: \"cli\" for the CLI, a connected app's name, or its client id. Ignored when card_id is set.","type":"string"}},"required":["card_id"],"type":"object"}
⟨74 unchanged words⟩ (any card, typed once, locked withFacetheirIDpasskey or master password, never seen by Agentcard) and works on ⟨61 unchanged words⟩
⟨36 unchanged words⟩ \"handoff\" = directly; \"open\" =Face IDpasskey setup or passkey sign-in.","type":"string ⟨38 unchanged words⟩
⟨30 unchanged words⟩ only; a vaulted card pays through buy withaanFaceapprovalIDonapprovalthe user's device (their passkey or master password) and never exposes a number). Start here ⟨62 unchanged words⟩
⟨321 unchanged words⟩ Display fields only; they pay through buy withaanFaceapprovalIDonapprovalthe user's device (their passkey or master password) and never expose a card number.","items ⟨292 unchanged words⟩
{"properties":{"name":{"description":"A name for this preset, e.g. \"meals-only\".","type":"string"},"only_categoriescategories":{"description":"Comma-separated spend categories to allow(strict), e.g. \"meals,groceries\" (meals, groceries ⟨4 unchanged words⟩ retail).","type":"string"},"only_currenciescurrencies":{"description":"Comma-separated purchase currencies to allow(strict): ISO 4217 codes or common names, e.g. \"usd,eur\" or \"dollars,euros,pounds,yen\".AIn strict mode a purchase in another currency is refused atcheckout;checkout and a settled charge in another currency pauses the ⟨15 unchanged words⟩ are refused.","type":"string"},"mode":{"description":"What the preset does when a purchase breaks any of its rules: \"strict\" refuses it (the default), \"watch\" lets it through and tells the user once.","enum":["strict","watch"],"type":"string"},"name":{"description":"A name for this preset, e.g. \"meals-only\".","type":"string"},"only_days":{"description":"Comma-separated days to allow ⟨204 unchanged words⟩ cap, in US dollars.","type":"number"},"watch_categories":{"description":"Categories in Watch mode (allow + notify on mismatch instead of refuse/pause): meals, groceries, travel, software, ai, wellness, retail. Spend caps, places, time windows, and merchant-only rules stay strict.","type":"string"},"watch_currencies":{"description":"Purchase currencies in Watch mode (allow + notify on mismatch instead of refuse/pause), e.g. \"usd,eur\". Checked by Agentcard, not by the card network. Use only_currencies or watch_currencies, not both.","type":"string"}},"required":["name"],"type":"object"}
Update a card'spreset, the account default (card_id and for_app both omitted), or a specific app's standing preset (for_app).preset. Pass a template name (ai_labs, weekday_meals, ⟨13 unchanged words⟩ inline JSON / { name, privileges }.With card_id, passPass null or "" to clear the card's ⟨4 unchanged words⟩ any limit already on the card network stays); with for_app, pass null or "" to clear that app's standing preset.. Edits create a new version.For a card, theThe response reports what was applied on Agentcard vs ⟨16 unchanged words⟩
{"properties":{"card_id":{"description":"The cardid. Omit to set the account default presetid (or for_app's, iffromsetlist_cards).","type":"string"},"for_app":{"description":"Set a specific app's standingpresetinstead of the account default: \"cli\" for the CLI, a connected app's name, or its client id. Ignored when card_id is set.","type":"string"},"preset":{"description":"Template name (ai_labs, weekday_meals, ⟨38 unchanged words⟩ type":"object"}]}},"required":["card_id","preset"],"type":"object"}
⟨166 unchanged words⟩ ID. Supported: JPEG/PNG/WebP up to 12MB (convertiPhoneHEIC or HEIF photos first).
⟨95 unchanged words⟩ a phone-first account (e.g. signed up bySMS on the iMessagetextrelaymessage).","type":["string","null" ⟨109 unchanged words⟩