Skip to main content
Glama

Pay

pay
DestructiveIdempotent

Open hosted selection for an immutable payment request.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
requestYes
idempotencyKeyNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • removedInput schema / properties / agent
      Removed value: -{
      -  "maxLength": 200,
      -  "minLength": 1,
      -  "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -  "type": "string"
      -}
    • removedInput schema / properties / method
      Removed value: -{
      -  "enum": [
      -    "card",
      -    "bank",
      -    "hosted_checkout",
      -    "darwin_wallet",
      -    "mpp",
      -    "x402",
      -    "ucp",
      -    "acp"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / paymentMethod
      Removed value: -{
      -  "maxLength": 200,
      -  "minLength": 1,
      -  "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -  "type": "string"
      -}
    • changedInput schema / required
      Previous value: -[
      -  "request",
      -  "method"
      -]New value: +[
      +  "request"
      +]
    • changedOutput schema / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "expiresAt": {
      -        "format": "date-time",
      -        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      -        "type": "string"
      -      },
      -      "idempotencyKey": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "payment": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "status": {
      -        "enum": [
      -          "prepared",
      -          "dispatching",
      -          "uncertain",
      -          "pending"
      -        ],
      -        "type": "string"
      -      },
      -      "url": {
      -        "format": "uri",
      -        "maxLength": 2048,
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "payment",
      -      "expiresAt",
      -      "idempotencyKey",
      -      "status",
      -      "url"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "expiresAt": {
      -        "format": "date-time",
      -        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      -        "type": "string"
      -      },
      -      "idempotencyKey": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "payment": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "receipt": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "status": {
      -        "enum": [
      -          "settled",
      -          "partially_refunded",
      -          "reversal_pending",
      -          "reversal_failed",
      -          "disputed",
      -          "refunded"
      -        ],
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "payment",
      -      "expiresAt",
      -      "idempotencyKey",
      -      "status",
      -      "receipt"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "expiresAt": {
      -        "format": "date-time",
      -        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      -        "type": "string"
      -      },
      -      "idempotencyKey": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "payment": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "status": {
      -        "enum": [
      -          "failed",
      -          "voided"
      -        ],
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "payment",
      -      "expiresAt",
      -      "idempotencyKey",
      -      "status"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "expiresAt": {
      +        "format": "date-time",
      +        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      +        "type": "string"
      +      },
      +      "idempotencyKey": {
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +        "type": "string"
      +      },
      +      "request": {
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +        "type": "string"
      +      },
      +      "status": {
      +        "const": "selection_required",
      +        "type": "string"
      +      },
      +      "url": {
      +        "format": "uri",
      +        "maxLength": 2048,
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "request",
      +      "status",
      +      "expiresAt",
      +      "url",
      +      "idempotencyKey"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "expiresAt": {
      +        "format": "date-time",
      +        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      +        "type": "string"
      +      },
      +      "idempotencyKey": {
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +        "type": "string"
      +      },
      +      "payment": {
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +        "type": "string"
      +      },
      +      "status": {
      +        "enum": [
      +          "prepared",
      +          "dispatching",
      +          "uncertain",
      +          "pending"
      +        ],
      +        "type": "string"
      +      },
      +      "url": {
      +        "format": "uri",
      +        "maxLength": 2048,
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "payment",
      +      "expiresAt",
      +      "idempotencyKey",
      +      "status",
      +      "url"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "expiresAt": {
      +        "format": "date-time",
      +        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      +        "type": "string"
      +      },
      +      "idempotencyKey": {
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +        "type": "string"
      +      },
      +      "payment": {
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +        "type": "string"
      +      },
      +      "receipt": {
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +        "type": "string"
      +      },
      +      "status": {
      +        "enum": [
      +          "settled",
      +          "partially_refunded",
      +          "reversal_pending",
      +          "reversal_failed",
      +          "disputed",
      +          "refunded"
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "payment",
      +      "expiresAt",
      +      "idempotencyKey",
      +      "status",
      +      "receipt"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "expiresAt": {
      +        "format": "date-time",
      +        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      +        "type": "string"
      +      },
      +      "idempotencyKey": {
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +        "type": "string"
      +      },
      +      "payment": {
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +        "type": "string"
      +      },
      +      "status": {
      +        "enum": [
      +          "failed",
      +          "voided"
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "payment",
      +      "expiresAt",
      +      "idempotencyKey",
      +      "status"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. Changed8 schema fields changed
    • removedInput schema / properties / actingAiId
      Removed value: -{
      -  "maxLength": 200,
      -  "minLength": 1,
      -  "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -  "type": "string"
      -}
    • addedInput schema / properties / agent
      Added value: +{
      +  "maxLength": 200,
      +  "minLength": 1,
      +  "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +  "type": "string"
      +}
    • addedInput schema / properties / paymentMethod
      Added value: +{
      +  "maxLength": 200,
      +  "minLength": 1,
      +  "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +  "type": "string"
      +}
    • removedInput schema / properties / paymentMethodId
      Removed value: -{
      -  "maxLength": 200,
      -  "minLength": 1,
      -  "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -  "type": "string"
      -}
    • removedInput schema / properties / paymentRequestId
      Removed value: -{
      -  "maxLength": 200,
      -  "minLength": 1,
      -  "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -  "type": "string"
      -}
    • addedInput schema / properties / request
      Added value: +{
      +  "maxLength": 200,
      +  "minLength": 1,
      +  "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "actingAiId",
      -  "paymentRequestId",
      -  "method",
      -  "idempotencyKey"
      -]New value: +[
      +  "request",
      +  "method"
      +]
    • changedOutput schema / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "amountMinor": {
      -        "pattern": "^[1-9][0-9]{0,17}$",
      -        "type": "string"
      -      },
      -      "currency": {
      -        "pattern": "^[A-Z]{3}$",
      -        "type": "string"
      -      },
      -      "disputeAmountMinor": {
      -        "pattern": "^[1-9][0-9]{0,17}$",
      -        "type": "string"
      -      },
      -      "disputeStatus": {
      -        "enum": [
      -          "warning_needs_response",
      -          "warning_under_review",
      -          "warning_closed",
      -          "needs_response",
      -          "under_review",
      -          "won",
      -          "lost"
      -        ],
      -        "type": "string"
      -      },
      -      "expiresAt": {
      -        "format": "date-time",
      -        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      -        "type": "string"
      -      },
      -      "failedRefundAmountMinor": {
      -        "pattern": "^[1-9][0-9]{0,17}$",
      -        "type": "string"
      -      },
      -      "method": {
      -        "enum": [
      -          "card",
      -          "bank",
      -          "hosted_checkout",
      -          "darwin_wallet",
      -          "mpp",
      -          "x402",
      -          "ucp",
      -          "acp"
      -        ],
      -        "type": "string"
      -      },
      -      "payeeId": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "paymentId": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "paymentMethodId": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "paymentRequestId": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "paymentUrl": {
      -        "format": "uri",
      -        "maxLength": 2048,
      -        "type": "string"
      -      },
      -      "pendingRefundAmountMinor": {
      -        "pattern": "^[1-9][0-9]{0,17}$",
      -        "type": "string"
      -      },
      -      "reconciliationRequired": {
      -        "const": false,
      -        "type": "boolean"
      -      },
      -      "refundAmountMinor": {
      -        "pattern": "^(0|[1-9][0-9]{0,17})$",
      -        "type": "string"
      -      },
      -      "revision": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "status": {
      -        "const": "prepared",
      -        "type": "string"
      -      },
      -      "threadId": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "paymentId",
      -      "paymentRequestId",
      -      "threadId",
      -      "revision",
      -      "method",
      -      "paymentMethodId",
      -      "amountMinor",
      -      "currency",
      -      "payeeId",
      -      "expiresAt",
      -      "status",
      -      "reconciliationRequired",
      -      "paymentUrl"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "amountMinor": {
      -        "pattern": "^[1-9][0-9]{0,17}$",
      -        "type": "string"
      -      },
      -      "currency": {
      -        "pattern": "^[A-Z]{3}$",
      -        "type": "string"
      -      },
      -      "disputeAmountMinor": {
      -        "pattern": "^[1-9][0-9]{0,17}$",
      -        "type": "string"
      -      },
      -      "disputeStatus": {
      -        "enum": [
      -          "warning_needs_response",
      -          "warning_under_review",
      -          "warning_closed",
      -          "needs_response",
      -          "under_review",
      -          "won",
      -          "lost"
      -        ],
      -        "type": "string"
      -      },
      -      "expiresAt": {
      -        "format": "date-time",
      -        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      -        "type": "string"
      -      },
      -      "failedRefundAmountMinor": {
      -        "pattern": "^[1-9][0-9]{0,17}$",
      -        "type": "string"
      -      },
      -      "method": {
      -        "enum": [
      -          "card",
      -          "bank",
      -          "hosted_checkout",
      -          "darwin_wallet",
      -          "mpp",
      -          "x402",
      -          "ucp",
      -          "acp"
      -        ],
      -        "type": "string"
      -      },
      -      "payeeId": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "paymentId": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "paymentMethodId": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "paymentRequestId": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "paymentUrl": {
      -        "format": "uri",
      -        "maxLength": 2048,
      -        "type": "string"
      -      },
      -      "pendingRefundAmountMinor": {
      -        "pattern": "^[1-9][0-9]{0,17}$",
      -        "type": "string"
      -      },
      -      "reconciliationRequired": {
      -        "const": true,
      -        "type": "boolean"
      -      },
      -      "refundAmountMinor": {
      -        "pattern": "^(0|[1-9][0-9]{0,17})$",
      -        "type": "string"
      -      },
      -      "revision": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "status": {
      -        "enum": [
      -          "dispatching",
      -          "uncertain",
      -          "pending"
      -        ],
      -        "type": "string"
      -      },
      -      "threadId": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "paymentId",
      -      "paymentRequestId",
      -      "threadId",
      -      "revision",
      -      "method",
      -      "paymentMethodId",
      -      "amountMinor",
      -      "currency",
      -      "payeeId",
      -      "expiresAt",
      -      "status",
      -      "reconciliationRequired",
      -      "paymentUrl"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "amountMinor": {
      -        "pattern": "^[1-9][0-9]{0,17}$",
      -        "type": "string"
      -      },
      -      "currency": {
      -        "pattern": "^[A-Z]{3}$",
      -        "type": "string"
      -      },
      -      "disputeAmountMinor": {
      -        "pattern": "^[1-9][0-9]{0,17}$",
      -        "type": "string"
      -      },
      -      "disputeStatus": {
      -        "enum": [
      -          "warning_needs_response",
      -          "warning_under_review",
      -          "warning_closed",
      -          "needs_response",
      -          "under_review",
      -          "won",
      -          "lost"
      -        ],
      -        "type": "string"
      -      },
      -      "expiresAt": {
      -        "format": "date-time",
      -        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      -        "type": "string"
      -      },
      -      "failedRefundAmountMinor": {
      -        "pattern": "^[1-9][0-9]{0,17}$",
      -        "type": "string"
      -      },
      -      "method": {
      -        "enum": [
      -          "card",
      -          "bank",
      -          "hosted_checkout",
      -          "darwin_wallet",
      -          "mpp",
      -          "x402",
      -          "ucp",
      -          "acp"
      -        ],
      -        "type": "string"
      -      },
      -      "payeeId": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "paymentId": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "paymentMethodId": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "paymentRequestId": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "pendingRefundAmountMinor": {
      -        "pattern": "^[1-9][0-9]{0,17}$",
      -        "type": "string"
      -      },
      -      "receiptId": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "receiptRelay": {
      -        "enum": [
      -          "pending",
      -          "delivered",
      -          "unknown",
      -          "withheld"
      -        ],
      -        "type": "string"
      -      },
      -      "reconciliationRequired": {
      -        "const": false,
      -        "type": "boolean"
      -      },
      -      "refundAmountMinor": {
      -        "pattern": "^(0|[1-9][0-9]{0,17})$",
      -        "type": "string"
      -      },
      -      "revision": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "status": {
      -        "const": "settled",
      -        "type": "string"
      -      },
      -      "threadId": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "paymentId",
      -      "paymentRequestId",
      -      "threadId",
      -      "revision",
      -      "method",
      -      "paymentMethodId",
      -      "amountMinor",
      -      "currency",
      -      "payeeId",
      -      "expiresAt",
      -      "status",
      -      "reconciliationRequired",
      -      "receiptId",
      -      "receiptRelay"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "amountMinor": {
      -        "pattern": "^[1-9][0-9]{0,17}$",
      -        "type": "string"
      -      },
      -      "currency": {
      -        "pattern": "^[A-Z]{3}$",
      -        "type": "string"
      -      },
      -      "disputeAmountMinor": {
      -        "pattern": "^[1-9][0-9]{0,17}$",
      -        "type": "string"
      -      },
      -      "disputeStatus": {
      -        "enum": [
      -          "warning_needs_response",
      -          "warning_under_review",
      -          "warning_closed",
      -          "needs_response",
      -          "under_review",
      -          "won",
      -          "lost"
      -        ],
      -        "type": "string"
      -      },
      -      "expiresAt": {
      -        "format": "date-time",
      -        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      -        "type": "string"
      -      },
      -      "failedRefundAmountMinor": {
      -        "pattern": "^[1-9][0-9]{0,17}$",
      -        "type": "string"
      -      },
      -      "method": {
      -        "enum": [
      -          "card",
      -          "bank",
      -          "hosted_checkout",
      -          "darwin_wallet",
      -          "mpp",
      -          "x402",
      -          "ucp",
      -          "acp"
      -        ],
      -        "type": "string"
      -      },
      -      "payeeId": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "paymentId": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "paymentMethodId": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "paymentRequestId": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "pendingRefundAmountMinor": {
      -        "pattern": "^[1-9][0-9]{0,17}$",
      -        "type": "string"
      -      },
      -      "receiptId": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "receiptRelay": {
      -        "enum": [
      -          "pending",
      -          "delivered",
      -          "unknown",
      -          "withheld"
      -        ],
      -        "type": "string"
      -      },
      -      "reconciliationRequired": {
      -        "const": true,
      -        "type": "boolean"
      -      },
      -      "refundAmountMinor": {
      -        "pattern": "^(0|[1-9][0-9]{0,17})$",
      -        "type": "string"
      -      },
      -      "revision": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "status": {
      -        "enum": [
      -          "partially_refunded",
      -          "reversal_pending",
      -          "reversal_failed",
      -          "disputed"
      -        ],
      -        "type": "string"
      -      },
      -      "threadId": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "paymentId",
      -      "paymentRequestId",
      -      "threadId",
      -      "revision",
      -      "method",
      -      "paymentMethodId",
      -      "amountMinor",
      -      "currency",
      -      "payeeId",
      -      "expiresAt",
      -      "status",
      -      "reconciliationRequired",
      -      "receiptId",
      -      "receiptRelay"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "amountMinor": {
      -        "pattern": "^[1-9][0-9]{0,17}$",
      -        "type": "string"
      -      },
      -      "currency": {
      -        "pattern": "^[A-Z]{3}$",
      -        "type": "string"
      -      },
      -      "disputeAmountMinor": {
      -        "pattern": "^[1-9][0-9]{0,17}$",
      -        "type": "string"
      -      },
      -      "disputeStatus": {
      -        "enum": [
      -          "warning_needs_response",
      -          "warning_under_review",
      -          "warning_closed",
      -          "needs_response",
      -          "under_review",
      -          "won",
      -          "lost"
      -        ],
      -        "type": "string"
      -      },
      -      "expiresAt": {
      -        "format": "date-time",
      -        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      -        "type": "string"
      -      },
      -      "failedRefundAmountMinor": {
      -        "pattern": "^[1-9][0-9]{0,17}$",
      -        "type": "string"
      -      },
      -      "method": {
      -        "enum": [
      -          "card",
      -          "bank",
      -          "hosted_checkout",
      -          "darwin_wallet",
      -          "mpp",
      -          "x402",
      -          "ucp",
      -          "acp"
      -        ],
      -        "type": "string"
      -      },
      -      "payeeId": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "paymentId": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "paymentMethodId": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "paymentRequestId": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "pendingRefundAmountMinor": {
      -        "pattern": "^[1-9][0-9]{0,17}$",
      -        "type": "string"
      -      },
      -      "receiptId": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "receiptRelay": {
      -        "enum": [
      -          "pending",
      -          "delivered",
      -          "unknown",
      -          "withheld"
      -        ],
      -        "type": "string"
      -      },
      -      "reconciliationRequired": {
      -        "const": false,
      -        "type": "boolean"
      -      },
      -      "refundAmountMinor": {
      -        "pattern": "^(0|[1-9][0-9]{0,17})$",
      -        "type": "string"
      -      },
      -      "revision": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "status": {
      -        "const": "refunded",
      -        "type": "string"
      -      },
      -      "threadId": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "paymentId",
      -      "paymentRequestId",
      -      "threadId",
      -      "revision",
      -      "method",
      -      "paymentMethodId",
      -      "amountMinor",
      -      "currency",
      -      "payeeId",
      -      "expiresAt",
      -      "status",
      -      "reconciliationRequired",
      -      "receiptId",
      -      "receiptRelay"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "amountMinor": {
      -        "pattern": "^[1-9][0-9]{0,17}$",
      -        "type": "string"
      -      },
      -      "currency": {
      -        "pattern": "^[A-Z]{3}$",
      -        "type": "string"
      -      },
      -      "disputeAmountMinor": {
      -        "pattern": "^[1-9][0-9]{0,17}$",
      -        "type": "string"
      -      },
      -      "disputeStatus": {
      -        "enum": [
      -          "warning_needs_response",
      -          "warning_under_review",
      -          "warning_closed",
      -          "needs_response",
      -          "under_review",
      -          "won",
      -          "lost"
      -        ],
      -        "type": "string"
      -      },
      -      "expiresAt": {
      -        "format": "date-time",
      -        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      -        "type": "string"
      -      },
      -      "failedRefundAmountMinor": {
      -        "pattern": "^[1-9][0-9]{0,17}$",
      -        "type": "string"
      -      },
      -      "method": {
      -        "enum": [
      -          "card",
      -          "bank",
      -          "hosted_checkout",
      -          "darwin_wallet",
      -          "mpp",
      -          "x402",
      -          "ucp",
      -          "acp"
      -        ],
      -        "type": "string"
      -      },
      -      "payeeId": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "paymentId": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "paymentMethodId": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "paymentRequestId": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "pendingRefundAmountMinor": {
      -        "pattern": "^[1-9][0-9]{0,17}$",
      -        "type": "string"
      -      },
      -      "reconciliationRequired": {
      -        "const": false,
      -        "type": "boolean"
      -      },
      -      "refundAmountMinor": {
      -        "pattern": "^(0|[1-9][0-9]{0,17})$",
      -        "type": "string"
      -      },
      -      "revision": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "status": {
      -        "enum": [
      -          "failed",
      -          "voided"
      -        ],
      -        "type": "string"
      -      },
      -      "threadId": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "paymentId",
      -      "paymentRequestId",
      -      "threadId",
      -      "revision",
      -      "method",
      -      "paymentMethodId",
      -      "amountMinor",
      -      "currency",
      -      "payeeId",
      -      "expiresAt",
      -      "status",
      -      "reconciliationRequired"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "expiresAt": {
      +        "format": "date-time",
      +        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      +        "type": "string"
      +      },
      +      "idempotencyKey": {
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +        "type": "string"
      +      },
      +      "payment": {
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +        "type": "string"
      +      },
      +      "status": {
      +        "enum": [
      +          "prepared",
      +          "dispatching",
      +          "uncertain",
      +          "pending"
      +        ],
      +        "type": "string"
      +      },
      +      "url": {
      +        "format": "uri",
      +        "maxLength": 2048,
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "payment",
      +      "expiresAt",
      +      "idempotencyKey",
      +      "status",
      +      "url"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "expiresAt": {
      +        "format": "date-time",
      +        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      +        "type": "string"
      +      },
      +      "idempotencyKey": {
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +        "type": "string"
      +      },
      +      "payment": {
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +        "type": "string"
      +      },
      +      "receipt": {
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +        "type": "string"
      +      },
      +      "status": {
      +        "enum": [
      +          "settled",
      +          "partially_refunded",
      +          "reversal_pending",
      +          "reversal_failed",
      +          "disputed",
      +          "refunded"
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "payment",
      +      "expiresAt",
      +      "idempotencyKey",
      +      "status",
      +      "receipt"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "expiresAt": {
      +        "format": "date-time",
      +        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      +        "type": "string"
      +      },
      +      "idempotencyKey": {
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +        "type": "string"
      +      },
      +      "payment": {
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +        "type": "string"
      +      },
      +      "status": {
      +        "enum": [
      +          "failed",
      +          "voided"
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "payment",
      +      "expiresAt",
      +      "idempotencyKey",
      +      "status"
      +    ],
      +    "type": "object"
      +  }
      +]
  3. Added

TDQS

C2.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=true, and destructiveHint=true. The description adds that the payment request is immutable and that selection is hosted, which is useful context, but it does not explain auth requirements, what destructive behavior entails, or how idempotency is enforced.

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

Conciseness3/5

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

The description is a single concise sentence with no wasted words. However, it is under-specified for a payment tool with multiple behavioral annotations and two parameters, so conciseness comes at the cost of useful detail.

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

Completeness2/5

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

An output schema exists, so return values need not be described, and annotations cover the safety profile. Still, with 0% schema description coverage and no usage guidance, the description leaves critical gaps about parameter meaning and when to invoke the tool.

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

Parameters1/5

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

Schema description coverage is 0%, so the description must compensate for undocumented parameters. It does not explain the required 'request' parameter or the optional 'idempotencyKey' parameter, their formats, or their roles in the payment flow.

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

Purpose3/5

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

The description states an action and resource: 'Open hosted selection for an immutable payment request.' However, it does not clearly say that this initiates a payment, and it does not distinguish the tool from siblings like list_payment_methods or authenticate. The purpose is implied but vague.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. The description gives no indication of the context in which an agent should select pay over sibling tools.

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