MCP Server for ASG Card — give AI agents autonomous virtual card management via x402. Exposes 18 tools for managing virtual MasterCard cards with autonomous x402 payment on Stellar.
18 tools with consistent verb-noun naming (get_, create_, list_, fund_, freeze_, etc.). Descriptions present for all tools (avg ~120 chars), but many lack depth on WHEN to use them or prerequisites. Input schemas visible for all tools with proper type definitions (string, object). Critical gap: NO output schemas documented anywhere, LLMs cannot plan downstream calls or extract return values. Error handling descriptions missing entirely. Security-sensitive tools (create_card, get_card_details) lack permission/scope declarations. Composition is reasonable (single responsibility per tool), but no pagination guidance for list_cards or get_transactions despite potential for large result sets.
Register wallet + get TG deep-link for identity binding
Create a new virtual debit card. Pays on-chain with USDC via x402 protocol — fully autonomous, no human intervention needed. Returns card details (PAN, CVV, expiry) in the response.
Freeze a card temporarily
Fund an existing card with additional USDC. Pays on-chain via x402 protocol — fully autonomous.
Get live card balance from 4payments
Get card summary by ID
No output schemas documented for any tool. LLMs cannot infer return structure, field names, or types. Breaks downstream tool chaining and forces agents to guess at response format.
Sensitive tools (create_card, get_card_details, fund_card) lack permission/scope declarations. No indication of what authorization level is required or what audit trail is maintained.
No error handling guidance in any tool description. LLMs cannot determine if failures are retryable, user-fixable, or fatal. No recovery paths documented.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
Get sensitive card details (PAN, CVV, expiry)
Generate fund.asgcard.dev URL for wallet funding
Check onboarding lifecycle status
Get pricing info
Get card transaction history from 4payments
Get USDC balance (API-cached + Horizon fallback)
Check wallet readiness: returns public key, USDC and XLM balances on Stellar, whether balance is sufficient for card creation, and next-step guidance. Use this FIRST before any card operations to verify the wallet is funded.
List all cards for the wallet
Generate Telegram deep-link for notification binding
Disconnect Telegram notifications
Check Telegram connection status
Unfreeze a frozen card
List tools (list_cards, get_transactions) lack pagination parameters (limit, offset, cursor) and result count guidance. Large result sets could exhaust context window.
Descriptions for telegram_* tools are vague ('Generate Telegram deep-link', 'Check Telegram connection status'). Missing WHEN to use them and what prerequisites exist (e.g., must call connect_telegram first?).