Skip to main content
Glama

get_card_details

Read-onlyIdempotent

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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
card_idYesThe card ID
approval_idNoApproval 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 with it.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
last4NoLast four digits of the card number. Present only when status is "details".
cardIdNoThe card ID.
expiryNoCard expiry (MM/YY). Present only when status is "details".
statusNoOutcome discriminator: "details" when credentials were returned, "approval_required" when human approval is needed first, "not_accessible" when the card exists outside this connection's scope, "policy_denied" when the card preset blocks reveal (message is the deny reason), "managed_by_organization" for org-issued read-only cards.
messageYesHuman-readable card details (or an approval-required prompt).
approvalIdNoThe approval request ID to pass to approve_request. Present only when status is "approval_required".
cardStatusNoCard status, e.g. "active" or "closed". Present only when status is "details".
balanceCentsNoCard balance in cents. Present only when status is "details".
balanceDollarsNoCard balance formatted as USD dollars, e.g. "12.50". Present only when status is "details".

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / properties / status / description
      Previous value: -"Outcome discriminator: \"details\" when credentials were returned, \"approval_required\" when human approval is needed first, \"not_accessible\" when the card exists outside this connection's scope, \"managed_by_organization\" for org-issued read-only cards."New value: +"Outcome discriminator: \"details\" when credentials were returned, \"approval_required\" when human approval is needed first, \"not_accessible\" when the card exists outside this connection's scope, \"policy_denied\" when the card preset blocks reveal (message is the deny reason), \"managed_by_organization\" for org-issued read-only cards."
  2. First observed

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/idempotent annotations it discloses non-obvious behavior: the call may require human approval, it directs the approve_request flow, and it explains the storage policy (no persisted PAN/CVV; refetched each call). This is exactly the sensitive-operation context an agent cannot infer from annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the returned fields and the usage constraint, followed by the approval and storage notes. Four tight sentences, each earning its place with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present the return values need no prose, and the description fully covers the risky approval path and the alternate balance tool. Nothing essential to correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both card_id and approval_id are already documented, including the retry-with-approval_id flow. The description adds approval context but no parameter-level meaning beyond the schema, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

It names a specific verb and resource ('Get decrypted PAN, CVV, expiry, and current balance for a specific card') and explicitly contrasts itself with the sibling get_card_balance. An agent can pick this over other get_* tools without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives an explicit when-to-use ('only when you need to fill in a payment form') and an explicit alternative ('prefer get_card_balance if you only need the balance'). It also covers the approval prerequisite and the follow-up call to approve_request.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources