{"schemaVersion":1,"topic":"mcp-tools","title":"MCP tools","generatedFrom":["src/lib/business/points-mcp/metadata.ts","src/lib/business/points-mcp/scopes.ts"],"page":"/docs/agents/reference/mcp-tools","agentPayStatus":"/docs/agents/status.json","endpoint":"/mcp","transport":"Streamable HTTP","protocolVersion":"2025-11-25","server":{"name":"points-mcp","version":"2.2.0"},"tools":[{"name":"get_account_summary","title":"Get account summary","advertised":true,"lifecycle":"live","requiredScope":"balances:read","summary":"Read-only balance summary for the connected account. The available balance is unreserved cash, after Agent Pay reserved and escrowed amounts. Sources are labelled sandbox.","description":"Read-only balance summary for the authorized Points account. availableBalanceCents is unreserved cash after Agent Pay reserved and escrowed buckets (see agentPaySpend). Wallet and checking sources are labeled sandbox; PTS is unavailable unless a separate staging token is configured.","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"list_transactions","title":"List transactions","advertised":true,"lifecycle":"live","requiredScope":"transactions:read","summary":"Read-only sandbox transaction list for the connected account.","description":"Read-only sandbox transaction list for the authorized Points account.","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"find_savings_opportunities","title":"Find savings opportunities","advertised":true,"lifecycle":"live","requiredScope":"optimize:read","summary":"Read-only sandbox savings suggestions scoped to the connected account.","description":"Read-only sandbox opportunities scoped to the authorized Points account.","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"create_payment_draft","title":"Create payment draft","advertised":false,"lifecycle":"retired_fails_closed","requiredScope":"payments:draft","summary":"Retired. Not listed by tools/list. A direct call fails closed with an explicit message to use prepare_payment.","description":"Retired external MCP tool. Direct tools/call fails closed; refresh tool discovery and use prepare_payment for Agent Pay payment preparation. Not advertised on tools/list.","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"inputSchema":{"type":"object","properties":{"amountCents":{"type":"integer","minimum":1,"maximum":10000000},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"recipient":{"type":"string","minLength":1,"maxLength":160},"reference":{"type":"string","minLength":1,"maxLength":240},"idempotencyKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,120}$"}},"required":["amountCents","currency","recipient","reference","idempotencyKey"],"additionalProperties":false},"retiredMessage":"create_payment_draft is no longer an advertised POINTS MCP tool. Refresh tool discovery and use prepare_payment for Agent Pay payment preparation."},{"name":"prepare_payment","title":"Prepare agent payment","advertised":true,"lifecycle":"live","requiredScope":"payments:draft","summary":"Agent Pay entry point. Checks policy, spending controls, and caps, then stages a draft that always needs human approval. It never moves money.","description":"Canonical Agent Pay entry point. Use when the user asks this AI agent to prepare, initiate, stage, or propose a payment or purchase to a merchant. Evaluates Points Agent policy, spending controls, and P2 autonomy/escrow/micropay gates and creates a draft requiring operator approval. Never executes or moves money. Optional category must be one of: ai_compute, advertising_marketing, saas_apis, ecommerce_procurement, logistics. Optional paymentPattern: standard | sell_side_job | micropayment. Optional policySchemaVersion must be within get_agent_pay_policy_vocabulary supported range (unsupported fails closed).","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"inputSchema":{"type":"object","properties":{"amountCents":{"type":"integer","minimum":1,"maximum":10000000},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"merchant":{"type":"string","minLength":1,"maxLength":160},"category":{"type":"string","enum":["ai_compute","advertising_marketing","saas_apis","ecommerce_procurement","logistics"]},"reference":{"type":"string","minLength":1,"maxLength":240},"idempotencyKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,120}$"},"paymentPattern":{"type":"string","enum":["standard","sell_side_job","micropayment"],"description":"Optional Agent Pay P2 pattern. sell_side_job holds escrow before work; micropayment reserves fee before send and charges only on HTTP 2xx. Never moves money while execution is disabled."},"policySchemaVersion":{"type":"integer","minimum":1,"maximum":32,"description":"Policy schema version from get_agent_pay_policy_vocabulary.policySchemaVersion. Unsupported versions fail closed on spend. Omit only for legacy clients."}},"required":["amountCents","currency","merchant","idempotencyKey"],"additionalProperties":false}},{"name":"get_payment_status","title":"Get payment draft status","advertised":true,"lifecycle":"live","requiredScope":"payments:status","summary":"Read-only status of a payment draft on the connected account, with read-time expiry applied. executed is always false.","description":"Read-only status for an authorized account payment draft.","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"inputSchema":{"type":"object","properties":{"draftId":{"type":"string","minLength":1,"maxLength":120}},"required":["draftId"],"additionalProperties":false}},{"name":"get_connection_identity","title":"Get connection identity","advertised":true,"lifecycle":"live","requiredScope":"identity:read","summary":"Read-only redacted identity of the connected account and its server-side mappings. No balances or secrets.","description":"Read-only redacted identity for the authorized POINTS account and its server-side provider mappings. It never returns balances or provider secrets and accepts no account identifier.","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"get_account_status","title":"Get account status","advertised":true,"lifecycle":"live","requiredScope":"module-status:read","summary":"Read-only account type and module activation status.","description":"Read-only account type and safe module activation status for the authorized account. No financial, identity, compliance, or provider secrets are returned.","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"get_agent_pay_policy_vocabulary","title":"Get Agent Pay policy vocabulary","advertised":true,"lifecycle":"live","requiredScope":"module-status:read","summary":"Read-only policy vocabulary: schema version, canonical categories, matching rules, velocity caps, and the allow and block lists for this connection.","description":"Read-only discoverable Agent Pay policy vocabulary for MCP clients: policySchemaVersion (+ min/max supported), canonical category values (ai_compute, advertising_marketing, saas_apis, ecommerce_procurement, logistics), exact-match rules with no aliases, velocity/aggregation caps, and the operator agent allow/block lists. Does not bypass evaluateAgentPolicy. Clients should send policySchemaVersion on prepare_payment.","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"get_wallet_status","title":"Get wallet status","advertised":true,"lifecycle":"live","requiredScope":"module-status:read","summary":"Read-only stored wallet status (staging) for the connected AI Agent. No balances and no raw wallet identifiers.","description":"Read-only normalized Crossmint staging wallet status for the selected POINTS AI Agent. It reads stored projection data only and never retrieves balances or raw wallet identifiers.","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false}}]}