MCP tools

Agent Pay status: Approve does not execute. Execution: not enabled. ACH settlement: not enabled. prepare_payment never moves money. Machine-readable: /docs/agents/status.json.

Names, scopes, and schemas generated from code. Machine-readable: /docs/agents/reference/mcp-tools.json.

Server points-mcp version 2.2.0, MCP protocol 2025-11-25, Streamable HTTP at https://thepoints.io/mcp. Every call needs an OAuth access token, and the tool's scope is checked on every call. No tool accepts an account identifier: the account comes from the OAuth grant.

ToolScopeRead-onlyListed by tools/list
get_account_summarybalances:readYesYes
list_transactionstransactions:readYesYes
find_savings_opportunitiesoptimize:readYesYes
create_payment_draftpayments:draftNoNo (retired, fails closed)
prepare_paymentpayments:draftNoYes
get_payment_statuspayments:statusYesYes
get_connection_identityidentity:readYesYes
get_account_statusmodule-status:readYesYes
get_agent_pay_policy_vocabularymodule-status:readYesYes
get_wallet_statusmodule-status:readYesYes

get_account_summary

Get account 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.

  • Scope: balances:read
  • Annotations: readOnlyHint true, destructiveHint false, idempotentHint true, openWorldHint false
  • Listed by tools/list: yes

Input schema:

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

list_transactions

List transactions. Read-only sandbox transaction list for the connected account.

  • Scope: transactions:read
  • Annotations: readOnlyHint true, destructiveHint false, idempotentHint true, openWorldHint false
  • Listed by tools/list: yes

Input schema:

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

find_savings_opportunities

Find savings opportunities. Read-only sandbox savings suggestions scoped to the connected account.

  • Scope: optimize:read
  • Annotations: readOnlyHint true, destructiveHint false, idempotentHint true, openWorldHint false
  • Listed by tools/list: yes

Input schema:

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

create_payment_draft

Create payment draft. Retired. Not listed by tools/list. A direct call fails closed with an explicit message to use prepare_payment.

  • Scope: payments:draft
  • Annotations: readOnlyHint false, destructiveHint false, idempotentHint true, openWorldHint false
  • Listed by tools/list: no
  • Every call returns: create_payment_draft is no longer an advertised POINTS MCP tool. Refresh tool discovery and use prepare_payment for Agent Pay payment preparation.

Input schema:

{
  "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
}

prepare_payment

Prepare agent payment. Agent Pay entry point. Checks policy, spending controls, and caps, then stages a draft that always needs human approval. It never moves money.

  • Scope: payments:draft
  • Annotations: readOnlyHint false, destructiveHint false, idempotentHint true, openWorldHint false
  • Listed by tools/list: yes

Input schema:

{
  "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
}

get_payment_status

Get payment draft status. Read-only status of a payment draft on the connected account, with read-time expiry applied. executed is always false.

  • Scope: payments:status
  • Annotations: readOnlyHint true, destructiveHint false, idempotentHint true, openWorldHint false
  • Listed by tools/list: yes

Input schema:

{
  "type": "object",
  "properties": {
    "draftId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120
    }
  },
  "required": [
    "draftId"
  ],
  "additionalProperties": false
}

get_connection_identity

Get connection identity. Read-only redacted identity of the connected account and its server-side mappings. No balances or secrets.

  • Scope: identity:read
  • Annotations: readOnlyHint true, destructiveHint false, idempotentHint true, openWorldHint false
  • Listed by tools/list: yes

Input schema:

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

get_account_status

Get account status. Read-only account type and module activation status.

  • Scope: module-status:read
  • Annotations: readOnlyHint true, destructiveHint false, idempotentHint true, openWorldHint false
  • Listed by tools/list: yes

Input schema:

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

get_agent_pay_policy_vocabulary

Get Agent Pay policy vocabulary. Read-only policy vocabulary: schema version, canonical categories, matching rules, velocity caps, and the allow and block lists for this connection.

  • Scope: module-status:read
  • Annotations: readOnlyHint true, destructiveHint false, idempotentHint true, openWorldHint false
  • Listed by tools/list: yes

Input schema:

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

get_wallet_status

Get wallet status. Read-only stored wallet status (staging) for the connected AI Agent. No balances and no raw wallet identifiers.

  • Scope: module-status:read
  • Annotations: readOnlyHint true, destructiveHint false, idempotentHint true, openWorldHint false
  • Listed by tools/list: yes

Input schema:

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}