{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_egsszm6nfhnq","handle":"agentcard","url":"https://wellknown.network/agents/agentcard","links":{"self":"https://wellknown.network/agents/agentcard/record.json","html":"https://wellknown.network/agents/agentcard","markdown":"https://wellknown.network/agents/agentcard/record.md","api":"https://wellknown.network/api/v1/agents/agentcard","status":"https://wellknown.network/api/v1/agents/agentcard/status","claim":"https://wellknown.network/agents/agentcard/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/agentcard/claim.json","badge":"https://wellknown.network/agents/agentcard/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/agentcard/history","tools":"https://wellknown.network/api/v1/agents/agentcard/tools"},"ard":{"identifier":"urn:air:mcp.agentcard.sh:server:agentcard","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"agentcard","summary":"Prepaid virtual cards for AI agents: one-time cards, spend caps, human approvals.","description":"Prepaid virtual cards for AI agents: one-time cards, spend caps, human approvals.","publisher":{"name":"sh.agentcard","url":null},"homepage":"https://agentcard.sh","repository":null,"version":"1.0.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://mcp.agentcard.sh/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-07-15T00:37:44.883872Z","publishedAt":"2026-07-15T00:37:44.883872Z","registryName":"sh.agentcard/agentcard"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"commerce.payments","name":"Payments","confidence":1,"provenance":"derived"},{"slug":"commerce.travel","name":"Travel & Booking","confidence":1,"provenance":"derived"},{"slug":"communication.notifications","name":"Notifications","confidence":1,"provenance":"derived"},{"slug":"security.identity","name":"Identity & Access","confidence":1,"provenance":"derived"},{"slug":"finance.banking","name":"Banking","confidence":0.583,"provenance":"derived"},{"slug":"automation.scheduling","name":"Scheduling & Cron","confidence":0.54,"provenance":"derived"},{"slug":"ai.prompting","name":"Prompt Management","confidence":0.525,"provenance":"derived"},{"slug":"content.writing","name":"Writing & Editing","confidence":0.51,"provenance":"derived"}],"categories":["ai","automation","commerce","communication","content","finance","security"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 6h ago.","lastOkAt":"2026-10-09T23:30:31.611Z","lastProbedAt":"2026-10-09T23:30:31.611Z","statusComputedAt":"2026-10-09T23:31:21.466Z","reliability30d":{"probes":108,"successRate":1,"p50Ms":206,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":107,"ok":107,"authBoundaryOk":0,"serviceOk":107,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-09T23:30:31.611Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":183,"error":null,"detail":{"tools":[{"name":"buy","description":"Shop and check out, in natural language, across the merchants the user has linked (DoorDash, etc.). Pass the whole ask as `request` — e.g. \"order a caesar salad"},{"name":"surprise_me","description":"Buy the user something totally unexpected and very silly/stupid-fun under a small dollar cap (default $10, hard max $25). Great when the user cannot decide what"},{"name":"get_instructions","description":"Call this FIRST; returns the latest usage guide for shopping with `buy` AND for operating the Agentcard account tools (cards, funding, your own card, KYC, suppo"},{"name":"whoami","description":"Show who you are operating as: the authenticated AgentCard account's email, user id, name, plan, KYC + account status, member-since date, and how this session i"},{"name":"list_cards","description":"The user's wallet: every live card they hold, with IDs, last four digits, expiry, balance, and status, plus `vaultCards`: the user's OWN cards stored in their A"},{"name":"get_card_details","description":"Get decrypted PAN, CVV, expiry, and current balance for a specific card. Use this only when you need to fill in a payment form; prefer get_card_balance if you o"},{"name":"get_card_balance","description":"The live balance of ONE virtual card (the user's overall cash balance is get_balance). Prefer this over get_card_details when you only need to verify available "},{"name":"close_card","description":"Permanently close a virtual card. This is irreversible — the card cannot be reopened. Safe to call on an already-closed card (idempotent). The user's rewards ca"},{"name":"create_card","description":"The one card tool: get the user a virtual debit card for a purchase. Cards are live and charged for real when used. For a FIRST-TIME user it starts by putting t"},{"name":"get_card_preset","description":"Read a card's preset (spend limits, rate limits, allowed categories/merchants, time windows, and surfaces) as a plain-English summary. A card without a preset i"},{"name":"set_card_preset","description":"Update a card's preset. Pass a template name (ai_labs, weekday_meals, cli_only, daily), a saved preset name (from list_presets), a comma-separated template list"},{"name":"allow_card_merchant","description":"Remember a merchant on a card so the next matching charge is allowed even when the card's category or merchant rules would otherwise deny it. One tool call — do"},{"name":"list_presets","description":"List every preset you can use by name: the built-in templates (ai_labs, weekday_meals, cli_only, daily) plus any you've saved yourself, each with a plain-Englis"},{"name":"save_preset","description":"Save your own preset — a named set of rules (spend caps, category/merchant/place/currency/day/hour/program restrictions) you can reuse by name in set_card_prese"},{"name":"delete_preset","description":"Delete a preset you saved (from save_preset). Refuses built-in template names — there's nothing to delete there. Cards already issued keep whatever rules they h"},{"name":"get_wallet_link","description":"The user's hosted wallet, as one shareable URL. Opens their Agentcard wallet in the browser: every card in one place, apply for an Agentcard card (identity veri"},{"name":"list_added_cards","description":"List the user's ADDED cards (their own Visa/Mastercard cards enrolled via create_card's add-card flow — the funding source that charges their own card), with id"},{"name":"remove_added_card","description":"Remove (unenroll) one of the user's added cards. Irreversible for that enrollment: any virtual cards created against it are closed first, then the card is unenr"},{"name":"pause_card","description":"Pause a multi-use card: temporarily blocks ALL new charges (reversible — use resume_card to unblock). Right for \"stop this subscription for now\" or a card the u"},{"name":"resume_card","description":"Resume a paused multi-use card so it accepts charges again. The inverse of pause_card."},{"name":"update_card_limit","description":"Change a multi-use card's total spending limit. Raising it reserves the extra amount from the user's cash balance (top up with add_funds if short); lowering it "},{"name":"get_rewards","description":"Show the user's tokenback: balance, lifetime earned, and recent activity. Tokenback pays tokens (1 token = 1¢ of credit value) on settled card spend. AI cards ("},{"name":"redeem_rewards","description":"Redeem tokenback: the tokens' cash value (1 token = 1¢) lands on the user's rewards card as spending power. The rewards card is permanent and locked to AI-lab m"},{"name":"recommend_card","description":"Ask the vault which of the user's own stored cards earns the most for a purchase (smart purchases). Pass the merchant name, its website when you know it, and th"},{"name":"name_card","description":"Tell the vault which card product one of the user's own stored cards is (e.g. \"Chase Sapphire Preferred\", \"Amex Gold\"), so smart purchases can rank it. Takes a "},{"name":"start_support_chat","description":"Start a new support conversation and send the first message"},{"name":"send_support_message","description":"Send a message in an existing support conversation"},{"name":"read_support_chat","description":"Read the message history of a support conversation"},{"name":"list_pending_approvals","description":"List the user's PENDING approval requests: asks from connected apps (create a card, view full card details, close/pause/resume a card, change a limit) waiting o"},{"name":"approve_request","description":"Resolve a pending approval request (approve or deny) once the USER has decided. Use this after get_card_details or create_card returns a 202 requiring approval,"},{"name":"submit_user_info","description":"Submit the user's phone number and terms acceptance for a virtual card. Call this after create_card returns user_info_required. Do NOT ask the user for occupati"},{"name":"start_kyc","description":"Begin (or resume) identity verification. Verification is CONVERSATIONAL: it starts with a photo of the user's government ID — the backend reads the printed deta"},{"name":"get_kyc_status","description":"Check the user's identity verification (KYC) status. Returns whether they are verified and, if not, the current state plus the conversational next step. Use thi"},{"name":"submit_kyc_document","description":"Submit the user's ID photo for identity verification. Ways in: (a) image data you hold programmatically (e.g. the user sent the photo in this chat and your plat"},{"name":"check_kyc_document","description":"Check the conversational verification state — use after the user uploads their ID via the browser upload link (or any time you need to re-orient). Returns the c"},{"name":"submit_kyc_fields","description":"Submit identity fields for verification: the ones the ID photo didn't carry (listed by missingFields — the tax/ID number always has to be asked since IDs don't "},{"name":"list_transactions","description":"Transactions with amount, merchant, status, and timestamps. Pass card_id for one card's transactions; OMIT it for every card in the account (newest first, each "},{"name":"setup_payment_method","description":"Save a payment method used ONLY to pay for flight bookings (the fare is charged to it via a hold at booking; no virtual card is created for flights). It does NO"},{"name":"get_balance","description":"The user's cash balance: the money that funds new cards. Provisions the balance account on first use. Users add cash with Apple Pay or Google Pay in USD; funds "},{"name":"add_funds","description":"Generate a secure checkout link the user opens to add cash to their own balance (the money that funds new cards) via Apple Pay or Google Pay, in USD. Calling th"},{"name":"start_phone_verification","description":"Send (or re-send) the user's one-time funding verification code (the provider verifies the phone on the user's Agentcard identity, valid 60 days). add_funds alr"},{"name":"verify_phone","description":"Check the one-time code the user received from start_phone_verification. On success the balance is unlocked for funding (the verification stays fresh for 60 day"},{"name":"redeem_code","description":"Redeem a promo code that adds money to the user's cash balance. Each code works once per user; the credit lands in the balance and becomes spendable within a mi"},{"name":"get_plan","description":"Show the user's current subscription plan, card limits, and this month's usage. Call this before create_card when you need the per-card amount cap or remaining "},{"name":"upgrade_plan","description":"Start a paid-plan upgrade. Choose the target plan: 'basic' ($15/mo — 15 cards/month, up to $500 per card) or 'pro' ($100/mo — 50 cards/month, up to $1,000 per c"},{"name":"list_payment_methods","description":"List the saved payment methods (used only to pay for flight bookings, not for cards or adding funds). Returns each method with its id, brand, last 4 digits, and"},{"name":"list_connections","description":"List the third-party apps the user has connected to their Agentcard account via OAuth (e.g. Kilo), including when each was connected and whether it is still act"},{"name":"revoke_connection","description":"Revoke a third-party app's access to the user's Agentcard account. Disconnects the app and invalidates its OAuth tokens; it must reconnect via OAuth to regain a"},{"name":"get_settings","description":"View the user's notification preferences (which email alerts they receive), their default payment source (which card or balance agents charge — check it before "},{"name":"link_account","description":"Link or merge another Agentcard account that belongs to the same person. Use when the user says they already have an account under a DIFFERENT email or phone nu"},{"name":"buy_list_merchants","description":"List merchants available for agent commerce (Rappi, Good Eggs, DoorDash) and whether this user has linked each one. Link a merchant before shopping it."},{"name":"buy_unlink_merchant","description":"Disconnect a merchant — drops the saved session + link. The user must re-link (e.g. hosted connect) before shopping it again."},{"name":"buy_connect","description":"Connect a merchant for shopping. For merchants that need a real login (e.g. DoorDash) this opens a secure hosted browser session and returns a URL the user open"},{"name":"buy_connect_status","description":"Check the status of a hosted merchant login started with buy_connect. Returns linking (still in progress — call again in a few seconds), linked (success — the m"},{"name":"manage_subscription","description":"Manage a recurring meal/grocery SUBSCRIPTION (e.g. Locale) — NOT a one-time purchase, and no payment is taken (the subscription auto-bills the card on file at t"}],"toolCount":55,"toolsHash":"dd8590b387cff646b52dc8bc4a801dcd4f40543edcd6577f2fa48d638a69f63d","serverName":"AgentCard","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T17:28:08.717Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":193,"error":null,"detail":{"tools":[{"name":"buy","description":"Shop and check out, in natural language, across the merchants the user has linked (DoorDash, etc.). Pass the whole ask as `request` — e.g. \"order a caesar salad"},{"name":"surprise_me","description":"Buy the user something totally unexpected and very silly/stupid-fun under a small dollar cap (default $10, hard max $25). Great when the user cannot decide what"},{"name":"get_instructions","description":"Call this FIRST; returns the latest usage guide for shopping with `buy` AND for operating the Agentcard account tools (cards, funding, your own card, KYC, suppo"},{"name":"whoami","description":"Show who you are operating as: the authenticated AgentCard account's email, user id, name, plan, KYC + account status, member-since date, and how this session i"},{"name":"list_cards","description":"The user's wallet: every live card they hold, with IDs, last four digits, expiry, balance, and status, plus `vaultCards`: the user's OWN cards stored in their A"},{"name":"get_card_details","description":"Get decrypted PAN, CVV, expiry, and current balance for a specific card. Use this only when you need to fill in a payment form; prefer get_card_balance if you o"},{"name":"get_card_balance","description":"The live balance of ONE virtual card (the user's overall cash balance is get_balance). Prefer this over get_card_details when you only need to verify available "},{"name":"close_card","description":"Permanently close a virtual card. This is irreversible — the card cannot be reopened. Safe to call on an already-closed card (idempotent). The user's rewards ca"},{"name":"create_card","description":"The one card tool: get the user a virtual debit card for a purchase. Cards are live and charged for real when used. For a FIRST-TIME user it starts by putting t"},{"name":"get_card_preset","description":"Read a card's preset (spend limits, rate limits, allowed categories/merchants, time windows, and surfaces) as a plain-English summary. A card without a preset i"},{"name":"set_card_preset","description":"Update a card's preset. Pass a template name (ai_labs, weekday_meals, cli_only, daily), a saved preset name (from list_presets), a comma-separated template list"},{"name":"allow_card_merchant","description":"Remember a merchant on a card so the next matching charge is allowed even when the card's category or merchant rules would otherwise deny it. One tool call — do"},{"name":"list_presets","description":"List every preset you can use by name: the built-in templates (ai_labs, weekday_meals, cli_only, daily) plus any you've saved yourself, each with a plain-Englis"},{"name":"save_preset","description":"Save your own preset — a named set of rules (spend caps, category/merchant/place/currency/day/hour/program restrictions) you can reuse by name in set_card_prese"},{"name":"delete_preset","description":"Delete a preset you saved (from save_preset). Refuses built-in template names — there's nothing to delete there. Cards already issued keep whatever rules they h"},{"name":"get_wallet_link","description":"The user's hosted wallet, as one shareable URL. Opens their Agentcard wallet in the browser: every card in one place, apply for an Agentcard card (identity veri"},{"name":"list_added_cards","description":"List the user's ADDED cards (their own Visa/Mastercard cards enrolled via create_card's add-card flow — the funding source that charges their own card), with id"},{"name":"remove_added_card","description":"Remove (unenroll) one of the user's added cards. Irreversible for that enrollment: any virtual cards created against it are closed first, then the card is unenr"},{"name":"pause_card","description":"Pause a multi-use card: temporarily blocks ALL new charges (reversible — use resume_card to unblock). Right for \"stop this subscription for now\" or a card the u"},{"name":"resume_card","description":"Resume a paused multi-use card so it accepts charges again. The inverse of pause_card."},{"name":"update_card_limit","description":"Change a multi-use card's total spending limit. Raising it reserves the extra amount from the user's cash balance (top up with add_funds if short); lowering it "},{"name":"get_rewards","description":"Show the user's tokenback: balance, lifetime earned, and recent activity. Tokenback pays tokens (1 token = 1¢ of credit value) on settled card spend. AI cards ("},{"name":"redeem_rewards","description":"Redeem tokenback: the tokens' cash value (1 token = 1¢) lands on the user's rewards card as spending power. The rewards card is permanent and locked to AI-lab m"},{"name":"recommend_card","description":"Ask the vault which of the user's own stored cards earns the most for a purchase (smart purchases). Pass the merchant name, its website when you know it, and th"},{"name":"name_card","description":"Tell the vault which card product one of the user's own stored cards is (e.g. \"Chase Sapphire Preferred\", \"Amex Gold\"), so smart purchases can rank it. Takes a "},{"name":"start_support_chat","description":"Start a new support conversation and send the first message"},{"name":"send_support_message","description":"Send a message in an existing support conversation"},{"name":"read_support_chat","description":"Read the message history of a support conversation"},{"name":"list_pending_approvals","description":"List the user's PENDING approval requests: asks from connected apps (create a card, view full card details, close/pause/resume a card, change a limit) waiting o"},{"name":"approve_request","description":"Resolve a pending approval request (approve or deny) once the USER has decided. Use this after get_card_details or create_card returns a 202 requiring approval,"},{"name":"submit_user_info","description":"Submit the user's phone number and terms acceptance for a virtual card. Call this after create_card returns user_info_required. Do NOT ask the user for occupati"},{"name":"start_kyc","description":"Begin (or resume) identity verification. Verification is CONVERSATIONAL: it starts with a photo of the user's government ID — the backend reads the printed deta"},{"name":"get_kyc_status","description":"Check the user's identity verification (KYC) status. Returns whether they are verified and, if not, the current state plus the conversational next step. Use thi"},{"name":"submit_kyc_document","description":"Submit the user's ID photo for identity verification. Ways in: (a) image data you hold programmatically (e.g. the user sent the photo in this chat and your plat"},{"name":"check_kyc_document","description":"Check the conversational verification state — use after the user uploads their ID via the browser upload link (or any time you need to re-orient). Returns the c"},{"name":"submit_kyc_fields","description":"Submit identity fields for verification: the ones the ID photo didn't carry (listed by missingFields — the tax/ID number always has to be asked since IDs don't "},{"name":"list_transactions","description":"Transactions with amount, merchant, status, and timestamps. Pass card_id for one card's transactions; OMIT it for every card in the account (newest first, each "},{"name":"setup_payment_method","description":"Save a payment method used ONLY to pay for flight bookings (the fare is charged to it via a hold at booking; no virtual card is created for flights). It does NO"},{"name":"get_balance","description":"The user's cash balance: the money that funds new cards. Provisions the balance account on first use. Users add cash with Apple Pay or Google Pay in USD; funds "},{"name":"add_funds","description":"Generate a secure checkout link the user opens to add cash to their own balance (the money that funds new cards) via Apple Pay or Google Pay, in USD. Calling th"},{"name":"start_phone_verification","description":"Send (or re-send) the user's one-time funding verification code (the provider verifies the phone on the user's Agentcard identity, valid 60 days). add_funds alr"},{"name":"verify_phone","description":"Check the one-time code the user received from start_phone_verification. On success the balance is unlocked for funding (the verification stays fresh for 60 day"},{"name":"redeem_code","description":"Redeem a promo code that adds money to the user's cash balance. Each code works once per user; the credit lands in the balance and becomes spendable within a mi"},{"name":"get_plan","description":"Show the user's current subscription plan, card limits, and this month's usage. Call this before create_card when you need the per-card amount cap or remaining "},{"name":"upgrade_plan","description":"Start a paid-plan upgrade. Choose the target plan: 'basic' ($15/mo — 15 cards/month, up to $500 per card) or 'pro' ($100/mo — 50 cards/month, up to $1,000 per c"},{"name":"list_payment_methods","description":"List the saved payment methods (used only to pay for flight bookings, not for cards or adding funds). Returns each method with its id, brand, last 4 digits, and"},{"name":"list_connections","description":"List the third-party apps the user has connected to their Agentcard account via OAuth (e.g. Kilo), including when each was connected and whether it is still act"},{"name":"revoke_connection","description":"Revoke a third-party app's access to the user's Agentcard account. Disconnects the app and invalidates its OAuth tokens; it must reconnect via OAuth to regain a"},{"name":"get_settings","description":"View the user's notification preferences (which email alerts they receive), their default payment source (which card or balance agents charge — check it before "},{"name":"link_account","description":"Link or merge another Agentcard account that belongs to the same person. Use when the user says they already have an account under a DIFFERENT email or phone nu"},{"name":"buy_list_merchants","description":"List merchants available for agent commerce (Rappi, Good Eggs, DoorDash) and whether this user has linked each one. Link a merchant before shopping it."},{"name":"buy_unlink_merchant","description":"Disconnect a merchant — drops the saved session + link. The user must re-link (e.g. hosted connect) before shopping it again."},{"name":"buy_connect","description":"Connect a merchant for shopping. For merchants that need a real login (e.g. DoorDash) this opens a secure hosted browser session and returns a URL the user open"},{"name":"buy_connect_status","description":"Check the status of a hosted merchant login started with buy_connect. Returns linking (still in progress — call again in a few seconds), linked (success — the m"},{"name":"manage_subscription","description":"Manage a recurring meal/grocery SUBSCRIPTION (e.g. Locale) — NOT a one-time purchase, and no payment is taken (the subscription auto-bills the card on file at t"}],"toolCount":55,"toolsHash":"dd8590b387cff646b52dc8bc4a801dcd4f40543edcd6577f2fa48d638a69f63d","serverName":"AgentCard","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T11:25:56.946Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":484,"error":null,"detail":{"tools":[{"name":"buy","description":"Shop and check out, in natural language, across the merchants the user has linked (DoorDash, etc.). Pass the whole ask as `request` — e.g. \"order a caesar salad"},{"name":"surprise_me","description":"Buy the user something totally unexpected and very silly/stupid-fun under a small dollar cap (default $10, hard max $25). Great when the user cannot decide what"},{"name":"get_instructions","description":"Call this FIRST; returns the latest usage guide for shopping with `buy` AND for operating the Agentcard account tools (cards, funding, your own card, KYC, suppo"},{"name":"whoami","description":"Show who you are operating as: the authenticated AgentCard account's email, user id, name, plan, KYC + account status, member-since date, and how this session i"},{"name":"list_cards","description":"The user's wallet: every live card they hold, with IDs, last four digits, expiry, balance, and status, plus `vaultCards`: the user's OWN cards stored in their A"},{"name":"get_card_details","description":"Get decrypted PAN, CVV, expiry, and current balance for a specific card. Use this only when you need to fill in a payment form; prefer get_card_balance if you o"},{"name":"get_card_balance","description":"The live balance of ONE virtual card (the user's overall cash balance is get_balance). Prefer this over get_card_details when you only need to verify available "},{"name":"close_card","description":"Permanently close a virtual card. This is irreversible — the card cannot be reopened. Safe to call on an already-closed card (idempotent). The user's rewards ca"},{"name":"create_card","description":"The one card tool: get the user a virtual debit card for a purchase. Cards are live and charged for real when used. For a FIRST-TIME user it starts by putting t"},{"name":"get_card_preset","description":"Read a card's preset (spend limits, rate limits, allowed categories/merchants, time windows, and surfaces) as a plain-English summary. A card without a preset i"},{"name":"set_card_preset","description":"Update a card's preset. Pass a template name (ai_labs, weekday_meals, cli_only, daily), a saved preset name (from list_presets), a comma-separated template list"},{"name":"allow_card_merchant","description":"Remember a merchant on a card so the next matching charge is allowed even when the card's category or merchant rules would otherwise deny it. One tool call — do"},{"name":"list_presets","description":"List every preset you can use by name: the built-in templates (ai_labs, weekday_meals, cli_only, daily) plus any you've saved yourself, each with a plain-Englis"},{"name":"save_preset","description":"Save your own preset — a named set of rules (spend caps, category/merchant/place/currency/day/hour/program restrictions) you can reuse by name in set_card_prese"},{"name":"delete_preset","description":"Delete a preset you saved (from save_preset). Refuses built-in template names — there's nothing to delete there. Cards already issued keep whatever rules they h"},{"name":"get_wallet_link","description":"The user's hosted wallet, as one shareable URL. Opens their Agentcard wallet in the browser: every card in one place, apply for an Agentcard card (identity veri"},{"name":"list_added_cards","description":"List the user's ADDED cards (their own Visa/Mastercard cards enrolled via create_card's add-card flow — the funding source that charges their own card), with id"},{"name":"remove_added_card","description":"Remove (unenroll) one of the user's added cards. Irreversible for that enrollment: any virtual cards created against it are closed first, then the card is unenr"},{"name":"pause_card","description":"Pause a multi-use card: temporarily blocks ALL new charges (reversible — use resume_card to unblock). Right for \"stop this subscription for now\" or a card the u"},{"name":"resume_card","description":"Resume a paused multi-use card so it accepts charges again. The inverse of pause_card."},{"name":"update_card_limit","description":"Change a multi-use card's total spending limit. Raising it reserves the extra amount from the user's cash balance (top up with add_funds if short); lowering it "},{"name":"get_rewards","description":"Show the user's tokenback: balance, lifetime earned, and recent activity. Tokenback pays tokens (1 token = 1¢ of credit value) on settled card spend. AI cards ("},{"name":"redeem_rewards","description":"Redeem tokenback: the tokens' cash value (1 token = 1¢) lands on the user's rewards card as spending power. The rewards card is permanent and locked to AI-lab m"},{"name":"recommend_card","description":"Ask the vault which of the user's own stored cards earns the most for a purchase (smart purchases). Pass the merchant name, its website when you know it, and th"},{"name":"name_card","description":"Tell the vault which card product one of the user's own stored cards is (e.g. \"Chase Sapphire Preferred\", \"Amex Gold\"), so smart purchases can rank it. Takes a "},{"name":"start_support_chat","description":"Start a new support conversation and send the first message"},{"name":"send_support_message","description":"Send a message in an existing support conversation"},{"name":"read_support_chat","description":"Read the message history of a support conversation"},{"name":"list_pending_approvals","description":"List the user's PENDING approval requests: asks from connected apps (create a card, view full card details, close/pause/resume a card, change a limit) waiting o"},{"name":"approve_request","description":"Resolve a pending approval request (approve or deny) once the USER has decided. Use this after get_card_details or create_card returns a 202 requiring approval,"},{"name":"submit_user_info","description":"Submit the user's phone number and terms acceptance for a virtual card. Call this after create_card returns user_info_required. Do NOT ask the user for occupati"},{"name":"start_kyc","description":"Begin (or resume) identity verification. Verification is CONVERSATIONAL: it starts with a photo of the user's government ID — the backend reads the printed deta"},{"name":"get_kyc_status","description":"Check the user's identity verification (KYC) status. Returns whether they are verified and, if not, the current state plus the conversational next step. Use thi"},{"name":"submit_kyc_document","description":"Submit the user's ID photo for identity verification. Ways in: (a) image data you hold programmatically (e.g. the user sent the photo in this chat and your plat"},{"name":"check_kyc_document","description":"Check the conversational verification state — use after the user uploads their ID via the browser upload link (or any time you need to re-orient). Returns the c"},{"name":"submit_kyc_fields","description":"Submit identity fields for verification: the ones the ID photo didn't carry (listed by missingFields — the tax/ID number always has to be asked since IDs don't "},{"name":"list_transactions","description":"Transactions with amount, merchant, status, and timestamps. Pass card_id for one card's transactions; OMIT it for every card in the account (newest first, each "},{"name":"setup_payment_method","description":"Save a payment method used ONLY to pay for flight bookings (the fare is charged to it via a hold at booking; no virtual card is created for flights). It does NO"},{"name":"get_balance","description":"The user's cash balance: the money that funds new cards. Provisions the balance account on first use. Users add cash with Apple Pay or Google Pay in USD; funds "},{"name":"add_funds","description":"Generate a secure checkout link the user opens to add cash to their own balance (the money that funds new cards) via Apple Pay or Google Pay, in USD. Calling th"},{"name":"start_phone_verification","description":"Send (or re-send) the user's one-time funding verification code (the provider verifies the phone on the user's Agentcard identity, valid 60 days). add_funds alr"},{"name":"verify_phone","description":"Check the one-time code the user received from start_phone_verification. On success the balance is unlocked for funding (the verification stays fresh for 60 day"},{"name":"redeem_code","description":"Redeem a promo code that adds money to the user's cash balance. Each code works once per user; the credit lands in the balance and becomes spendable within a mi"},{"name":"get_plan","description":"Show the user's current subscription plan, card limits, and this month's usage. Call this before create_card when you need the per-card amount cap or remaining "},{"name":"upgrade_plan","description":"Start a paid-plan upgrade. Choose the target plan: 'basic' ($15/mo — 15 cards/month, up to $500 per card) or 'pro' ($100/mo — 50 cards/month, up to $1,000 per c"},{"name":"list_payment_methods","description":"List the saved payment methods (used only to pay for flight bookings, not for cards or adding funds). Returns each method with its id, brand, last 4 digits, and"},{"name":"list_connections","description":"List the third-party apps the user has connected to their Agentcard account via OAuth (e.g. Kilo), including when each was connected and whether it is still act"},{"name":"revoke_connection","description":"Revoke a third-party app's access to the user's Agentcard account. Disconnects the app and invalidates its OAuth tokens; it must reconnect via OAuth to regain a"},{"name":"get_settings","description":"View the user's notification preferences (which email alerts they receive), their default payment source (which card or balance agents charge — check it before "},{"name":"link_account","description":"Link or merge another Agentcard account that belongs to the same person. Use when the user says they already have an account under a DIFFERENT email or phone nu"},{"name":"buy_list_merchants","description":"List merchants available for agent commerce (Rappi, Good Eggs, DoorDash) and whether this user has linked each one. Link a merchant before shopping it."},{"name":"buy_unlink_merchant","description":"Disconnect a merchant — drops the saved session + link. The user must re-link (e.g. hosted connect) before shopping it again."},{"name":"buy_connect","description":"Connect a merchant for shopping. For merchants that need a real login (e.g. DoorDash) this opens a secure hosted browser session and returns a URL the user open"},{"name":"buy_connect_status","description":"Check the status of a hosted merchant login started with buy_connect. Returns linking (still in progress — call again in a few seconds), linked (success — the m"},{"name":"manage_subscription","description":"Manage a recurring meal/grocery SUBSCRIPTION (e.g. Locale) — NOT a one-time purchase, and no payment is taken (the subscription auto-bills the card on file at t"}],"toolCount":55,"toolsHash":"dd8590b387cff646b52dc8bc4a801dcd4f40543edcd6577f2fa48d638a69f63d","serverName":"AgentCard","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T04:28:54.484Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":165,"error":null,"detail":{"tools":[{"name":"buy","description":"Shop and check out, in natural language, across the merchants the user has linked (DoorDash, etc.). Pass the whole ask as `request` — e.g. \"order a caesar salad"},{"name":"surprise_me","description":"Buy the user something totally unexpected and very silly/stupid-fun under a small dollar cap (default $10, hard max $25). Great when the user cannot decide what"},{"name":"get_instructions","description":"Call this FIRST; returns the latest usage guide for shopping with `buy` AND for operating the Agentcard account tools (cards, funding, your own card, KYC, suppo"},{"name":"whoami","description":"Show who you are operating as: the authenticated AgentCard account's email, user id, name, plan, KYC + account status, member-since date, and how this session i"},{"name":"list_cards","description":"The user's wallet: every live card they hold, with IDs, last four digits, expiry, balance, and status, plus `vaultCards`: the user's OWN cards stored in their A"},{"name":"get_card_details","description":"Get decrypted PAN, CVV, expiry, and current balance for a specific card. Use this only when you need to fill in a payment form; prefer get_card_balance if you o"},{"name":"get_card_balance","description":"The live balance of ONE virtual card (the user's overall cash balance is get_balance). Prefer this over get_card_details when you only need to verify available "},{"name":"close_card","description":"Permanently close a virtual card. This is irreversible — the card cannot be reopened. Safe to call on an already-closed card (idempotent). The user's rewards ca"},{"name":"create_card","description":"The one card tool: get the user a virtual debit card for a purchase. Cards are live and charged for real when used. For a FIRST-TIME user it starts by putting t"},{"name":"get_card_preset","description":"Read a card's preset (spend limits, rate limits, allowed categories/merchants, time windows, and surfaces) as a plain-English summary. A card without a preset i"},{"name":"set_card_preset","description":"Update a card's preset. Pass a template name (ai_labs, weekday_meals, cli_only, daily), a saved preset name (from list_presets), a comma-separated template list"},{"name":"allow_card_merchant","description":"Remember a merchant on a card so the next matching charge is allowed even when the card's category or merchant rules would otherwise deny it. One tool call — do"},{"name":"list_presets","description":"List every preset you can use by name: the built-in templates (ai_labs, weekday_meals, cli_only, daily) plus any you've saved yourself, each with a plain-Englis"},{"name":"save_preset","description":"Save your own preset — a named set of rules (spend caps, category/merchant/place/currency/day/hour/program restrictions) you can reuse by name in set_card_prese"},{"name":"delete_preset","description":"Delete a preset you saved (from save_preset). Refuses built-in template names — there's nothing to delete there. Cards already issued keep whatever rules they h"},{"name":"get_wallet_link","description":"The user's hosted wallet, as one shareable URL. Opens their Agentcard wallet in the browser: every card in one place, apply for an Agentcard card (identity veri"},{"name":"list_added_cards","description":"List the user's ADDED cards (their own Visa/Mastercard cards enrolled via create_card's add-card flow — the funding source that charges their own card), with id"},{"name":"remove_added_card","description":"Remove (unenroll) one of the user's added cards. Irreversible for that enrollment: any virtual cards created against it are closed first, then the card is unenr"},{"name":"pause_card","description":"Pause a multi-use card: temporarily blocks ALL new charges (reversible — use resume_card to unblock). Right for \"stop this subscription for now\" or a card the u"},{"name":"resume_card","description":"Resume a paused multi-use card so it accepts charges again. The inverse of pause_card."},{"name":"update_card_limit","description":"Change a multi-use card's total spending limit. Raising it reserves the extra amount from the user's cash balance (top up with add_funds if short); lowering it "},{"name":"get_rewards","description":"Show the user's tokenback: balance, lifetime earned, and recent activity. Tokenback pays tokens (1 token = 1¢ of credit value) on settled card spend. AI cards ("},{"name":"redeem_rewards","description":"Redeem tokenback: the tokens' cash value (1 token = 1¢) lands on the user's rewards card as spending power. The rewards card is permanent and locked to AI-lab m"},{"name":"recommend_card","description":"Ask the vault which of the user's own stored cards earns the most for a purchase (smart purchases). Pass the merchant name, its website when you know it, and th"},{"name":"name_card","description":"Tell the vault which card product one of the user's own stored cards is (e.g. \"Chase Sapphire Preferred\", \"Amex Gold\"), so smart purchases can rank it. Takes a "},{"name":"start_support_chat","description":"Start a new support conversation and send the first message"},{"name":"send_support_message","description":"Send a message in an existing support conversation"},{"name":"read_support_chat","description":"Read the message history of a support conversation"},{"name":"list_pending_approvals","description":"List the user's PENDING approval requests: asks from connected apps (create a card, view full card details, close/pause/resume a card, change a limit) waiting o"},{"name":"approve_request","description":"Resolve a pending approval request (approve or deny) once the USER has decided. Use this after get_card_details or create_card returns a 202 requiring approval,"},{"name":"submit_user_info","description":"Submit the user's phone number and terms acceptance for a virtual card. Call this after create_card returns user_info_required. Do NOT ask the user for occupati"},{"name":"start_kyc","description":"Begin (or resume) identity verification. Verification is CONVERSATIONAL: it starts with a photo of the user's government ID — the backend reads the printed deta"},{"name":"get_kyc_status","description":"Check the user's identity verification (KYC) status. Returns whether they are verified and, if not, the current state plus the conversational next step. Use thi"},{"name":"submit_kyc_document","description":"Submit the user's ID photo for identity verification. Ways in: (a) image data you hold programmatically (e.g. the user sent the photo in this chat and your plat"},{"name":"check_kyc_document","description":"Check the conversational verification state — use after the user uploads their ID via the browser upload link (or any time you need to re-orient). Returns the c"},{"name":"submit_kyc_fields","description":"Submit identity fields for verification: the ones the ID photo didn't carry (listed by missingFields — the tax/ID number always has to be asked since IDs don't "},{"name":"list_transactions","description":"Transactions with amount, merchant, status, and timestamps. Pass card_id for one card's transactions; OMIT it for every card in the account (newest first, each "},{"name":"setup_payment_method","description":"Save a payment method used ONLY to pay for flight bookings (the fare is charged to it via a hold at booking; no virtual card is created for flights). It does NO"},{"name":"get_balance","description":"The user's cash balance: the money that funds new cards. Provisions the balance account on first use. Users add cash with Apple Pay or Google Pay in USD; funds "},{"name":"add_funds","description":"Generate a secure checkout link the user opens to add cash to their own balance (the money that funds new cards) via Apple Pay or Google Pay, in USD. Calling th"},{"name":"start_phone_verification","description":"Send (or re-send) the user's one-time funding verification code (the provider verifies the phone on the user's Agentcard identity, valid 60 days). add_funds alr"},{"name":"verify_phone","description":"Check the one-time code the user received from start_phone_verification. On success the balance is unlocked for funding (the verification stays fresh for 60 day"},{"name":"redeem_code","description":"Redeem a promo code that adds money to the user's cash balance. Each code works once per user; the credit lands in the balance and becomes spendable within a mi"},{"name":"get_plan","description":"Show the user's current subscription plan, card limits, and this month's usage. Call this before create_card when you need the per-card amount cap or remaining "},{"name":"upgrade_plan","description":"Start a paid-plan upgrade. Choose the target plan: 'basic' ($15/mo — 15 cards/month, up to $500 per card) or 'pro' ($100/mo — 50 cards/month, up to $1,000 per c"},{"name":"list_payment_methods","description":"List the saved payment methods (used only to pay for flight bookings, not for cards or adding funds). Returns each method with its id, brand, last 4 digits, and"},{"name":"list_connections","description":"List the third-party apps the user has connected to their Agentcard account via OAuth (e.g. Kilo), including when each was connected and whether it is still act"},{"name":"revoke_connection","description":"Revoke a third-party app's access to the user's Agentcard account. Disconnects the app and invalidates its OAuth tokens; it must reconnect via OAuth to regain a"},{"name":"get_settings","description":"View the user's notification preferences (which email alerts they receive), their default payment source (which card or balance agents charge — check it before "},{"name":"link_account","description":"Link or merge another Agentcard account that belongs to the same person. Use when the user says they already have an account under a DIFFERENT email or phone nu"},{"name":"buy_list_merchants","description":"List merchants available for agent commerce (Rappi, Good Eggs, DoorDash) and whether this user has linked each one. Link a merchant before shopping it."},{"name":"buy_unlink_merchant","description":"Disconnect a merchant — drops the saved session + link. The user must re-link (e.g. hosted connect) before shopping it again."},{"name":"buy_connect","description":"Connect a merchant for shopping. For merchants that need a real login (e.g. DoorDash) this opens a secure hosted browser session and returns a URL the user open"},{"name":"buy_connect_status","description":"Check the status of a hosted merchant login started with buy_connect. Returns linking (still in progress — call again in a few seconds), linked (success — the m"},{"name":"manage_subscription","description":"Manage a recurring meal/grocery SUBSCRIPTION (e.g. Locale) — NOT a one-time purchase, and no payment is taken (the subscription auto-bills the card on file at t"}],"toolCount":55,"toolsHash":"dd8590b387cff646b52dc8bc4a801dcd4f40543edcd6577f2fa48d638a69f63d","serverName":"AgentCard","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T22:24:01.740Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":178,"error":null,"detail":{"tools":[{"name":"buy","description":"Shop and check out, in natural language, across the merchants the user has linked (DoorDash, etc.). Pass the whole ask as `request` — e.g. \"order a caesar salad"},{"name":"surprise_me","description":"Buy the user something totally unexpected and very silly/stupid-fun under a small dollar cap (default $10, hard max $25). Great when the user cannot decide what"},{"name":"get_instructions","description":"Call this FIRST; returns the latest usage guide for shopping with `buy` AND for operating the Agentcard account tools (cards, funding, your own card, KYC, suppo"},{"name":"whoami","description":"Show who you are operating as: the authenticated AgentCard account's email, user id, name, plan, KYC + account status, member-since date, and how this session i"},{"name":"list_cards","description":"The user's wallet: every live card they hold, with IDs, last four digits, expiry, balance, and status, plus `vaultCards`: the user's OWN cards stored in their A"},{"name":"get_card_details","description":"Get decrypted PAN, CVV, expiry, and current balance for a specific card. Use this only when you need to fill in a payment form; prefer get_card_balance if you o"},{"name":"get_card_balance","description":"The live balance of ONE virtual card (the user's overall cash balance is get_balance). Prefer this over get_card_details when you only need to verify available "},{"name":"close_card","description":"Permanently close a virtual card. This is irreversible — the card cannot be reopened. Safe to call on an already-closed card (idempotent). The user's rewards ca"},{"name":"create_card","description":"The one card tool: get the user a virtual debit card for a purchase. Cards are live and charged for real when used. For a FIRST-TIME user it starts by putting t"},{"name":"get_card_preset","description":"Read a card's preset (spend limits, rate limits, allowed categories/merchants, time windows, and surfaces) as a plain-English summary. A card without a preset i"},{"name":"set_card_preset","description":"Update a card's preset. Pass a template name (ai_labs, weekday_meals, cli_only, daily), a saved preset name (from list_presets), a comma-separated template list"},{"name":"allow_card_merchant","description":"Remember a merchant on a card so the next matching charge is allowed even when the card's category or merchant rules would otherwise deny it. One tool call — do"},{"name":"list_presets","description":"List every preset you can use by name: the built-in templates (ai_labs, weekday_meals, cli_only, daily) plus any you've saved yourself, each with a plain-Englis"},{"name":"save_preset","description":"Save your own preset — a named set of rules (spend caps, category/merchant/place/currency/day/hour/program restrictions) you can reuse by name in set_card_prese"},{"name":"delete_preset","description":"Delete a preset you saved (from save_preset). Refuses built-in template names — there's nothing to delete there. Cards already issued keep whatever rules they h"},{"name":"get_wallet_link","description":"The user's hosted wallet, as one shareable URL. Opens their Agentcard wallet in the browser: every card in one place, apply for an Agentcard card (identity veri"},{"name":"list_added_cards","description":"List the user's ADDED cards (their own Visa/Mastercard cards enrolled via create_card's add-card flow — the funding source that charges their own card), with id"},{"name":"remove_added_card","description":"Remove (unenroll) one of the user's added cards. Irreversible for that enrollment: any virtual cards created against it are closed first, then the card is unenr"},{"name":"pause_card","description":"Pause a multi-use card: temporarily blocks ALL new charges (reversible — use resume_card to unblock). Right for \"stop this subscription for now\" or a card the u"},{"name":"resume_card","description":"Resume a paused multi-use card so it accepts charges again. The inverse of pause_card."},{"name":"update_card_limit","description":"Change a multi-use card's total spending limit. Raising it reserves the extra amount from the user's cash balance (top up with add_funds if short); lowering it "},{"name":"get_rewards","description":"Show the user's tokenback: balance, lifetime earned, and recent activity. Tokenback pays tokens (1 token = 1¢ of credit value) on settled card spend. AI cards ("},{"name":"redeem_rewards","description":"Redeem tokenback: the tokens' cash value (1 token = 1¢) lands on the user's rewards card as spending power. The rewards card is permanent and locked to AI-lab m"},{"name":"recommend_card","description":"Ask the vault which of the user's own stored cards earns the most for a purchase (smart purchases). Pass the merchant name, its website when you know it, and th"},{"name":"name_card","description":"Tell the vault which card product one of the user's own stored cards is (e.g. \"Chase Sapphire Preferred\", \"Amex Gold\"), so smart purchases can rank it. Takes a "},{"name":"start_support_chat","description":"Start a new support conversation and send the first message"},{"name":"send_support_message","description":"Send a message in an existing support conversation"},{"name":"read_support_chat","description":"Read the message history of a support conversation"},{"name":"list_pending_approvals","description":"List the user's PENDING approval requests: asks from connected apps (create a card, view full card details, close/pause/resume a card, change a limit) waiting o"},{"name":"approve_request","description":"Resolve a pending approval request (approve or deny) once the USER has decided. Use this after get_card_details or create_card returns a 202 requiring approval,"},{"name":"submit_user_info","description":"Submit the user's phone number and terms acceptance for a virtual card. Call this after create_card returns user_info_required. Do NOT ask the user for occupati"},{"name":"start_kyc","description":"Begin (or resume) identity verification. Verification is CONVERSATIONAL: it starts with a photo of the user's government ID — the backend reads the printed deta"},{"name":"get_kyc_status","description":"Check the user's identity verification (KYC) status. Returns whether they are verified and, if not, the current state plus the conversational next step. Use thi"},{"name":"submit_kyc_document","description":"Submit the user's ID photo for identity verification. Ways in: (a) image data you hold programmatically (e.g. the user sent the photo in this chat and your plat"},{"name":"check_kyc_document","description":"Check the conversational verification state — use after the user uploads their ID via the browser upload link (or any time you need to re-orient). Returns the c"},{"name":"submit_kyc_fields","description":"Submit identity fields for verification: the ones the ID photo didn't carry (listed by missingFields — the tax/ID number always has to be asked since IDs don't "},{"name":"list_transactions","description":"Transactions with amount, merchant, status, and timestamps. Pass card_id for one card's transactions; OMIT it for every card in the account (newest first, each "},{"name":"setup_payment_method","description":"Save a payment method used ONLY to pay for flight bookings (the fare is charged to it via a hold at booking; no virtual card is created for flights). It does NO"},{"name":"get_balance","description":"The user's cash balance: the money that funds new cards. Provisions the balance account on first use. Users add cash with Apple Pay or Google Pay in USD; funds "},{"name":"add_funds","description":"Generate a secure checkout link the user opens to add cash to their own balance (the money that funds new cards) via Apple Pay or Google Pay, in USD. Calling th"},{"name":"start_phone_verification","description":"Send (or re-send) the user's one-time funding verification code (the provider verifies the phone on the user's Agentcard identity, valid 60 days). add_funds alr"},{"name":"verify_phone","description":"Check the one-time code the user received from start_phone_verification. On success the balance is unlocked for funding (the verification stays fresh for 60 day"},{"name":"redeem_code","description":"Redeem a promo code that adds money to the user's cash balance. Each code works once per user; the credit lands in the balance and becomes spendable within a mi"},{"name":"get_plan","description":"Show the user's current subscription plan, card limits, and this month's usage. Call this before create_card when you need the per-card amount cap or remaining "},{"name":"upgrade_plan","description":"Start a paid-plan upgrade. Choose the target plan: 'basic' ($15/mo — 15 cards/month, up to $500 per card) or 'pro' ($100/mo — 50 cards/month, up to $1,000 per c"},{"name":"list_payment_methods","description":"List the saved payment methods (used only to pay for flight bookings, not for cards or adding funds). Returns each method with its id, brand, last 4 digits, and"},{"name":"list_connections","description":"List the third-party apps the user has connected to their Agentcard account via OAuth (e.g. Kilo), including when each was connected and whether it is still act"},{"name":"revoke_connection","description":"Revoke a third-party app's access to the user's Agentcard account. Disconnects the app and invalidates its OAuth tokens; it must reconnect via OAuth to regain a"},{"name":"get_settings","description":"View the user's notification preferences (which email alerts they receive), their default payment source (which card or balance agents charge — check it before "},{"name":"link_account","description":"Link or merge another Agentcard account that belongs to the same person. Use when the user says they already have an account under a DIFFERENT email or phone nu"},{"name":"buy_list_merchants","description":"List merchants available for agent commerce (Rappi, Good Eggs, DoorDash) and whether this user has linked each one. Link a merchant before shopping it."},{"name":"buy_unlink_merchant","description":"Disconnect a merchant — drops the saved session + link. The user must re-link (e.g. hosted connect) before shopping it again."},{"name":"buy_connect","description":"Connect a merchant for shopping. For merchants that need a real login (e.g. DoorDash) this opens a secure hosted browser session and returns a URL the user open"},{"name":"buy_connect_status","description":"Check the status of a hosted merchant login started with buy_connect. Returns linking (still in progress — call again in a few seconds), linked (success — the m"},{"name":"manage_subscription","description":"Manage a recurring meal/grocery SUBSCRIPTION (e.g. Locale) — NOT a one-time purchase, and no payment is taken (the subscription auto-bills the card on file at t"}],"toolCount":55,"toolsHash":"dd8590b387cff646b52dc8bc4a801dcd4f40543edcd6577f2fa48d638a69f63d","serverName":"AgentCard","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T15:22:33.601Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":165,"error":null,"detail":{"tools":[{"name":"buy","description":"Shop and check out, in natural language, across the merchants the user has linked (DoorDash, etc.). Pass the whole ask as `request` — e.g. \"order a caesar salad"},{"name":"surprise_me","description":"Buy the user something totally unexpected and very silly/stupid-fun under a small dollar cap (default $10, hard max $25). Great when the user cannot decide what"},{"name":"get_instructions","description":"Call this FIRST; returns the latest usage guide for shopping with `buy` AND for operating the Agentcard account tools (cards, funding, your own card, KYC, suppo"},{"name":"whoami","description":"Show who you are operating as: the authenticated AgentCard account's email, user id, name, plan, KYC + account status, member-since date, and how this session i"},{"name":"list_cards","description":"The user's wallet: every live card they hold, with IDs, last four digits, expiry, balance, and status, plus `vaultCards`: the user's OWN cards stored in their A"},{"name":"get_card_details","description":"Get decrypted PAN, CVV, expiry, and current balance for a specific card. Use this only when you need to fill in a payment form; prefer get_card_balance if you o"},{"name":"get_card_balance","description":"The live balance of ONE virtual card (the user's overall cash balance is get_balance). Prefer this over get_card_details when you only need to verify available "},{"name":"close_card","description":"Permanently close a virtual card. This is irreversible — the card cannot be reopened. Safe to call on an already-closed card (idempotent). The user's rewards ca"},{"name":"create_card","description":"The one card tool: get the user a virtual debit card for a purchase. Cards are live and charged for real when used. For a FIRST-TIME user it starts by putting t"},{"name":"get_card_preset","description":"Read a card's preset (spend limits, rate limits, allowed categories/merchants, time windows, and surfaces) as a plain-English summary. A card without a preset i"},{"name":"set_card_preset","description":"Update a card's preset. Pass a template name (ai_labs, weekday_meals, cli_only, daily), a saved preset name (from list_presets), a comma-separated template list"},{"name":"allow_card_merchant","description":"Remember a merchant on a card so the next matching charge is allowed even when the card's category or merchant rules would otherwise deny it. One tool call — do"},{"name":"list_presets","description":"List every preset you can use by name: the built-in templates (ai_labs, weekday_meals, cli_only, daily) plus any you've saved yourself, each with a plain-Englis"},{"name":"save_preset","description":"Save your own preset — a named set of rules (spend caps, category/merchant/place/currency/day/hour/program restrictions) you can reuse by name in set_card_prese"},{"name":"delete_preset","description":"Delete a preset you saved (from save_preset). Refuses built-in template names — there's nothing to delete there. Cards already issued keep whatever rules they h"},{"name":"get_wallet_link","description":"The user's hosted wallet, as one shareable URL. Opens their Agentcard wallet in the browser: every card in one place, apply for an Agentcard card (identity veri"},{"name":"list_added_cards","description":"List the user's ADDED cards (their own Visa/Mastercard cards enrolled via create_card's add-card flow — the funding source that charges their own card), with id"},{"name":"remove_added_card","description":"Remove (unenroll) one of the user's added cards. Irreversible for that enrollment: any virtual cards created against it are closed first, then the card is unenr"},{"name":"pause_card","description":"Pause a multi-use card: temporarily blocks ALL new charges (reversible — use resume_card to unblock). Right for \"stop this subscription for now\" or a card the u"},{"name":"resume_card","description":"Resume a paused multi-use card so it accepts charges again. The inverse of pause_card."},{"name":"update_card_limit","description":"Change a multi-use card's total spending limit. Raising it reserves the extra amount from the user's cash balance (top up with add_funds if short); lowering it "},{"name":"get_rewards","description":"Show the user's tokenback: balance, lifetime earned, and recent activity. Tokenback pays tokens (1 token = 1¢ of credit value) on settled card spend. AI cards ("},{"name":"redeem_rewards","description":"Redeem tokenback: the tokens' cash value (1 token = 1¢) lands on the user's rewards card as spending power. The rewards card is permanent and locked to AI-lab m"},{"name":"recommend_card","description":"Ask the vault which of the user's own stored cards earns the most for a purchase (smart purchases). Pass the merchant name, its website when you know it, and th"},{"name":"name_card","description":"Tell the vault which card product one of the user's own stored cards is (e.g. \"Chase Sapphire Preferred\", \"Amex Gold\"), so smart purchases can rank it. Takes a "},{"name":"start_support_chat","description":"Start a new support conversation and send the first message"},{"name":"send_support_message","description":"Send a message in an existing support conversation"},{"name":"read_support_chat","description":"Read the message history of a support conversation"},{"name":"list_pending_approvals","description":"List the user's PENDING approval requests: asks from connected apps (create a card, view full card details, close/pause/resume a card, change a limit) waiting o"},{"name":"approve_request","description":"Resolve a pending approval request (approve or deny) once the USER has decided. Use this after get_card_details or create_card returns a 202 requiring approval,"},{"name":"submit_user_info","description":"Submit the user's phone number and terms acceptance for a virtual card. Call this after create_card returns user_info_required. Do NOT ask the user for occupati"},{"name":"start_kyc","description":"Begin (or resume) identity verification. Verification is CONVERSATIONAL: it starts with a photo of the user's government ID — the backend reads the printed deta"},{"name":"get_kyc_status","description":"Check the user's identity verification (KYC) status. Returns whether they are verified and, if not, the current state plus the conversational next step. Use thi"},{"name":"submit_kyc_document","description":"Submit the user's ID photo for identity verification. Ways in: (a) image data you hold programmatically (e.g. the user sent the photo in this chat and your plat"},{"name":"check_kyc_document","description":"Check the conversational verification state — use after the user uploads their ID via the browser upload link (or any time you need to re-orient). Returns the c"},{"name":"submit_kyc_fields","description":"Submit identity fields for verification: the ones the ID photo didn't carry (listed by missingFields — the tax/ID number always has to be asked since IDs don't "},{"name":"list_transactions","description":"Transactions with amount, merchant, status, and timestamps. Pass card_id for one card's transactions; OMIT it for every card in the account (newest first, each "},{"name":"setup_payment_method","description":"Save a payment method used ONLY to pay for flight bookings (the fare is charged to it via a hold at booking; no virtual card is created for flights). It does NO"},{"name":"get_balance","description":"The user's cash balance: the money that funds new cards. Provisions the balance account on first use. Users add cash with Apple Pay or Google Pay in USD; funds "},{"name":"add_funds","description":"Generate a secure checkout link the user opens to add cash to their own balance (the money that funds new cards) via Apple Pay or Google Pay, in USD. Calling th"},{"name":"start_phone_verification","description":"Send (or re-send) the user's one-time funding verification code (the provider verifies the phone on the user's Agentcard identity, valid 60 days). add_funds alr"},{"name":"verify_phone","description":"Check the one-time code the user received from start_phone_verification. On success the balance is unlocked for funding (the verification stays fresh for 60 day"},{"name":"redeem_code","description":"Redeem a promo code that adds money to the user's cash balance. Each code works once per user; the credit lands in the balance and becomes spendable within a mi"},{"name":"get_plan","description":"Show the user's current subscription plan, card limits, and this month's usage. Call this before create_card when you need the per-card amount cap or remaining "},{"name":"upgrade_plan","description":"Start a paid-plan upgrade. Choose the target plan: 'basic' ($15/mo — 15 cards/month, up to $500 per card) or 'pro' ($100/mo — 50 cards/month, up to $1,000 per c"},{"name":"list_payment_methods","description":"List the saved payment methods (used only to pay for flight bookings, not for cards or adding funds). Returns each method with its id, brand, last 4 digits, and"},{"name":"list_connections","description":"List the third-party apps the user has connected to their Agentcard account via OAuth (e.g. Kilo), including when each was connected and whether it is still act"},{"name":"revoke_connection","description":"Revoke a third-party app's access to the user's Agentcard account. Disconnects the app and invalidates its OAuth tokens; it must reconnect via OAuth to regain a"},{"name":"get_settings","description":"View the user's notification preferences (which email alerts they receive), their default payment source (which card or balance agents charge — check it before "},{"name":"link_account","description":"Link or merge another Agentcard account that belongs to the same person. Use when the user says they already have an account under a DIFFERENT email or phone nu"},{"name":"buy_list_merchants","description":"List merchants available for agent commerce (Rappi, Good Eggs, DoorDash) and whether this user has linked each one. Link a merchant before shopping it."},{"name":"buy_unlink_merchant","description":"Disconnect a merchant — drops the saved session + link. The user must re-link (e.g. hosted connect) before shopping it again."},{"name":"buy_connect","description":"Connect a merchant for shopping. For merchants that need a real login (e.g. DoorDash) this opens a secure hosted browser session and returns a URL the user open"},{"name":"buy_connect_status","description":"Check the status of a hosted merchant login started with buy_connect. Returns linking (still in progress — call again in a few seconds), linked (success — the m"},{"name":"manage_subscription","description":"Manage a recurring meal/grocery SUBSCRIPTION (e.g. Locale) — NOT a one-time purchase, and no payment is taken (the subscription auto-bills the card on file at t"}],"toolCount":55,"toolsHash":"dd8590b387cff646b52dc8bc4a801dcd4f40543edcd6577f2fa48d638a69f63d","serverName":"AgentCard","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T08:29:46.583Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":207,"error":null,"detail":{"tools":[{"name":"buy","description":"Shop and check out, in natural language, across the merchants the user has linked (DoorDash, etc.). Pass the whole ask as `request` — e.g. \"order a caesar salad"},{"name":"surprise_me","description":"Buy the user something totally unexpected and very silly/stupid-fun under a small dollar cap (default $10, hard max $25). Great when the user cannot decide what"},{"name":"get_instructions","description":"Call this FIRST; returns the latest usage guide for shopping with `buy` AND for operating the Agentcard account tools (cards, funding, your own card, KYC, suppo"},{"name":"whoami","description":"Show who you are operating as: the authenticated AgentCard account's email, user id, name, plan, KYC + account status, member-since date, and how this session i"},{"name":"list_cards","description":"The user's wallet: every live card they hold, with IDs, last four digits, expiry, balance, and status, plus `vaultCards`: the user's OWN cards stored in their A"},{"name":"get_card_details","description":"Get decrypted PAN, CVV, expiry, and current balance for a specific card. Use this only when you need to fill in a payment form; prefer get_card_balance if you o"},{"name":"get_card_balance","description":"The live balance of ONE virtual card (the user's overall cash balance is get_balance). Prefer this over get_card_details when you only need to verify available "},{"name":"close_card","description":"Permanently close a virtual card. This is irreversible — the card cannot be reopened. Safe to call on an already-closed card (idempotent). The user's rewards ca"},{"name":"create_card","description":"The one card tool: get the user a virtual debit card for a purchase. Cards are live and charged for real when used. For a FIRST-TIME user it starts by putting t"},{"name":"get_card_preset","description":"Read a card's preset (spend limits, rate limits, allowed categories/merchants, time windows, and surfaces) as a plain-English summary. A card without a preset i"},{"name":"set_card_preset","description":"Update a card's preset. Pass a template name (ai_labs, weekday_meals, cli_only, daily), a saved preset name (from list_presets), a comma-separated template list"},{"name":"allow_card_merchant","description":"Remember a merchant on a card so the next matching charge is allowed even when the card's category or merchant rules would otherwise deny it. One tool call — do"},{"name":"list_presets","description":"List every preset you can use by name: the built-in templates (ai_labs, weekday_meals, cli_only, daily) plus any you've saved yourself, each with a plain-Englis"},{"name":"save_preset","description":"Save your own preset — a named set of rules (spend caps, category/merchant/place/currency/day/hour/program restrictions) you can reuse by name in set_card_prese"},{"name":"delete_preset","description":"Delete a preset you saved (from save_preset). Refuses built-in template names — there's nothing to delete there. Cards already issued keep whatever rules they h"},{"name":"get_wallet_link","description":"The user's hosted wallet, as one shareable URL. Opens their Agentcard wallet in the browser: every card in one place, apply for an Agentcard card (identity veri"},{"name":"list_added_cards","description":"List the user's ADDED cards (their own Visa/Mastercard cards enrolled via create_card's add-card flow — the funding source that charges their own card), with id"},{"name":"remove_added_card","description":"Remove (unenroll) one of the user's added cards. Irreversible for that enrollment: any virtual cards created against it are closed first, then the card is unenr"},{"name":"pause_card","description":"Pause a multi-use card: temporarily blocks ALL new charges (reversible — use resume_card to unblock). Right for \"stop this subscription for now\" or a card the u"},{"name":"resume_card","description":"Resume a paused multi-use card so it accepts charges again. The inverse of pause_card."},{"name":"update_card_limit","description":"Change a multi-use card's total spending limit. Raising it reserves the extra amount from the user's cash balance (top up with add_funds if short); lowering it "},{"name":"get_rewards","description":"Show the user's tokenback: balance, lifetime earned, and recent activity. Tokenback pays tokens (1 token = 1¢ of credit value) on settled card spend. AI cards ("},{"name":"redeem_rewards","description":"Redeem tokenback: the tokens' cash value (1 token = 1¢) lands on the user's rewards card as spending power. The rewards card is permanent and locked to AI-lab m"},{"name":"recommend_card","description":"Ask the vault which of the user's own stored cards earns the most for a purchase (smart purchases). Pass the merchant name, its website when you know it, and th"},{"name":"name_card","description":"Tell the vault which card product one of the user's own stored cards is (e.g. \"Chase Sapphire Preferred\", \"Amex Gold\"), so smart purchases can rank it. Takes a "},{"name":"start_support_chat","description":"Start a new support conversation and send the first message"},{"name":"send_support_message","description":"Send a message in an existing support conversation"},{"name":"read_support_chat","description":"Read the message history of a support conversation"},{"name":"list_pending_approvals","description":"List the user's PENDING approval requests: asks from connected apps (create a card, view full card details, close/pause/resume a card, change a limit) waiting o"},{"name":"approve_request","description":"Resolve a pending approval request (approve or deny) once the USER has decided. Use this after get_card_details or create_card returns a 202 requiring approval,"},{"name":"submit_user_info","description":"Submit the user's phone number and terms acceptance for a virtual card. Call this after create_card returns user_info_required. Do NOT ask the user for occupati"},{"name":"start_kyc","description":"Begin (or resume) identity verification. Verification is CONVERSATIONAL: it starts with a photo of the user's government ID — the backend reads the printed deta"},{"name":"get_kyc_status","description":"Check the user's identity verification (KYC) status. Returns whether they are verified and, if not, the current state plus the conversational next step. Use thi"},{"name":"submit_kyc_document","description":"Submit the user's ID photo for identity verification. Ways in: (a) image data you hold programmatically (e.g. the user sent the photo in this chat and your plat"},{"name":"check_kyc_document","description":"Check the conversational verification state — use after the user uploads their ID via the browser upload link (or any time you need to re-orient). Returns the c"},{"name":"submit_kyc_fields","description":"Submit identity fields for verification: the ones the ID photo didn't carry (listed by missingFields — the tax/ID number always has to be asked since IDs don't "},{"name":"list_transactions","description":"Transactions with amount, merchant, status, and timestamps. Pass card_id for one card's transactions; OMIT it for every card in the account (newest first, each "},{"name":"setup_payment_method","description":"Save a payment method used ONLY to pay for flight bookings (the fare is charged to it via a hold at booking; no virtual card is created for flights). It does NO"},{"name":"get_balance","description":"The user's cash balance: the money that funds new cards. Provisions the balance account on first use. Users add cash with Apple Pay or Google Pay in USD; funds "},{"name":"add_funds","description":"Generate a secure checkout link the user opens to add cash to their own balance (the money that funds new cards) via Apple Pay or Google Pay, in USD. Calling th"},{"name":"start_phone_verification","description":"Send (or re-send) the user's one-time funding verification code (the provider verifies the phone on the user's Agentcard identity, valid 60 days). add_funds alr"},{"name":"verify_phone","description":"Check the one-time code the user received from start_phone_verification. On success the balance is unlocked for funding (the verification stays fresh for 60 day"},{"name":"redeem_code","description":"Redeem a promo code that adds money to the user's cash balance. Each code works once per user; the credit lands in the balance and becomes spendable within a mi"},{"name":"get_plan","description":"Show the user's current subscription plan, card limits, and this month's usage. Call this before create_card when you need the per-card amount cap or remaining "},{"name":"upgrade_plan","description":"Start a paid-plan upgrade. Choose the target plan: 'basic' ($15/mo — 15 cards/month, up to $500 per card) or 'pro' ($100/mo — 50 cards/month, up to $1,000 per c"},{"name":"list_payment_methods","description":"List the saved payment methods (used only to pay for flight bookings, not for cards or adding funds). Returns each method with its id, brand, last 4 digits, and"},{"name":"list_connections","description":"List the third-party apps the user has connected to their Agentcard account via OAuth (e.g. Kilo), including when each was connected and whether it is still act"},{"name":"revoke_connection","description":"Revoke a third-party app's access to the user's Agentcard account. Disconnects the app and invalidates its OAuth tokens; it must reconnect via OAuth to regain a"},{"name":"get_settings","description":"View the user's notification preferences (which email alerts they receive), their default payment source (which card or balance agents charge — check it before "},{"name":"link_account","description":"Link or merge another Agentcard account that belongs to the same person. Use when the user says they already have an account under a DIFFERENT email or phone nu"},{"name":"buy_list_merchants","description":"List merchants available for agent commerce (Rappi, Good Eggs, DoorDash) and whether this user has linked each one. Link a merchant before shopping it."},{"name":"buy_unlink_merchant","description":"Disconnect a merchant — drops the saved session + link. The user must re-link (e.g. hosted connect) before shopping it again."},{"name":"buy_connect","description":"Connect a merchant for shopping. For merchants that need a real login (e.g. DoorDash) this opens a secure hosted browser session and returns a URL the user open"},{"name":"buy_connect_status","description":"Check the status of a hosted merchant login started with buy_connect. Returns linking (still in progress — call again in a few seconds), linked (success — the m"},{"name":"manage_subscription","description":"Manage a recurring meal/grocery SUBSCRIPTION (e.g. Locale) — NOT a one-time purchase, and no payment is taken (the subscription auto-bills the card on file at t"}],"toolCount":55,"toolsHash":"dd8590b387cff646b52dc8bc4a801dcd4f40543edcd6577f2fa48d638a69f63d","serverName":"AgentCard","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T02:21:47.880Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":255,"error":null,"detail":{"tools":[{"name":"buy","description":"Shop and check out, in natural language, across the merchants the user has linked (DoorDash, etc.). Pass the whole ask as `request` — e.g. \"order a caesar salad"},{"name":"surprise_me","description":"Buy the user something totally unexpected and very silly/stupid-fun under a small dollar cap (default $10, hard max $25). Great when the user cannot decide what"},{"name":"get_instructions","description":"Call this FIRST; returns the latest usage guide for shopping with `buy` AND for operating the Agentcard account tools (cards, funding, your own card, KYC, suppo"},{"name":"whoami","description":"Show who you are operating as: the authenticated AgentCard account's email, user id, name, plan, KYC + account status, member-since date, and how this session i"},{"name":"list_cards","description":"The user's wallet: every live card they hold, with IDs, last four digits, expiry, balance, and status, plus `vaultCards`: the user's OWN cards stored in their A"},{"name":"get_card_details","description":"Get decrypted PAN, CVV, expiry, and current balance for a specific card. Use this only when you need to fill in a payment form; prefer get_card_balance if you o"},{"name":"get_card_balance","description":"The live balance of ONE virtual card (the user's overall cash balance is get_balance). Prefer this over get_card_details when you only need to verify available "},{"name":"close_card","description":"Permanently close a virtual card. This is irreversible — the card cannot be reopened. Safe to call on an already-closed card (idempotent). The user's rewards ca"},{"name":"create_card","description":"The one card tool: get the user a virtual debit card for a purchase. Cards are live and charged for real when used. For a FIRST-TIME user it starts by putting t"},{"name":"get_card_preset","description":"Read a card's preset (spend limits, rate limits, allowed categories/merchants, time windows, and surfaces) as a plain-English summary. A card without a preset i"},{"name":"set_card_preset","description":"Update a card's preset. Pass a template name (ai_labs, weekday_meals, cli_only, daily), a saved preset name (from list_presets), a comma-separated template list"},{"name":"allow_card_merchant","description":"Remember a merchant on a card so the next matching charge is allowed even when the card's category or merchant rules would otherwise deny it. One tool call — do"},{"name":"list_presets","description":"List every preset you can use by name: the built-in templates (ai_labs, weekday_meals, cli_only, daily) plus any you've saved yourself, each with a plain-Englis"},{"name":"save_preset","description":"Save your own preset — a named set of rules (spend caps, category/merchant/place/currency/day/hour/program restrictions) you can reuse by name in set_card_prese"},{"name":"delete_preset","description":"Delete a preset you saved (from save_preset). Refuses built-in template names — there's nothing to delete there. Cards already issued keep whatever rules they h"},{"name":"get_wallet_link","description":"The user's hosted wallet, as one shareable URL. Opens their Agentcard wallet in the browser: every card in one place, apply for an Agentcard card (identity veri"},{"name":"list_added_cards","description":"List the user's ADDED cards (their own Visa/Mastercard cards enrolled via create_card's add-card flow — the funding source that charges their own card), with id"},{"name":"remove_added_card","description":"Remove (unenroll) one of the user's added cards. Irreversible for that enrollment: any virtual cards created against it are closed first, then the card is unenr"},{"name":"pause_card","description":"Pause a multi-use card: temporarily blocks ALL new charges (reversible — use resume_card to unblock). Right for \"stop this subscription for now\" or a card the u"},{"name":"resume_card","description":"Resume a paused multi-use card so it accepts charges again. The inverse of pause_card."},{"name":"update_card_limit","description":"Change a multi-use card's total spending limit. Raising it reserves the extra amount from the user's cash balance (top up with add_funds if short); lowering it "},{"name":"get_rewards","description":"Show the user's tokenback: balance, lifetime earned, and recent activity. Tokenback pays tokens (1 token = 1¢ of credit value) on settled card spend. AI cards ("},{"name":"redeem_rewards","description":"Redeem tokenback: the tokens' cash value (1 token = 1¢) lands on the user's rewards card as spending power. The rewards card is permanent and locked to AI-lab m"},{"name":"recommend_card","description":"Ask the vault which of the user's own stored cards earns the most for a purchase (smart purchases). Pass the merchant name, its website when you know it, and th"},{"name":"name_card","description":"Tell the vault which card product one of the user's own stored cards is (e.g. \"Chase Sapphire Preferred\", \"Amex Gold\"), so smart purchases can rank it. Takes a "},{"name":"start_support_chat","description":"Start a new support conversation and send the first message"},{"name":"send_support_message","description":"Send a message in an existing support conversation"},{"name":"read_support_chat","description":"Read the message history of a support conversation"},{"name":"list_pending_approvals","description":"List the user's PENDING approval requests: asks from connected apps (create a card, view full card details, close/pause/resume a card, change a limit) waiting o"},{"name":"approve_request","description":"Resolve a pending approval request (approve or deny) once the USER has decided. Use this after get_card_details or create_card returns a 202 requiring approval,"},{"name":"submit_user_info","description":"Submit the user's phone number and terms acceptance for a virtual card. Call this after create_card returns user_info_required. Do NOT ask the user for occupati"},{"name":"start_kyc","description":"Begin (or resume) identity verification. Verification is CONVERSATIONAL: it starts with a photo of the user's government ID — the backend reads the printed deta"},{"name":"get_kyc_status","description":"Check the user's identity verification (KYC) status. Returns whether they are verified and, if not, the current state plus the conversational next step. Use thi"},{"name":"submit_kyc_document","description":"Submit the user's ID photo for identity verification. Ways in: (a) image data you hold programmatically (e.g. the user sent the photo in this chat and your plat"},{"name":"check_kyc_document","description":"Check the conversational verification state — use after the user uploads their ID via the browser upload link (or any time you need to re-orient). Returns the c"},{"name":"submit_kyc_fields","description":"Submit identity fields for verification: the ones the ID photo didn't carry (listed by missingFields — the tax/ID number always has to be asked since IDs don't "},{"name":"list_transactions","description":"Transactions with amount, merchant, status, and timestamps. Pass card_id for one card's transactions; OMIT it for every card in the account (newest first, each "},{"name":"setup_payment_method","description":"Save a payment method used ONLY to pay for flight bookings (the fare is charged to it via a hold at booking; no virtual card is created for flights). It does NO"},{"name":"get_balance","description":"The user's cash balance: the money that funds new cards. Provisions the balance account on first use. Users add cash with Apple Pay or Google Pay in USD; funds "},{"name":"add_funds","description":"Generate a secure checkout link the user opens to add cash to their own balance (the money that funds new cards) via Apple Pay or Google Pay, in USD. Calling th"},{"name":"start_phone_verification","description":"Send (or re-send) the user's one-time funding verification code (the provider verifies the phone on the user's Agentcard identity, valid 60 days). add_funds alr"},{"name":"verify_phone","description":"Check the one-time code the user received from start_phone_verification. On success the balance is unlocked for funding (the verification stays fresh for 60 day"},{"name":"redeem_code","description":"Redeem a promo code that adds money to the user's cash balance. Each code works once per user; the credit lands in the balance and becomes spendable within a mi"},{"name":"get_plan","description":"Show the user's current subscription plan, card limits, and this month's usage. Call this before create_card when you need the per-card amount cap or remaining "},{"name":"upgrade_plan","description":"Start a paid-plan upgrade. Choose the target plan: 'basic' ($15/mo — 15 cards/month, up to $500 per card) or 'pro' ($100/mo — 50 cards/month, up to $1,000 per c"},{"name":"list_payment_methods","description":"List the saved payment methods (used only to pay for flight bookings, not for cards or adding funds). Returns each method with its id, brand, last 4 digits, and"},{"name":"list_connections","description":"List the third-party apps the user has connected to their Agentcard account via OAuth (e.g. Kilo), including when each was connected and whether it is still act"},{"name":"revoke_connection","description":"Revoke a third-party app's access to the user's Agentcard account. Disconnects the app and invalidates its OAuth tokens; it must reconnect via OAuth to regain a"},{"name":"get_settings","description":"View the user's notification preferences (which email alerts they receive), their default payment source (which card or balance agents charge — check it before "},{"name":"link_account","description":"Link or merge another Agentcard account that belongs to the same person. Use when the user says they already have an account under a DIFFERENT email or phone nu"},{"name":"buy_list_merchants","description":"List merchants available for agent commerce (Rappi, Good Eggs, DoorDash) and whether this user has linked each one. Link a merchant before shopping it."},{"name":"buy_unlink_merchant","description":"Disconnect a merchant — drops the saved session + link. The user must re-link (e.g. hosted connect) before shopping it again."},{"name":"buy_connect","description":"Connect a merchant for shopping. For merchants that need a real login (e.g. DoorDash) this opens a secure hosted browser session and returns a URL the user open"},{"name":"buy_connect_status","description":"Check the status of a hosted merchant login started with buy_connect. Returns linking (still in progress — call again in a few seconds), linked (success — the m"},{"name":"manage_subscription","description":"Manage a recurring meal/grocery SUBSCRIPTION (e.g. Locale) — NOT a one-time purchase, and no payment is taken (the subscription auto-bills the card on file at t"}],"toolCount":55,"toolsHash":"dd8590b387cff646b52dc8bc4a801dcd4f40543edcd6577f2fa48d638a69f63d","serverName":"AgentCard","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T19:24:22.730Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":187,"error":null,"detail":{"tools":[{"name":"buy","description":"Shop and check out, in natural language, across the merchants the user has linked (DoorDash, etc.). Pass the whole ask as `request` — e.g. \"order a caesar salad"},{"name":"surprise_me","description":"Buy the user something totally unexpected and very silly/stupid-fun under a small dollar cap (default $10, hard max $25). Great when the user cannot decide what"},{"name":"get_instructions","description":"Call this FIRST; returns the latest usage guide for shopping with `buy` AND for operating the Agentcard account tools (cards, funding, your own card, KYC, suppo"},{"name":"whoami","description":"Show who you are operating as: the authenticated AgentCard account's email, user id, name, plan, KYC + account status, member-since date, and how this session i"},{"name":"list_cards","description":"The user's wallet: every live card they hold, with IDs, last four digits, expiry, balance, and status, plus `vaultCards`: the user's OWN cards stored in their A"},{"name":"get_card_details","description":"Get decrypted PAN, CVV, expiry, and current balance for a specific card. Use this only when you need to fill in a payment form — prefer get_card_balance if you "},{"name":"get_card_balance","description":"The live balance of ONE virtual card (the user's overall cash balance is get_balance). Prefer this over get_card_details when you only need to verify available "},{"name":"close_card","description":"Permanently close a virtual card. This is irreversible — the card cannot be reopened. Safe to call on an already-closed card (idempotent). The user's rewards ca"},{"name":"create_card","description":"The one card tool: get the user a virtual debit card for a purchase. Cards are live and charged for real when used. For a FIRST-TIME user it starts by putting t"},{"name":"get_card_preset","description":"Read a card's preset (spend limits, rate limits, allowed categories/merchants, time windows, and surfaces) as a plain-English summary. A card without a preset i"},{"name":"set_card_preset","description":"Update a card's preset. Pass a template name (ai_labs, weekday_meals, cli_only, daily), a saved preset name (from list_presets), a comma-separated template list"},{"name":"allow_card_merchant","description":"Remember a merchant on a card so the next matching charge is allowed even when the card's category or merchant rules would otherwise deny it. One tool call — do"},{"name":"list_presets","description":"List every preset you can use by name: the built-in templates (ai_labs, weekday_meals, cli_only, daily) plus any you've saved yourself, each with a plain-Englis"},{"name":"save_preset","description":"Save your own preset — a named set of rules (spend caps, category/merchant/place/currency/day/hour/program restrictions) you can reuse by name in set_card_prese"},{"name":"delete_preset","description":"Delete a preset you saved (from save_preset). Refuses built-in template names — there's nothing to delete there. Cards already issued keep whatever rules they h"},{"name":"get_wallet_link","description":"The user's hosted wallet, as one shareable URL. Opens their Agentcard wallet in the browser: every card in one place, apply for an Agentcard card (identity veri"},{"name":"list_added_cards","description":"List the user's ADDED cards (their own Visa/Mastercard cards enrolled via create_card's add-card flow — the funding source that charges their own card), with id"},{"name":"remove_added_card","description":"Remove (unenroll) one of the user's added cards. Irreversible for that enrollment: any virtual cards created against it are closed first, then the card is unenr"},{"name":"pause_card","description":"Pause a multi-use card: temporarily blocks ALL new charges (reversible — use resume_card to unblock). Right for \"stop this subscription for now\" or a card the u"},{"name":"resume_card","description":"Resume a paused multi-use card so it accepts charges again. The inverse of pause_card."},{"name":"update_card_limit","description":"Change a multi-use card's total spending limit. Raising it reserves the extra amount from the user's cash balance (top up with add_funds if short); lowering it "},{"name":"get_rewards","description":"Show the user's tokenback: balance, lifetime earned, and recent activity. Tokenback pays tokens (1 token = 1¢ of credit value) on settled card spend. AI cards ("},{"name":"redeem_rewards","description":"Redeem tokenback: the tokens' cash value (1 token = 1¢) lands on the user's rewards card as spending power. The rewards card is permanent and locked to AI-lab m"},{"name":"recommend_card","description":"Ask the vault which of the user's own stored cards earns the most for a purchase (smart purchases). Pass the merchant name, its website when you know it, and th"},{"name":"name_card","description":"Tell the vault which card product one of the user's own stored cards is (e.g. \"Chase Sapphire Preferred\", \"Amex Gold\"), so smart purchases can rank it. Takes a "},{"name":"start_support_chat","description":"Start a new support conversation and send the first message"},{"name":"send_support_message","description":"Send a message in an existing support conversation"},{"name":"read_support_chat","description":"Read the message history of a support conversation"},{"name":"list_pending_approvals","description":"List the user's PENDING approval requests: asks from connected apps (create a card, view full card details, close/pause/resume a card, change a limit) waiting o"},{"name":"approve_request","description":"Resolve a pending approval request (approve or deny) once the USER has decided. Use this after get_card_details or create_card returns a 202 requiring approval,"},{"name":"submit_user_info","description":"Submit the user's phone number and terms acceptance for a virtual card. Call this after create_card returns user_info_required. Do NOT ask the user for occupati"},{"name":"start_kyc","description":"Begin (or resume) identity verification. Verification is CONVERSATIONAL: it starts with a photo of the user's government ID — the backend reads the printed deta"},{"name":"get_kyc_status","description":"Check the user's identity verification (KYC) status. Returns whether they are verified and, if not, the current state plus the conversational next step. Use thi"},{"name":"submit_kyc_document","description":"Submit the user's ID photo for identity verification. Ways in: (a) image data you hold programmatically (e.g. the user sent the photo in this chat and your plat"},{"name":"check_kyc_document","description":"Check the conversational verification state — use after the user uploads their ID via the browser upload link (or any time you need to re-orient). Returns the c"},{"name":"submit_kyc_fields","description":"Submit identity fields for verification: the ones the ID photo didn't carry (listed by missingFields — the tax/ID number always has to be asked since IDs don't "},{"name":"list_transactions","description":"Transactions with amount, merchant, status, and timestamps. Pass card_id for one card's transactions; OMIT it for every card in the account (newest first, each "},{"name":"setup_payment_method","description":"Save a payment method used ONLY to pay for flight bookings (the fare is charged to it via a hold at booking; no virtual card is created for flights). It does NO"},{"name":"get_balance","description":"The user's cash balance: the money that funds new cards. Provisions the balance account on first use. Users add cash with Apple Pay or Google Pay in USD; funds "},{"name":"add_funds","description":"Generate a secure checkout link the user opens to add cash to their own balance (the money that funds new cards) via Apple Pay or Google Pay, in USD. Calling th"},{"name":"start_phone_verification","description":"Send (or re-send) the user's one-time funding verification code (the provider verifies the phone on the user's Agentcard identity, valid 60 days). add_funds alr"},{"name":"verify_phone","description":"Check the one-time code the user received from start_phone_verification. On success the balance is unlocked for funding (the verification stays fresh for 60 day"},{"name":"redeem_code","description":"Redeem a promo code that adds money to the user's cash balance. Each code works once per user; the credit lands in the balance and becomes spendable within a mi"},{"name":"get_plan","description":"Show the user's current subscription plan, card limits, and this month's usage. Call this before create_card when you need the per-card amount cap or remaining "},{"name":"upgrade_plan","description":"Start a paid-plan upgrade. Choose the target plan: 'basic' ($15/mo — 15 cards/month, up to $500 per card) or 'pro' ($100/mo — 50 cards/month, up to $1,000 per c"},{"name":"list_payment_methods","description":"List the saved payment methods (used only to pay for flight bookings, not for cards or adding funds). Returns each method with its id, brand, last 4 digits, and"},{"name":"list_connections","description":"List the third-party apps the user has connected to their Agentcard account via OAuth (e.g. Kilo), including when each was connected and whether it is still act"},{"name":"revoke_connection","description":"Revoke a third-party app's access to the user's Agentcard account. Disconnects the app and invalidates its OAuth tokens; it must reconnect via OAuth to regain a"},{"name":"get_settings","description":"View the user's notification preferences (which email alerts they receive), their default payment source (which card or balance agents charge — check it before "},{"name":"link_account","description":"Link or merge another Agentcard account that belongs to the same person. Use when the user says they already have an account under a DIFFERENT email or phone nu"},{"name":"buy_list_merchants","description":"List merchants available for agent commerce (Rappi, Good Eggs, DoorDash) and whether this user has linked each one. Link a merchant before shopping it."},{"name":"buy_unlink_merchant","description":"Disconnect a merchant — drops the saved session + link. The user must re-link (e.g. hosted connect) before shopping it again."},{"name":"buy_connect","description":"Connect a merchant for shopping. For merchants that need a real login (e.g. DoorDash) this opens a secure hosted browser session and returns a URL the user open"},{"name":"buy_connect_status","description":"Check the status of a hosted merchant login started with buy_connect. Returns linking (still in progress — call again in a few seconds), linked (success — the m"},{"name":"manage_subscription","description":"Manage a recurring meal/grocery SUBSCRIPTION (e.g. Locale) — NOT a one-time purchase, and no payment is taken (the subscription auto-bills the card on file at t"}],"toolCount":55,"toolsHash":"c5ef2c5fc2a141dd5ed105ea1aafc7bc3dba86375f98ac8b199925a1adb674b1","serverName":"AgentCard","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T12:29:33.806Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":209,"error":null,"detail":{"tools":[{"name":"buy","description":"Shop and check out, in natural language, across the merchants the user has linked (DoorDash, etc.). Pass the whole ask as `request` — e.g. \"order a caesar salad"},{"name":"surprise_me","description":"Buy the user something totally unexpected and very silly/stupid-fun under a small dollar cap (default $10, hard max $25). Great when the user cannot decide what"},{"name":"get_instructions","description":"Call this FIRST; returns the latest usage guide for shopping with `buy` AND for operating the Agentcard account tools (cards, funding, your own card, KYC, suppo"},{"name":"whoami","description":"Show who you are operating as: the authenticated AgentCard account's email, user id, name, plan, KYC + account status, member-since date, and how this session i"},{"name":"list_cards","description":"The user's wallet: every live card they hold, with IDs, last four digits, expiry, balance, and status, plus `vaultCards`: the user's OWN cards stored in their A"},{"name":"get_card_details","description":"Get decrypted PAN, CVV, expiry, and current balance for a specific card. Use this only when you need to fill in a payment form — prefer get_card_balance if you "},{"name":"get_card_balance","description":"The live balance of ONE virtual card (the user's overall cash balance is get_balance). Prefer this over get_card_details when you only need to verify available "},{"name":"close_card","description":"Permanently close a virtual card. This is irreversible — the card cannot be reopened. Safe to call on an already-closed card (idempotent). The user's rewards ca"},{"name":"create_card","description":"The one card tool: get the user a virtual debit card for a purchase. Cards are live and charged for real when used. For a FIRST-TIME user it starts by putting t"},{"name":"get_card_preset","description":"Read a card's preset (spend limits, rate limits, allowed categories/merchants, time windows, and surfaces) as a plain-English summary. A card without a preset i"},{"name":"set_card_preset","description":"Update a card's preset. Pass a template name (ai_labs, weekday_meals, cli_only, daily), a saved preset name (from list_presets), a comma-separated template list"},{"name":"allow_card_merchant","description":"Remember a merchant on a card so the next matching charge is allowed even when the card's category or merchant rules would otherwise deny it. One tool call — do"},{"name":"list_presets","description":"List every preset you can use by name: the built-in templates (ai_labs, weekday_meals, cli_only, daily) plus any you've saved yourself, each with a plain-Englis"},{"name":"save_preset","description":"Save your own preset — a named set of rules (spend caps, category/merchant/place/currency/day/hour/program restrictions) you can reuse by name in set_card_prese"},{"name":"delete_preset","description":"Delete a preset you saved (from save_preset). Refuses built-in template names — there's nothing to delete there. Cards already issued keep whatever rules they h"},{"name":"get_wallet_link","description":"The user's hosted wallet, as one shareable URL. Opens their Agentcard wallet in the browser: every card in one place, apply for an Agentcard card (identity veri"},{"name":"list_added_cards","description":"List the user's ADDED cards (their own Visa/Mastercard cards enrolled via create_card's add-card flow — the funding source that charges their own card), with id"},{"name":"remove_added_card","description":"Remove (unenroll) one of the user's added cards. Irreversible for that enrollment: any virtual cards created against it are closed first, then the card is unenr"},{"name":"pause_card","description":"Pause a multi-use card: temporarily blocks ALL new charges (reversible — use resume_card to unblock). Right for \"stop this subscription for now\" or a card the u"},{"name":"resume_card","description":"Resume a paused multi-use card so it accepts charges again. The inverse of pause_card."},{"name":"update_card_limit","description":"Change a multi-use card's total spending limit. Raising it reserves the extra amount from the user's cash balance (top up with add_funds if short); lowering it "},{"name":"get_rewards","description":"Show the user's tokenback: balance, lifetime earned, and recent activity. Tokenback pays tokens (1 token = 1¢ of credit value) on settled card spend. AI cards ("},{"name":"redeem_rewards","description":"Redeem tokenback: the tokens' cash value (1 token = 1¢) lands on the user's rewards card as spending power. The rewards card is permanent and locked to AI-lab m"},{"name":"recommend_card","description":"Ask the vault which of the user's own stored cards earns the most for a purchase (smart purchases). Pass the merchant name, its website when you know it, and th"},{"name":"name_card","description":"Tell the vault which card product one of the user's own stored cards is (e.g. \"Chase Sapphire Preferred\", \"Amex Gold\"), so smart purchases can rank it. Takes a "},{"name":"start_support_chat","description":"Start a new support conversation and send the first message"},{"name":"send_support_message","description":"Send a message in an existing support conversation"},{"name":"read_support_chat","description":"Read the message history of a support conversation"},{"name":"list_pending_approvals","description":"List the user's PENDING approval requests: asks from connected apps (create a card, view full card details, close/pause/resume a card, change a limit) waiting o"},{"name":"approve_request","description":"Resolve a pending approval request (approve or deny) once the USER has decided. Use this after get_card_details or create_card returns a 202 requiring approval,"},{"name":"submit_user_info","description":"Submit the user's phone number and terms acceptance for a virtual card. Call this after create_card returns user_info_required. Do NOT ask the user for occupati"},{"name":"start_kyc","description":"Begin (or resume) identity verification. Verification is CONVERSATIONAL: it starts with a photo of the user's government ID — the backend reads the printed deta"},{"name":"get_kyc_status","description":"Check the user's identity verification (KYC) status. Returns whether they are verified and, if not, the current state plus the conversational next step. Use thi"},{"name":"submit_kyc_document","description":"Submit the user's ID photo for identity verification. Ways in: (a) image data you hold programmatically (e.g. the user sent the photo in this chat and your plat"},{"name":"check_kyc_document","description":"Check the conversational verification state — use after the user uploads their ID via the browser upload link (or any time you need to re-orient). Returns the c"},{"name":"submit_kyc_fields","description":"Submit identity fields for verification: the ones the ID photo didn't carry (listed by missingFields — the tax/ID number always has to be asked since IDs don't "},{"name":"list_transactions","description":"Transactions with amount, merchant, status, and timestamps. Pass card_id for one card's transactions; OMIT it for every card in the account (newest first, each "},{"name":"setup_payment_method","description":"Save a payment method used ONLY to pay for flight bookings (the fare is charged to it via a hold at booking; no virtual card is created for flights). It does NO"},{"name":"get_balance","description":"The user's cash balance: the money that funds new cards. Provisions the balance account on first use. Users add cash with Apple Pay or Google Pay in USD; funds "},{"name":"add_funds","description":"Generate a secure checkout link the user opens to add cash to their own balance (the money that funds new cards) via Apple Pay or Google Pay, in USD. Calling th"},{"name":"start_phone_verification","description":"Send (or re-send) the user's one-time funding verification code (the provider verifies the phone on the user's Agentcard identity, valid 60 days). add_funds alr"},{"name":"verify_phone","description":"Check the one-time code the user received from start_phone_verification. On success the balance is unlocked for funding (the verification stays fresh for 60 day"},{"name":"redeem_code","description":"Redeem a promo code that adds money to the user's cash balance. Each code works once per user; the credit lands in the balance and becomes spendable within a mi"},{"name":"get_plan","description":"Show the user's current subscription plan, card limits, and this month's usage. Call this before create_card when you need the per-card amount cap or remaining "},{"name":"upgrade_plan","description":"Start a paid-plan upgrade. Choose the target plan: 'basic' ($15/mo — 15 cards/month, up to $500 per card) or 'pro' ($100/mo — 50 cards/month, up to $1,000 per c"},{"name":"list_payment_methods","description":"List the saved payment methods (used only to pay for flight bookings, not for cards or adding funds). Returns each method with its id, brand, last 4 digits, and"},{"name":"list_connections","description":"List the third-party apps the user has connected to their Agentcard account via OAuth (e.g. Kilo), including when each was connected and whether it is still act"},{"name":"revoke_connection","description":"Revoke a third-party app's access to the user's Agentcard account. Disconnects the app and invalidates its OAuth tokens; it must reconnect via OAuth to regain a"},{"name":"get_settings","description":"View the user's notification preferences (which email alerts they receive), their default payment source (which card or balance agents charge — check it before "},{"name":"link_account","description":"Link or merge another Agentcard account that belongs to the same person. Use when the user says they already have an account under a DIFFERENT email or phone nu"},{"name":"buy_list_merchants","description":"List merchants available for agent commerce (Rappi, Good Eggs, DoorDash) and whether this user has linked each one. Link a merchant before shopping it."},{"name":"buy_unlink_merchant","description":"Disconnect a merchant — drops the saved session + link. The user must re-link (e.g. hosted connect) before shopping it again."},{"name":"buy_connect","description":"Connect a merchant for shopping. For merchants that need a real login (e.g. DoorDash) this opens a secure hosted browser session and returns a URL the user open"},{"name":"buy_connect_status","description":"Check the status of a hosted merchant login started with buy_connect. Returns linking (still in progress — call again in a few seconds), linked (success — the m"},{"name":"manage_subscription","description":"Manage a recurring meal/grocery SUBSCRIPTION (e.g. Locale) — NOT a one-time purchase, and no payment is taken (the subscription auto-bills the card on file at t"}],"toolCount":55,"toolsHash":"c5ef2c5fc2a141dd5ed105ea1aafc7bc3dba86375f98ac8b199925a1adb674b1","serverName":"AgentCard","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"buy","description":"Shop and check out, in natural language, across the merchants the user has linked (DoorDash, etc.). Pass the whole ask as `request` — e.g. \"order a caesar salad"},{"name":"surprise_me","description":"Buy the user something totally unexpected and very silly/stupid-fun under a small dollar cap (default $10, hard max $25). Great when the user cannot decide what"},{"name":"get_instructions","description":"Call this FIRST; returns the latest usage guide for shopping with `buy` AND for operating the Agentcard account tools (cards, funding, your own card, KYC, suppo"},{"name":"whoami","description":"Show who you are operating as: the authenticated AgentCard account's email, user id, name, plan, KYC + account status, member-since date, and how this session i"},{"name":"list_cards","description":"The user's wallet: every live card they hold, with IDs, last four digits, expiry, balance, and status, plus `vaultCards`: the user's OWN cards stored in their A"},{"name":"get_card_details","description":"Get decrypted PAN, CVV, expiry, and current balance for a specific card. Use this only when you need to fill in a payment form; prefer get_card_balance if you o"},{"name":"get_card_balance","description":"The live balance of ONE virtual card (the user's overall cash balance is get_balance). Prefer this over get_card_details when you only need to verify available "},{"name":"close_card","description":"Permanently close a virtual card. This is irreversible — the card cannot be reopened. Safe to call on an already-closed card (idempotent). The user's rewards ca"},{"name":"create_card","description":"The one card tool: get the user a virtual debit card for a purchase. Cards are live and charged for real when used. For a FIRST-TIME user it starts by putting t"},{"name":"get_card_preset","description":"Read a card's preset (spend limits, rate limits, allowed categories/merchants, time windows, and surfaces) as a plain-English summary. A card without a preset i"},{"name":"set_card_preset","description":"Update a card's preset. Pass a template name (ai_labs, weekday_meals, cli_only, daily), a saved preset name (from list_presets), a comma-separated template list"},{"name":"allow_card_merchant","description":"Remember a merchant on a card so the next matching charge is allowed even when the card's category or merchant rules would otherwise deny it. One tool call — do"},{"name":"list_presets","description":"List every preset you can use by name: the built-in templates (ai_labs, weekday_meals, cli_only, daily) plus any you've saved yourself, each with a plain-Englis"},{"name":"save_preset","description":"Save your own preset — a named set of rules (spend caps, category/merchant/place/currency/day/hour/program restrictions) you can reuse by name in set_card_prese"},{"name":"delete_preset","description":"Delete a preset you saved (from save_preset). Refuses built-in template names — there's nothing to delete there. Cards already issued keep whatever rules they h"},{"name":"get_wallet_link","description":"The user's hosted wallet, as one shareable URL. Opens their Agentcard wallet in the browser: every card in one place, apply for an Agentcard card (identity veri"},{"name":"list_added_cards","description":"List the user's ADDED cards (their own Visa/Mastercard cards enrolled via create_card's add-card flow — the funding source that charges their own card), with id"},{"name":"remove_added_card","description":"Remove (unenroll) one of the user's added cards. Irreversible for that enrollment: any virtual cards created against it are closed first, then the card is unenr"},{"name":"pause_card","description":"Pause a multi-use card: temporarily blocks ALL new charges (reversible — use resume_card to unblock). Right for \"stop this subscription for now\" or a card the u"},{"name":"resume_card","description":"Resume a paused multi-use card so it accepts charges again. The inverse of pause_card."},{"name":"update_card_limit","description":"Change a multi-use card's total spending limit. Raising it reserves the extra amount from the user's cash balance (top up with add_funds if short); lowering it "},{"name":"get_rewards","description":"Show the user's tokenback: balance, lifetime earned, and recent activity. Tokenback pays tokens (1 token = 1¢ of credit value) on settled card spend. AI cards ("},{"name":"redeem_rewards","description":"Redeem tokenback: the tokens' cash value (1 token = 1¢) lands on the user's rewards card as spending power. The rewards card is permanent and locked to AI-lab m"},{"name":"recommend_card","description":"Ask the vault which of the user's own stored cards earns the most for a purchase (smart purchases). Pass the merchant name, its website when you know it, and th"},{"name":"name_card","description":"Tell the vault which card product one of the user's own stored cards is (e.g. \"Chase Sapphire Preferred\", \"Amex Gold\"), so smart purchases can rank it. Takes a "},{"name":"start_support_chat","description":"Start a new support conversation and send the first message"},{"name":"send_support_message","description":"Send a message in an existing support conversation"},{"name":"read_support_chat","description":"Read the message history of a support conversation"},{"name":"list_pending_approvals","description":"List the user's PENDING approval requests: asks from connected apps (create a card, view full card details, close/pause/resume a card, change a limit) waiting o"},{"name":"approve_request","description":"Resolve a pending approval request (approve or deny) once the USER has decided. Use this after get_card_details or create_card returns a 202 requiring approval,"},{"name":"submit_user_info","description":"Submit the user's phone number and terms acceptance for a virtual card. Call this after create_card returns user_info_required. Do NOT ask the user for occupati"},{"name":"start_kyc","description":"Begin (or resume) identity verification. Verification is CONVERSATIONAL: it starts with a photo of the user's government ID — the backend reads the printed deta"},{"name":"get_kyc_status","description":"Check the user's identity verification (KYC) status. Returns whether they are verified and, if not, the current state plus the conversational next step. Use thi"},{"name":"submit_kyc_document","description":"Submit the user's ID photo for identity verification. Ways in: (a) image data you hold programmatically (e.g. the user sent the photo in this chat and your plat"},{"name":"check_kyc_document","description":"Check the conversational verification state — use after the user uploads their ID via the browser upload link (or any time you need to re-orient). Returns the c"},{"name":"submit_kyc_fields","description":"Submit identity fields for verification: the ones the ID photo didn't carry (listed by missingFields — the tax/ID number always has to be asked since IDs don't "},{"name":"list_transactions","description":"Transactions with amount, merchant, status, and timestamps. Pass card_id for one card's transactions; OMIT it for every card in the account (newest first, each "},{"name":"setup_payment_method","description":"Save a payment method used ONLY to pay for flight bookings (the fare is charged to it via a hold at booking; no virtual card is created for flights). It does NO"},{"name":"get_balance","description":"The user's cash balance: the money that funds new cards. Provisions the balance account on first use. Users add cash with Apple Pay or Google Pay in USD; funds "},{"name":"add_funds","description":"Generate a secure checkout link the user opens to add cash to their own balance (the money that funds new cards) via Apple Pay or Google Pay, in USD. Calling th"},{"name":"start_phone_verification","description":"Send (or re-send) the user's one-time funding verification code (the provider verifies the phone on the user's Agentcard identity, valid 60 days). add_funds alr"},{"name":"verify_phone","description":"Check the one-time code the user received from start_phone_verification. On success the balance is unlocked for funding (the verification stays fresh for 60 day"},{"name":"redeem_code","description":"Redeem a promo code that adds money to the user's cash balance. Each code works once per user; the credit lands in the balance and becomes spendable within a mi"},{"name":"get_plan","description":"Show the user's current subscription plan, card limits, and this month's usage. Call this before create_card when you need the per-card amount cap or remaining "},{"name":"upgrade_plan","description":"Start a paid-plan upgrade. Choose the target plan: 'basic' ($15/mo — 15 cards/month, up to $500 per card) or 'pro' ($100/mo — 50 cards/month, up to $1,000 per c"},{"name":"list_payment_methods","description":"List the saved payment methods (used only to pay for flight bookings, not for cards or adding funds). Returns each method with its id, brand, last 4 digits, and"},{"name":"list_connections","description":"List the third-party apps the user has connected to their Agentcard account via OAuth (e.g. Kilo), including when each was connected and whether it is still act"},{"name":"revoke_connection","description":"Revoke a third-party app's access to the user's Agentcard account. Disconnects the app and invalidates its OAuth tokens; it must reconnect via OAuth to regain a"},{"name":"get_settings","description":"View the user's notification preferences (which email alerts they receive), their default payment source (which card or balance agents charge — check it before "},{"name":"link_account","description":"Link or merge another Agentcard account that belongs to the same person. Use when the user says they already have an account under a DIFFERENT email or phone nu"},{"name":"buy_list_merchants","description":"List merchants available for agent commerce (Rappi, Good Eggs, DoorDash) and whether this user has linked each one. Link a merchant before shopping it."},{"name":"buy_unlink_merchant","description":"Disconnect a merchant — drops the saved session + link. The user must re-link (e.g. hosted connect) before shopping it again."},{"name":"buy_connect","description":"Connect a merchant for shopping. For merchants that need a real login (e.g. DoorDash) this opens a secure hosted browser session and returns a URL the user open"},{"name":"buy_connect_status","description":"Check the status of a hosted merchant login started with buy_connect. Returns linking (still in progress — call again in a few seconds), linked (success — the m"},{"name":"manage_subscription","description":"Manage a recurring meal/grocery SUBSCRIPTION (e.g. Locale) — NOT a one-time purchase, and no payment is taken (the subscription auto-bills the card on file at t"}],"package":null,"toolSurface":{"id":"ts_w3csnbduzc8z","endpointId":"ep_kdhews8n2mac","hash":"dd8590b387cff646b52dc8bc4a801dcd4f40543edcd6577f2fa48d638a69f63d","toolCount":55,"serverName":"AgentCard","serverVersion":"1.0.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-08T02:21:47.878Z","lastSeenAt":"2026-10-09T23:30:31.603Z","observations":8,"toolNames":["buy","surprise_me","get_instructions","whoami","list_cards","get_card_details","get_card_balance","close_card","create_card","get_card_preset","set_card_preset","allow_card_merchant","list_presets","save_preset","delete_preset","get_wallet_link","list_added_cards","remove_added_card","pause_card","resume_card","update_card_limit","get_rewards","redeem_rewards","recommend_card","name_card","start_support_chat","send_support_message","read_support_chat","list_pending_approvals","approve_request","submit_user_info","start_kyc","get_kyc_status","submit_kyc_document","check_kyc_document","submit_kyc_fields","list_transactions","setup_payment_method","get_balance","add_funds","start_phone_verification","verify_phone","redeem_code","get_plan","upgrade_plan","list_payment_methods","list_connections","revoke_connection","get_settings","link_account","buy_list_merchants","buy_unlink_merchant","buy_connect","buy_connect_status","manage_subscription"],"distinctSurfaces":7},"endpointFacts":[{"id":"ep_kdhews8n2mac","url":"https://mcp.agentcard.sh/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-08T15:22:33.620Z","auth":{"observedAt":"2026-10-08T15:22:33.940Z","authRequired":false,"scheme":null,"resourceMetadata":{"url":"https://mcp.agentcard.sh/.well-known/oauth-protected-resource/mcp","resource":"https://mcp.agentcard.sh/mcp","authorizationServers":["https://mcp.agentcard.sh/"],"scopesSupported":[]},"authorizationServer":{"url":"https://mcp.agentcard.sh/.well-known/oauth-authorization-server","issuer":"https://mcp.agentcard.sh/","grantTypesSupported":["authorization_code","refresh_token"],"codeChallengeMethodsSupported":["S256"],"tokenEndpointAuthMethodsSupported":["client_secret_post","none"],"dynamicClientRegistration":true,"dpopSigningAlgValuesSupported":[],"clientIdMetadataDocumentSupported":null},"conformance":{"dpop":false,"rfc8414":true,"rfc9728":true,"pkceS256":true,"clientIdMetadataDocument":false,"dynamicClientRegistration":true}},"tls":{"observedAt":"2026-10-08T15:22:33.967Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"mcp.agentcard.sh","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-09-23T23:54:25.000Z","validTo":"2026-12-23T00:54:23.000Z","daysToExpiry":73,"sanCount":1,"fingerprint256":"21:70:35:B0:10:DC:AE:80:55:73:46:F6:6D:B1:B5:CA:12:16:92:DE:57:62:C0:FE:EC:BD:2B:73:2D:70:FD:A1"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"sh.agentcard/agentcard","url":"https://registry.modelcontextprotocol.io/v0/servers/sh.agentcard%2Fagentcard","firstSeenAt":"2026-09-07T08:21:38.867Z","fetchedAt":"2026-10-08T19:20:00.534Z","normalizedAt":"2026-10-08T19:20:00.534Z"}]},"firstSeenAt":"2026-09-07T08:21:38.867Z","updatedAt":"2026-10-09T23:32:24.808Z"}