Pink Agentic AI Payments (by PinkWallet): lets Claude, ChatGPT, Cursor pay vendor invoices within company spending rules (budgets, caps, allow-lists, human approval). Sandbox preview, test money.
Agentcard is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Prepaid virtual cards for AI agents: one-time cards, spend caps, human approvals.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http agentcard-mcp https://mcp.agentcard.sh/mcp
# 2 — ask your agent for something these tools do
# buy, surprise_me, get_instructions and 52 more
Agentcard costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http agentcard-mcp https://mcp.agentcard.sh/mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
55 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
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 from Zuni on DoorDash" — and this tool runs the shopping flow for you. It is CONVERSATIONAL: this tool RETURNS a conversation_id; pass that SAME conversation_id back on every follow-up (your reply to a question, "add a coke", "yes, che
| Parameter | Type | Required | Notes |
|---|---|---|---|
| request | string | yes | The natural-language ask or follow-up, e.g. "order a caesar salad from Zuni on DoorDash", "deliver to 123 Main St", or "yes, place the order". |
| conversation_id | string | no | The conversation_id returned by a previous buy call. Pass it to continue the SAME order (keeps the cart + confirmation). Omit to start a new order. |
| new_order | boolean | no | Start a fresh shopping conversation instead of continuing the current one. Use when beginning an unrelated order (ignores any conversation_id). |
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 to order (from DoorDash etc.) or just wants a fun surprise. It kicks off a shopping conversation that FIRST brainstorms deliberately stupid ideas, picks ONE genuinely unexpected item, builds the cart, and shows the item + exact total. It N
| Parameter | Type | Required | Notes |
|---|---|---|---|
| max_dollars | number | no | Hard spend cap in dollars, total including fees. Optional; default 10, values above 25 are clamped to 25. |
| merchant | string | no | Optional merchant hint the surprise should come from, e.g. 'doordash'. Omit to let the agent pick. |
| vibe | string | no | Optional notes/vibe from the user, e.g. "make it food", "something for my desk", "they love ducks". |
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, support).
No parameter schema on file.
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 is connected (personal login vs a third-party OAuth app connection, with the app name). Call this when the user asks "who am I" / "which account is this", or before money-moving actions when you need to confirm the account. Read-only. KYC sh
No parameter schema on file.
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 Agentcard vault (display fields only; a vaulted card pays through buy with an approval on the user's device (their passkey or master password) and never exposes a number). Start here to find available cards; if none are returned, call create
No parameter schema on file.
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 only need the balance. May require human approval before returning credentials. If approval is required, prompt the user and then call approve_request. Agentcard never stores an issued card's number or CVV; each call fetches them again.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| card_id | string | yes | The card ID |
| approval_id | string | no | Approval id from a prior approval_required response, once the user has approved. Only for cards created through ANOTHER app: first call without it (the user is emailed an approve link), then retry wit |
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 funds: it is faster and does not expose sensitive card credentials.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| card_id | string | yes | The card ID |
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 card (the card their tokenback redeems onto) is close-protected: closing it returns its balance to the wallet but retires the card number the user may have on file at AI labs, so it requires confirm_rewards_card — set it ONLY after the user e
| Parameter | Type | Required | Notes |
|---|---|---|---|
| card_id | string | yes | The card ID to close |
| confirm_rewards_card | boolean | no | Required to close the rewards card. Only set after the user explicitly confirms; never set it preemptively. |
| approval_id | string | no | Approval id from a prior approval_required response, once the user has approved. Only for cards created through ANOTHER app: first call without it (the user is emailed an approve link), then retry wit |
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 the user's OWN card in their Agentcard vault (any Visa, Mastercard, Amex, or Discover from any country, no identity verification (KYC), no balance funding): the call returns a secure link (vault_started); send it to the user (they type the c
| Parameter | Type | Required | Notes |
|---|---|---|---|
| amount_cents | number | yes | Card funding amount in CENTS, not dollars (minimum 100). 100 = $1.00 and 2500 = $25.00 — a value like 25 would be $0.25. Company-governed connections have no maximum; personal accounts are capped by t |
| connected_card_id | string | no | Multi-card: issue against a SPECIFIC added card (an id from the user's added cards, see list_added_cards) instead of the newest active one. Omit for the default. |
| pending_card_id | string | no | Only when retrying an approval_pending purchase whose preset has since changed: the cardId from that earlier answer, together with purchase_key. The older approval link is retired once the replacement |
| purchase_key | string | no | The purchaseKey from the same approval_pending answer as pending_card_id; the pair proves the retry is for that purchase. |
| source | string | no | Force the card to be funded from the user's cash balance (the issued path: KYC + wallet funding) even when they have an added or vaulted card or would otherwise be offered the vault. Use it only after |
| restart_setup | boolean | no | Set true ONLY when the user lost or never received a vault link, it expired (about 15 minutes), or they want to add ANOTHER card. Never needed on the first call or for normal retries. amount_cents is |
| funds_source | string | no | Where the card funds come from. OMIT unless instructed: the server applies the right default (company-connected accounts use the company wallet automatically when the company enables it). company_flow |
| type | string | no | Card behavior. 'single_use' (default) closes after its first approved charge — right for one-off purchases. 'multi_use' stays open across charges until its total limit is spent — right for subscriptio |
| expires_at | string | no | Optional hard expiry for a multi-use card (ISO-8601 with timezone, e.g. "2027-01-01T00:00:00Z"). Must be in the future, at most 365 days out. The card closes automatically when it passes. |
| preset | no | Preset for this card: a template name (ai_labs, weekday_meals, cli_only, daily), comma-separated templates, a saved preset name/id, inline JSON privileges, or { name?, privileges }. Adds restrictions | |
| scope_preset | string | no | Silent alias for preset 'ai_labs': a multi-use card restricted to AI-lab merchants (OpenAI, Anthropic, Gemini); charges anywhere else are declined at authorization. AI cards earn boosted tokenback on |
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 is unrestricted.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| card_id | string | yes | The card id (from list_cards). |
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, or inline JSON / { name, privileges }. Pass null or "" to clear the card's preset (Agentcard-side checks stop; any limit already on the card network stays). Edits create a new version. The response reports what was applied on Agentcard vs
| Parameter | Type | Required | Notes |
|---|---|---|---|
| card_id | string | yes | The card id (from list_cards). |
| preset | yes | Template name (ai_labs, weekday_meals, cli_only, daily), comma-separated templates, inline JSON privileges, or { name?, privileges }. Pass null or "" with card_id to clear that card's preset. |
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 — does not replace the rest of the preset.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pattern | string | yes | Merchant name pattern to remember, e.g. "STARBUCKS" or "ODD CAFE". |
| card_id | string | no | Card id (from list_cards). |
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-English summary of its rules.
No parameter schema on file.
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_preset or create_card. Saving under a name you already used adds a new version: cards already using the old one keep it, new ones get the update. Pick a name other than the built-ins (ai_labs, weekday_meals, cli_only, daily). Pass either the rul
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | yes | A name for this preset, e.g. "meals-only". |
| total | number | no | Lifetime spend cap, in US dollars. |
| per_day | number | no | Spend cap per rolling 24 hours, in US dollars. |
| per_week | number | no | Spend cap per rolling 7 days, in US dollars. |
| per_month | number | no | Spend cap per rolling 30 days, in US dollars. |
| categories | string | no | Comma-separated spend categories to allow, e.g. "meals,groceries" (meals, groceries, travel, software, ai, wellness, retail). |
| only_merchants | string | no | Comma-separated merchant name patterns to allow, e.g. "openai,anthropic". |
| only_in | string | no | Comma-separated places to allow charges from: a country ("US", "Canada"), a region ("europe", "eu", "north-america", "latin-america", "apac"), or a US state ("California", "US-CA"). A region expands t |
| currencies | string | no | Comma-separated purchase currencies to allow: ISO 4217 codes or common names, e.g. "usd,eur" or "dollars,euros,pounds,yen". In strict mode a purchase in another currency is refused at checkout and a s |
| only_days | string | no | Comma-separated days to allow, e.g. "mon,tue,wed" or "weekdays"/"weekends". |
| only_hours | string | no | An hour range to allow, e.g. "9-17" (24-hour clock; defaults to UTC without timezone). |
| timezone | string | no | IANA timezone for only_days/only_hours (default UTC), e.g. "America/Los_Angeles". Always shown in summaries. |
| only_from | string | no | Comma-separated callers to allow, e.g. "cli,mcp" (cli, mcp, api, browser). |
| mode | string | no | What the preset does when a purchase breaks any of its rules: "strict" refuses it (the default), "watch" lets it through and tells the user once. |
| privileges | array | no | Advanced: raw privilege objects instead of the rule fields above. |
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 have; this only retires the name for future use. Refused while a card still inherits the name as a standing default.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | yes | The saved preset name to delete. |
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 verification runs right in the page). Mint it whenever the user needs a browser step (seeing cards, finishing verification when in-chat photos fail) and send them the URL. To ADD the user's own card, pass purpose "add_card": the link then opens
| Parameter | Type | Required | Notes |
|---|---|---|---|
| purpose | string | no | "wallet" (default) opens the hosted wallet. "add_card" opens the vault card form so the user can put their own card on file; single-use, about 15 minutes. |
| merchant | string | no | Merchant name shown on the payment-approval sheet (with amount_cents). |
| amount_cents | integer | no | Amount in cents. When present, the link opens on the payment-approval sheet for this charge. |
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 ids, brand, last4, expiry, and status. The row marked isDefault is what create_card charges when no connected_card_id is given — the user's chosen default card (set with update_settings default_payment), falling back to the newest active one.
No parameter schema on file.
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 unenrolled at the network. ALWAYS confirm with the user before calling. Get ids from list_added_cards. The user can add the same card again later (create_card with restart_setup: true).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| attached_card_id | string | yes | The id of the added card to remove (from list_added_cards). |
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 user suspects is compromised but is not sure. Only multi-use cards can be paused; single-use cards close after one charge and cannot be paused.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| card_id | string | yes | The card ID to pause (from list_cards or create_card). |
| approval_id | string | no | Approval id from a prior approval_required response, once the user has approved. Only for cards created through ANOTHER app: first call without it (the user is emailed an approve link), then retry wit |
Resume a paused multi-use card so it accepts charges again. The inverse of pause_card.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| card_id | string | yes | The paused card ID to resume. |
| approval_id | string | no | Approval id from a prior approval_required response, once the user has approved. Only for cards created through ANOTHER app: first call without it (the user is emailed an approve link), then retry wit |
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 frees the difference, but the new limit can never go below what the card has already spent. Single-use cards cannot be resized.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| card_id | string | yes | The multi-use card ID to resize. |
| approval_id | string | no | Approval id from a prior approval_required response, once the user has approved. Only for cards created through ANOTHER app: first call without it (the user is emailed an approve link), then retry wit |
| spend_limit_cents | number | no | The new TOTAL spending limit in cents (minimum 100). This is the lifetime cap, not a delta: a card that spent $20 of a $50 limit, resized to 8000, can spend $60 more. |
| new_limit_cents | number | no | Deprecated alias for spend_limit_cents. Prefer spend_limit_cents (matches the docs and the REST API). |
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 (create_card scope_preset: 'ai_labs') earn a boosted rate on AI-lab purchases, and companies can route a share of their earnings to their users as tokenback. Redeem with redeem_rewards.
No parameter schema on file.
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 merchants (OpenAI, Anthropic, Gemini) — created on first redemption, topped up after. Check get_rewards first for the balance and the minimum. Ask the user before redeeming.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| tokens | number | yes | How many tokens to redeem (1 token = 1 cent, so 500 tokens = $5.00 of wallet credit). |
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 the amount. Returns the card id to use as card_id at checkout, the reason in plain words, and the runners-up. null when smart purchases is off for this account, no stored card has been named yet (see name_card), or nothing could be said; then
| Parameter | Type | Required | Notes |
|---|---|---|---|
| merchant | string | yes | The merchant as the user would see it, e.g. "DoorDash". |
| merchant_url | string | no | The merchant's website or checkout origin, e.g. https://www.doordash.com. Improves the category match. |
| amount_cents | number | no | Order total in cents, when known. |
| currency | string | no | ISO currency code, default usd. Non-USD purchases account for foreign transaction fees. |
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 vault card id (a vaultCards row from list_cards) and the product name as the user says it; the closest match is saved and echoed back. Confirm with the user when the match is not obviously right. Pass clear_product to forget the name, or
| Parameter | Type | Required | Notes |
|---|---|---|---|
| card_id | string | yes | The vault card id (from list_cards → vaultCards). |
| product | string | no | The card product as the user says it, e.g. "Chase Sapphire Preferred" or "Amex Gold". Four characters minimum. |
| clear_product | boolean | no | true = forget the product name. Do not combine with product. |
| smart_excluded | boolean | no | true = leave this card out of smart purchases; false = include it again. |
Start a new support conversation and send the first message
| Parameter | Type | Required | Notes |
|---|---|---|---|
| message | string | yes | Your initial support message |
Send a message in an existing support conversation
| Parameter | Type | Required | Notes |
|---|---|---|---|
| conversation_id | string | yes | The conversation ID |
| message | string | yes | Your message |
Read the message history of a support conversation
| Parameter | Type | Required | Notes |
|---|---|---|---|
| conversation_id | string | yes | The conversation ID |
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 on the user's decision. Surface each one to the user and let THEM decide; after the user answers, resolve with approve_request. NEVER approve or deny on your own — an approval is the user's consent, not yours. Personal sessions only; company
No parameter schema on file.
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, or for a row from list_pending_approvals. For card_details and transaction, approval automatically completes the follow-up action and returns the result. For cross_app actions (asks from another app: close/pause/resume a card, change a lim
| Parameter | Type | Required | Notes |
|---|---|---|---|
| approval_id | string | yes | The approval request ID |
| decision | string | yes | Whether to approve or deny the request |
| action | string | yes | The original action type from the approval prompt (list_pending_approvals rows carry it as action). |
| resource_id | string | yes | Card ID (for card_details and cross_app actions) or approval ID (for transaction) |
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 occupation, income, or account purpose — those are never asked. Identity fields (name, date of birth, SSN / national ID, address) belong to the KYC flow: create_card tells you whether it runs conversationally (start_kyc → ID photo → face scan) or v
| Parameter | Type | Required | Notes |
|---|---|---|---|
| phone_number | string | yes | User's phone number in international E.164 format with a country code (e.g. +1 555 123 4567, +44 7911 123456) |
| terms_accepted | boolean | yes | Must be true — the user accepted the AgentCard cardholder terms of service |
Begin (or resume) identity verification. Verification is CONVERSATIONAL: it starts with a photo of the user's government ID — the backend reads the printed details automatically and the user confirms every value. Only fields the ID does not carry are asked (like the SSN for US documents, or the national ID number for non-US ones); occupation/income questions are never asked. The only browser step
| Parameter | Type | Required | Notes |
|---|---|---|---|
| terms_accepted | boolean | no | DEPRECATED — use agreements_accepted. Pass true once the user has explicitly agreed to the card issuer's cardholder terms in the conversation. |
| agreements_accepted | array | no | Keys of the User Agreements the user explicitly accepted, one by one (the full required set from the agreements list — e.g. e_sign, account_opening_privacy, card_terms, accuracy, non_solicitation). On |
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 this to poll after the user does the face scan, or any time create_card reports kyc_required.
No parameter schema on file.
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 platform exposes its bytes) — pass front_base64 (and back_base64 for a license back; its barcode reads most accurately); (b) local (stdio) mode — pass file_path/back_file_path and the file is read from disk; (c) neither — you get a secure uploa
| Parameter | Type | Required | Notes |
|---|---|---|---|
| front_base64 | string | no | Base64 image bytes of the ID front (or passport photo page). ONLY pass base64 you received programmatically from your platform (e.g. an injected chat attachment) — never type or reconstruct image byte |
| back_base64 | string | no | Base64 image bytes of the license back (optional, recommended — the barcode reads most accurately). Same rule: programmatically sourced only. |
| front_mime_type | string | no | MIME type of front_base64 (image/jpeg, image/png, image/webp). Defaults to image/jpeg. |
| back_mime_type | string | no | MIME type of back_base64. Defaults to image/jpeg. |
| file_path | string | no | Local path to the ID photo (front of license, or passport photo page). Local/stdio connections only — remote connections without image data receive an upload link instead. |
| back_file_path | string | no | Local path to the back of the license (optional, recommended). Local/stdio connections only. |
| document_type | string | no | ONLY pass this when the user themselves said what the document is ("here's my license") — otherwise omit it; the type is detected from the photo. Never ask up front. |
| issuing_country | string | no | 2-letter ISO country that issued the document (e.g. US, AR). ONLY when the user volunteered it — otherwise omit; it is detected from the photo. Never ask up front. |
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 current step and the fields still missing.
No parameter schema on file.
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 print it; call it "SSN" only for US documents and "national ID number" otherwise), corrections to extracted values the user flagged, and the User Agreements acceptance (agreements_accepted, after presenting each agreement verbatim). That nu
| Parameter | Type | Required | Notes |
|---|---|---|---|
| first_name | string | no | Legal first name, exactly as printed on the ID document. |
| last_name | string | no | Legal last name, exactly as printed on the ID document. |
| date_of_birth | string | no | YYYY-MM-DD |
| ssn | string | no | US documents: 9-digit SSN, dashes optional. Non-US documents: the national ID / tax number printed on the ID. Forward-only — never stored. |
| address_line1 | string | no | Residential street address, line 1 (e.g. 123 Main St). |
| address_line2 | string | no | Residential street address, line 2 — apartment, suite, or unit. Omit if none. |
| address_city | string | no | City of the residential address. |
| address_region | string | no | 2-letter state code for US (e.g. CA). |
| address_postal_code | string | no | Postal / ZIP code of the residential address. |
| address_country_code | string | no | 2-letter ISO country code (e.g. US). |
| phone_number | string | no | E.164 with country code, e.g. +14155551234. |
| terms_accepted | boolean | no | DEPRECATED — use agreements_accepted. true once the user explicitly accepted the card issuer's cardholder terms. |
| agreements_accepted | array | no | Keys of the User Agreements the user explicitly accepted, one by one — the FULL required set from the agreements list in the previous step's result. Only pass after presenting each agreement verbatim |
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 row tagged with its card). Use limit and status to filter. The gated views list_all_transactions and list_transactions_by_payment_method also exist; call them by name even though they aren't in the tools list.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| card_id | string | no | A card ID for that card's transactions; omit for all cards in the account. |
| limit | number | no | Max number of transactions to return (default 20) |
| offset | number | no | Skip this many (all-cards view pagination; ignored for a single card). |
| status | string | no | Filter by transaction status (e.g. PENDING, SETTLED, DECLINED, REVERSED, EXPIRED, REFUNDED) |
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 NOT fund cards or the cash balance — cards are funded from the balance (see add_funds). Returns a secure checkout URL the user must open to save their card details.
No parameter schema on file.
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 are held as USDC. (Their wallet, meaning the cards themselves, is list_cards.)
No parameter schema on file.
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 this tool moves NO money and initiates NO transfer: it only prepares a single-use hosted payment page — the exact equivalent of the user clicking 'Add funds' in the dashboard. The user personally reviews, authorizes, and completes (or abandon
| Parameter | Type | Required | Notes |
|---|---|---|---|
| amount_cents | number | yes | Amount to add in cents (e.g. 5000 = $50.00). Typical range: $20.00 to $10,000.00 (2000 to 1000000 cents); the exact range depends on the active funding provider and is returned by the API when the amo |
| payment_method | string | no | Payment method for the checkout: apple_pay or google_pay. Ask the user which one their device has; apple_pay only when unknown. |
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 already sends this code automatically when verification is needed — call this tool only to RE-send when the code never arrived (any unexpired code still works; sends are rate-limited). Returns the masked destination (text or email) and whether
No parameter schema on file.
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 days) — call add_funds next. A wrong or expired code returns a recoverable status so you can ask the user to re-check it, or call start_phone_verification to resend.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| code | string | yes | The one-time code the user received, as a string (keep any leading zeros — do not send it as a number). |
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 minute or two. Some codes hold the money until the user verifies their identity — the claim still locks the code to this user instantly, and the credit lands automatically once KYC is approved (start_kyc begins verification). The gated tool l
| Parameter | Type | Required | Notes |
|---|---|---|---|
| code | string | yes | The promo code exactly as the user provided it (case and dashes are forgiven). |
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 monthly quota, and ALWAYS before creating a multi-use card: multi-use cards are a paid-plan feature, so maxActiveMultiUseCards is 0 on Free and the mint is refused. Also call it whenever the user asks about their plan, limits, billing, or u
No parameter schema on file.
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 card). Defaults to 'basic' if omitted. Returns a Stripe Checkout URL the user must open in their browser to complete payment. After they finish checkout, the plan updates automatically; verify with get_plan. Use only when the user explicitly
| Parameter | Type | Required | Notes |
|---|---|---|---|
| plan | string | no | Which plan to upgrade to. Defaults to 'basic'. |
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 expiry, and marks the default one. Use setup_payment_method to add a new one. The gated tools set_default_payment_method and remove_payment_method also exist; call them by name even though they aren't in the tools list.
No parameter schema on file.
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 active. Read-only. To revoke an app, call revoke_connection with its clientId.
No parameter schema on file.
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 access. Pass the clientId shown by list_connections.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| client_id | string | yes | The OAuth client ID of the app to revoke (from list_connections). |
View the user's notification preferences (which email alerts they receive), their default payment source (which card or balance agents charge — check it before picking a funding source for them), their default delivery address (the wallet-level shipping address to use when buying physical goods for them — check it before asking them to dictate an address), and authorization settings (whether viewi
No parameter schema on file.
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 number — most often after identity verification (KYC) is rejected as a duplicate, which means that person already verified on another account. Two steps: (1) call with { type, identifier } to send a one-time code to that email/phone; (2) call
| Parameter | Type | Required | Notes |
|---|---|---|---|
| type | string | no | Step 1: which kind of identifier the OTHER account uses. |
| identifier | string | no | Step 1: the email address or phone number of the other account to verify. |
| ticket | string | no | Step 2: the ticket returned by step 1. |
| code | string | no | Step 2: the one-time code the user received. |
List merchants available for agent commerce (Rappi, Good Eggs, DoorDash) and whether this user has linked each one. Link a merchant before shopping it.
No parameter schema on file.
Disconnect a merchant — drops the saved session + link. The user must re-link (e.g. hosted connect) before shopping it again.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| merchant | string | yes | Merchant slug to disconnect (e.g. doordash). |
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 opens to log in; after they finish, call buy_connect_status with the pending_id to confirm. Merchants that need no login (e.g. Agentcard Flights) come back ready immediately. Use this instead of buy_link_merchant for hosted-login merchants. Thi
| Parameter | Type | Required | Notes |
|---|---|---|---|
| merchant | string | yes | merchant slug (e.g. doordash) |
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 merchant is ready to shop), expired, or error. Pass the merchant and the pending_id from buy_connect. ONLY for logins started by the buy_connect tool: a login link handed out by the conversational buy tool has no pending_id — for those, re
| Parameter | Type | Required | Notes |
|---|---|---|---|
| merchant | string | yes | merchant slug (e.g. doordash) |
| pending_id | string | yes | The pending_id returned by buy_connect. |
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 the merchant). action: 'menu_search' (browse the recurring menu; items flagged inPlan are covered by the plan), 'get_skip_dates' (list skipped/paused deliveries), 'skip'/'unskip' (one upcoming delivery date), 'set_skip_dates' (replace the fu
| Parameter | Type | Required | Notes |
|---|---|---|---|
| merchant | string | yes | merchant slug (e.g. locale) |
| action | string | yes | the management action |
| query | string | no | menu_search: term over the recurring menu (e.g. 'salmon'); '' lists everything |
| limit | number | no | menu_search: max items |
| date | string | no | skip/unskip: one ISO delivery date (YYYY-MM-DD) |
| dates | array | no | set_skip_dates: FULL set of ISO dates to skip ([] resumes all) |
| setting | string | no | update_setting: the setting key (see description) |
| value | no | update_setting: the new value (number, string, or array of strings) |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install Agentcard or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
This listing is an address its publisher runs, and you connect to it directly — this marketplace is not in the path. The scanner reads packages and public source, and an address is neither. So there is no grade — not a withheld one, an unmeasured one.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 1.0.0.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish Agentcard can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.