Skip to main content
Glama

Nitech — heating spare parts and ordering

prepare_payment

DestructiveIdempotent

Préparer l’accès au paiement de la même commande : payment_method=card, transfer ou cheque. Fournir cart_id, cart_access, expected_amount, currency=EUR et idempotency_key. Une demande explicite identifiant commande, montant, devise et moyen vaut accord. Appeler confirmed=false puis confirmed=true avec la même clé UUID, le confirmation_token retourné et proof_reference identifiant cet accord, sans reposer la même question si le récapitulatif concorde. Si le montant ou les conditions changent, présenter le changement avant de demander un nouvel accord. Ne jamais inventer une preuve. Pour la carte, cet outil fournit seulement action.url, le lien privé /payments/card : aucun formulaire bancaire ni tentative n’est créé par l’appel MCP. Remettre ce lien au client sans l’ouvrir avec les outils de l’assistant. Le navigateur crée le formulaire Scellius lorsque le client poursuit. Une ancienne tentative, une ancienne référence bancaire ou un choix chèque/virement ne bloque pas cet accès. Le suivi de la commande commune détermine si elle est payable ; une commande payée ou annulée reste en consultation. retry_of reste accepté pour compatibilité et n’est pas nécessaire. Pour virement/chèque, confirmer enregistre le moyen choisi et renvoie les instructions existantes, sans règlement reçu, stock, e-mail ou facture. payment_page reste le lien général de choix et de suivi. Le client saisit sa carte uniquement chez Scellius. Après paiement, get_payment lit les données communes ; un lien ou un retour navigateur ne prouve pas le paiement. Au client, donner la référence, le montant et l’action utile ; ne pas exposer les étapes techniques.

Input Schema

NameRequiredDescriptionDefault
cart_idYes
currencyYes
retry_ofNo
confirmedYesfalse pour obtenir le jeton serveur ; true après concordance exacte avec un accord explicite acquis. Cette étape technique ne nécessite pas de répéter une question déjà répondue.
cart_accessYes
payment_methodNocard
expected_amountYes
idempotency_keyYes
proof_referenceNoRéférence traçable du message d’accord explicite du client (commande, montant, devise, moyen), y compris si cet accord précède l’aperçu technique. Ne pas inventer cette référence.
confirmation_tokenNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / description
      Previous value: -"Une demande explicite identifiant commande, montant, devise et moyen vaut accord pour cette préparation. Exécuter aperçu confirmed=false puis confirmed=true sans reposer la même question UNIQUEMENT si le résultat concorde exactement et qu’aucune nouvelle condition ne nécessite un accord. Conserver la même clé UUID, le jeton retourné et proof_reference identifiant le message explicite ; ne jamais inventer une preuve. S’il manque un élément ou si le résultat diffère, demander seulement la précision ou le nouvel accord nécessaire. Résultat accepté ou incertain : ne pas préparer une nouvelle tentative. "New value: +"Une demande explicite identifiant commande, montant, devise et moyen vaut accord. Appeler confirmed=false puis confirmed=true avec la même clé UUID, le confirmation_token retourné et proof_reference identifiant cet accord, sans reposer la même question si le récapitulatif concorde. Si le montant ou les conditions changent, présenter le changement avant de demander un nouvel accord. Ne jamais inventer une preuve."
  2. Changed4 schema fields changed
    • addedInput schema / description
      Added value: +"Une demande explicite identifiant commande, montant, devise et moyen vaut accord pour cette préparation. Exécuter aperçu confirmed=false puis confirmed=true sans reposer la même question UNIQUEMENT si le résultat concorde exactement et qu’aucune nouvelle condition ne nécessite un accord. Conserver la même clé UUID, le jeton retourné et proof_reference identifiant le message explicite ; ne jamais inventer une preuve. S’il manque un élément ou si le résultat diffère, demander seulement la précision ou le nouvel accord nécessaire. Résultat accepté ou incertain : ne pas préparer une nouvelle tentative. "
    • addedInput schema / properties / confirmed / description
      Added value: +"false pour obtenir le jeton serveur ; true après concordance exacte avec un accord explicite acquis. Cette étape technique ne nécessite pas de répéter une question déjà répondue."
    • addedInput schema / properties / proof_reference / description
      Added value: +"Référence traçable du message d’accord explicite du client (commande, montant, devise, moyen), y compris si cet accord précède l’aperçu technique. Ne pas inventer cette référence."
    • changedOutput schema / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "accepted_amount": {
      -        "pattern": "^[0-9]+\\.[0-9]{2}$",
      -        "type": "string"
      -      },
      -      "action": {
      -        "oneOf": [
      -          {
      -            "type": "null"
      -          },
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "expires_at": {
      -                "format": "date-time",
      -                "type": [
      -                  "string",
      -                  "null"
      -                ]
      -              },
      -              "provider": {
      -                "const": "Scellius / La Banque Postale"
      -              },
      -              "type": {
      -                "const": "open_secure_payment"
      -              },
      -              "url": {
      -                "pattern": "^https://mcp\\.nitech\\.fr/payments/(?:start\\?attempt=[a-f0-9]{32}&token=[a-f0-9]{64}|choose\\?cart_id=[1-9][0-9]*&access=p2\\.[0-7]\\.[a-f0-9]{64})$",
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "type",
      -              "url",
      -              "expires_at",
      -              "provider"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "amount": {
      -                "pattern": "^[0-9]+\\.[0-9]{2}$",
      -                "type": "string"
      -              },
      -              "bank": {
      -                "type": [
      -                  "string",
      -                  "null"
      -                ]
      -              },
      -              "bic": {
      -                "type": [
      -                  "string",
      -                  "null"
      -                ]
      -              },
      -              "currency": {
      -                "const": "EUR"
      -              },
      -              "deadline": {
      -                "type": "string"
      -              },
      -              "iban": {
      -                "type": [
      -                  "string",
      -                  "null"
      -                ]
      -              },
      -              "payee": {
      -                "minLength": 1,
      -                "type": "string"
      -              },
      -              "payment_method": {
      -                "enum": [
      -                  "cheque",
      -                  "transfer"
      -                ]
      -              },
      -              "postal_address": {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              "receipt_status": {
      -                "const": "awaiting_receipt"
      -              },
      -              "reference": {
      -                "type": "string"
      -              },
      -              "reference_instruction": {
      -                "type": "string"
      -              },
      -              "rib_url": {
      -                "type": [
      -                  "string",
      -                  "null"
      -                ]
      -              },
      -              "type": {
      -                "const": "payment_instructions"
      -              }
      -            },
      -            "required": [
      -              "postal_address",
      -              "amount",
      -              "payee",
      -              "reference",
      -              "currency",
      -              "bic",
      -              "iban",
      -              "payment_method",
      -              "receipt_status",
      -              "type",
      -              "deadline",
      -              "rib_url",
      -              "reference_instruction",
      -              "bank"
      -            ],
      -            "type": "object"
      -          }
      -        ]
      -      },
      -      "amount_to_pay": {
      -        "pattern": "^[0-9]+\\.[0-9]{2}$",
      -        "type": "string"
      -      },
      -      "attempt_id": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "available_methods": {
      -        "items": {
      -          "enum": [
      -            "card",
      -            "transfer",
      -            "cheque"
      -          ]
      -        },
      -        "type": "array",
      -        "uniqueItems": true
      -      },
      -      "bank_history": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "cancelled": {
      -            "pattern": "^[0-9]+\\.[0-9]{2}$",
      -            "type": "string"
      -          },
      -          "commercial_review_required": {
      -            "type": "boolean"
      -          },
      -          "debit": {
      -            "pattern": "^[0-9]+\\.[0-9]{2}$",
      -            "type": "string"
      -          },
      -          "events": {
      -            "items": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "disposition": {
      -                  "type": "string"
      -                },
      -                "event_id": {
      -                  "type": "string"
      -                },
      -                "fact": {
      -                  "additionalProperties": {
      -                    "type": "string"
      -                  },
      -                  "type": "object"
      -                },
      -                "received_at": {
      -                  "format": "date-time",
      -                  "type": "string"
      -                },
      -                "source": {
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "event_id",
      -                "received_at",
      -                "source",
      -                "disposition",
      -                "fact"
      -              ],
      -              "type": "object"
      -            },
      -            "type": "array"
      -          },
      -          "net": {
      -            "pattern": "^-?[0-9]+\\.[0-9]{2}$",
      -            "type": "string"
      -          },
      -          "next_action": {
      -            "type": "string"
      -          },
      -          "operations": {
      -            "items": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "amount": {
      -                  "pattern": "^[0-9]+\\.[0-9]{2}$",
      -                  "type": "string"
      -                },
      -                "bank_created_at": {
      -                  "pattern": "^[0-9]{14}$",
      -                  "type": "string"
      -                },
      -                "bank_uuid": {
      -                  "pattern": "^[a-f0-9]{32}$",
      -                  "type": "string"
      -                },
      -                "event_id": {
      -                  "pattern": "^[a-f0-9]{64}$",
      -                  "type": "string"
      -                },
      -                "initial_amount": {
      -                  "pattern": "^[0-9]+\\.[0-9]{2}$",
      -                  "type": "string"
      -                },
      -                "operation": {
      -                  "enum": [
      -                    "DEBIT",
      -                    "CREDIT"
      -                  ]
      -                },
      -                "original_attempt": {
      -                  "pattern": "^[a-f0-9]{32}$",
      -                  "type": "string"
      -                },
      -                "status": {
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "bank_uuid",
      -                "original_attempt",
      -                "operation",
      -                "status",
      -                "amount",
      -                "initial_amount",
      -                "bank_created_at",
      -                "event_id"
      -              ],
      -              "type": "object"
      -            },
      -            "type": "array"
      -          },
      -          "pending_events": {
      -            "minimum": 0,
      -            "type": "integer"
      -          },
      -          "reduced_before_capture": {
      -            "pattern": "^[0-9]+\\.[0-9]{2}$",
      -            "type": "string"
      -          },
      -          "refunded": {
      -            "pattern": "^[0-9]+\\.[0-9]{2}$",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "operations",
      -          "debit",
      -          "refunded",
      -          "net",
      -          "reduced_before_capture",
      -          "cancelled",
      -          "commercial_review_required",
      -          "pending_events",
      -          "next_action",
      -          "events"
      -        ],
      -        "type": "object"
      -      },
      -      "bank_observed_at": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "bank_reference": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "bank_status": {
      -        "enum": [
      -          "NOT_PREPARED",
      -          "PREPARED",
      -          "INITIAL",
      -          "WAITING_FOR_PAYMENT",
      -          "WAITING_AUTHORISATION",
      -          "WAITING_AUTHORISATION_TO_VALIDATE",
      -          "UNDER_VERIFICATION",
      -          "AUTHORISED_TO_VALIDATE",
      -          "AUTHORISED",
      -          "CAPTURED",
      -          "CAPTURE_FAILED",
      -          "REFUSED",
      -          "ABANDONED",
      -          "CANCELLED",
      -          "EXPIRED",
      -          "SUSPENDED"
      -        ]
      -      },
      -      "business_effects": {
      -        "enum": [
      -          "complete",
      -          "pending",
      -          "not_started"
      -        ]
      -      },
      -      "captured": {
      -        "type": "boolean"
      -      },
      -      "cart_id": {
      -        "maximum": 2147483647,
      -        "minimum": 1,
      -        "type": "integer"
      -      },
      -      "cart_state": {
      -        "type": "integer"
      -      },
      -      "confirmation_token": {
      -        "pattern": "^[0-9]{10}\\.[a-f0-9]{64}$",
      -        "type": "string"
      -      },
      -      "currency": {
      -        "const": "EUR"
      -      },
      -      "delivery_state": {
      -        "enum": [
      -          null,
      -          "LEGACY_UNKNOWN",
      -          "UNISSUED",
      -          "ISSUED",
      -          "RELEASED_UNISSUED"
      -        ]
      -      },
      -      "handoff_available": {
      -        "type": "boolean"
      -      },
      -      "method_change_allowed": {
      -        "type": "boolean"
      -      },
      -      "notice": {
      -        "type": "string"
      -      },
      -      "origin": {
      -        "const": "MCP"
      -      },
      -      "payment_method": {
      -        "enum": [
      -          null,
      -          "card",
      -          "transfer",
      -          "cheque"
      -        ],
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "payment_page": {
      -        "pattern": "^https://mcp\\.nitech\\.fr/payments/choose\\?cart_id=[1-9][0-9]*&access=",
      -        "type": "string"
      -      },
      -      "payment_status": {
      -        "enum": [
      -          "not_selected",
      -          "pending",
      -          "awaiting_receipt",
      -          "accepted",
      -          "captured",
      -          "reconciliation_required"
      -        ],
      -        "type": "string"
      -      },
      -      "reference": {
      -        "pattern": "^MCP-[1-9][0-9]*$",
      -        "type": "string"
      -      },
      -      "requested_method": {
      -        "enum": [
      -          "card",
      -          "transfer",
      -          "cheque"
      -        ],
      -        "type": "string"
      -      },
      -      "schema_version": {
      -        "const": "2.0"
      -      },
      -      "settlement_received": {
      -        "const": false
      -      },
      -      "status": {
      -        "enum": [
      -          "ok",
      -          "confirmation_required",
      -          "reconciliation_required"
      -        ]
      -      }
      -    },
      -    "required": [
      -      "notice",
      -      "accepted_amount",
      -      "bank_observed_at",
      -      "currency",
      -      "settlement_received",
      -      "schema_version",
      -      "cart_id",
      -      "bank_reference",
      -      "bank_status",
      -      "origin",
      -      "captured",
      -      "status",
      -      "reference",
      -      "cart_state",
      -      "action",
      -      "business_effects",
      -      "amount_to_pay",
      -      "attempt_id"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "code": {
      -            "type": "string"
      -          },
      -          "message": {
      -            "type": "string"
      -          },
      -          "retryable": {
      -            "type": "boolean"
      -          }
      -        },
      -        "required": [
      -          "code",
      -          "message",
      -          "retryable"
      -        ],
      -        "type": "object"
      -      }
      -    },
      -    "required": [
      -      "error"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "accepted_amount": {
      +        "pattern": "^[0-9]+\\.[0-9]{2}$",
      +        "type": "string"
      +      },
      +      "action": {
      +        "oneOf": [
      +          {
      +            "type": "null"
      +          },
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "expires_at": {
      +                "format": "date-time",
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "provider": {
      +                "const": "Scellius / La Banque Postale"
      +              },
      +              "type": {
      +                "const": "open_secure_payment"
      +              },
      +              "url": {
      +                "pattern": "^https://mcp\\.nitech\\.fr/payments/(?:start\\?attempt=[a-f0-9]{32}&token=[a-f0-9]{64}|(?:choose|card)\\?cart_id=[1-9][0-9]*&access=p2\\.[0-7]\\.[a-f0-9]{64})$",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "type",
      +              "url",
      +              "expires_at",
      +              "provider"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "amount": {
      +                "pattern": "^[0-9]+\\.[0-9]{2}$",
      +                "type": "string"
      +              },
      +              "bank": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "bic": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "currency": {
      +                "const": "EUR"
      +              },
      +              "deadline": {
      +                "type": "string"
      +              },
      +              "iban": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "payee": {
      +                "minLength": 1,
      +                "type": "string"
      +              },
      +              "payment_method": {
      +                "enum": [
      +                  "cheque",
      +                  "transfer"
      +                ]
      +              },
      +              "postal_address": {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              "receipt_status": {
      +                "const": "awaiting_receipt"
      +              },
      +              "reference": {
      +                "type": "string"
      +              },
      +              "reference_instruction": {
      +                "type": "string"
      +              },
      +              "rib_url": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "type": {
      +                "const": "payment_instructions"
      +              }
      +            },
      +            "required": [
      +              "postal_address",
      +              "amount",
      +              "payee",
      +              "reference",
      +              "currency",
      +              "bic",
      +              "iban",
      +              "payment_method",
      +              "receipt_status",
      +              "type",
      +              "deadline",
      +              "rib_url",
      +              "reference_instruction",
      +              "bank"
      +            ],
      +            "type": "object"
      +          }
      +        ]
      +      },
      +      "amount_to_pay": {
      +        "pattern": "^[0-9]+\\.[0-9]{2}$",
      +        "type": "string"
      +      },
      +      "attempt_id": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "available_methods": {
      +        "items": {
      +          "enum": [
      +            "card",
      +            "transfer",
      +            "cheque"
      +          ]
      +        },
      +        "type": "array",
      +        "uniqueItems": true
      +      },
      +      "bank_history": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "cancelled": {
      +            "pattern": "^[0-9]+\\.[0-9]{2}$",
      +            "type": "string"
      +          },
      +          "commercial_review_required": {
      +            "type": "boolean"
      +          },
      +          "debit": {
      +            "pattern": "^[0-9]+\\.[0-9]{2}$",
      +            "type": "string"
      +          },
      +          "events": {
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "disposition": {
      +                  "type": "string"
      +                },
      +                "event_id": {
      +                  "type": "string"
      +                },
      +                "fact": {
      +                  "additionalProperties": {
      +                    "type": "string"
      +                  },
      +                  "type": "object"
      +                },
      +                "received_at": {
      +                  "format": "date-time",
      +                  "type": "string"
      +                },
      +                "source": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "event_id",
      +                "received_at",
      +                "source",
      +                "disposition",
      +                "fact"
      +              ],
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "net": {
      +            "pattern": "^-?[0-9]+\\.[0-9]{2}$",
      +            "type": "string"
      +          },
      +          "next_action": {
      +            "type": "string"
      +          },
      +          "operations": {
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "amount": {
      +                  "pattern": "^[0-9]+\\.[0-9]{2}$",
      +                  "type": "string"
      +                },
      +                "bank_created_at": {
      +                  "pattern": "^[0-9]{14}$",
      +                  "type": "string"
      +                },
      +                "bank_uuid": {
      +                  "pattern": "^[a-f0-9]{32}$",
      +                  "type": "string"
      +                },
      +                "event_id": {
      +                  "pattern": "^[a-f0-9]{64}$",
      +                  "type": "string"
      +                },
      +                "initial_amount": {
      +                  "pattern": "^[0-9]+\\.[0-9]{2}$",
      +                  "type": "string"
      +                },
      +                "operation": {
      +                  "enum": [
      +                    "DEBIT",
      +                    "CREDIT"
      +                  ]
      +                },
      +                "original_attempt": {
      +                  "pattern": "^[a-f0-9]{32}$",
      +                  "type": "string"
      +                },
      +                "status": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "bank_uuid",
      +                "original_attempt",
      +                "operation",
      +                "status",
      +                "amount",
      +                "initial_amount",
      +                "bank_created_at",
      +                "event_id"
      +              ],
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "pending_events": {
      +            "minimum": 0,
      +            "type": "integer"
      +          },
      +          "reduced_before_capture": {
      +            "pattern": "^[0-9]+\\.[0-9]{2}$",
      +            "type": "string"
      +          },
      +          "refunded": {
      +            "pattern": "^[0-9]+\\.[0-9]{2}$",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "operations",
      +          "debit",
      +          "refunded",
      +          "net",
      +          "reduced_before_capture",
      +          "cancelled",
      +          "commercial_review_required",
      +          "pending_events",
      +          "next_action",
      +          "events"
      +        ],
      +        "type": "object"
      +      },
      +      "bank_observed_at": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "bank_reference": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "bank_status": {
      +        "enum": [
      +          "NOT_PREPARED",
      +          "PREPARED",
      +          "INITIAL",
      +          "WAITING_FOR_PAYMENT",
      +          "WAITING_AUTHORISATION",
      +          "WAITING_AUTHORISATION_TO_VALIDATE",
      +          "UNDER_VERIFICATION",
      +          "AUTHORISED_TO_VALIDATE",
      +          "AUTHORISED",
      +          "CAPTURED",
      +          "CAPTURE_FAILED",
      +          "REFUSED",
      +          "ABANDONED",
      +          "CANCELLED",
      +          "EXPIRED",
      +          "SUSPENDED"
      +        ]
      +      },
      +      "business_effects": {
      +        "enum": [
      +          "complete",
      +          "pending",
      +          "not_started"
      +        ]
      +      },
      +      "captured": {
      +        "type": "boolean"
      +      },
      +      "cart_id": {
      +        "maximum": 2147483647,
      +        "minimum": 1,
      +        "type": "integer"
      +      },
      +      "cart_state": {
      +        "type": "integer"
      +      },
      +      "confirmation_token": {
      +        "pattern": "^[0-9]{10}\\.[a-f0-9]{64}$",
      +        "type": "string"
      +      },
      +      "currency": {
      +        "const": "EUR"
      +      },
      +      "delivery_state": {
      +        "enum": [
      +          null,
      +          "LEGACY_UNKNOWN",
      +          "UNISSUED",
      +          "ISSUED",
      +          "RELEASED_UNISSUED"
      +        ]
      +      },
      +      "handoff_available": {
      +        "type": "boolean"
      +      },
      +      "method_change_allowed": {
      +        "type": "boolean"
      +      },
      +      "notice": {
      +        "type": "string"
      +      },
      +      "origin": {
      +        "const": "MCP"
      +      },
      +      "payment_method": {
      +        "enum": [
      +          null,
      +          "card",
      +          "transfer",
      +          "cheque"
      +        ],
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "payment_page": {
      +        "pattern": "^https://mcp\\.nitech\\.fr/payments/choose\\?cart_id=[1-9][0-9]*&access=",
      +        "type": "string"
      +      },
      +      "payment_status": {
      +        "enum": [
      +          "not_selected",
      +          "pending",
      +          "awaiting_receipt",
      +          "accepted",
      +          "captured",
      +          "reconciliation_required"
      +        ],
      +        "type": "string"
      +      },
      +      "reference": {
      +        "pattern": "^MCP-[1-9][0-9]*$",
      +        "type": "string"
      +      },
      +      "requested_method": {
      +        "enum": [
      +          "card",
      +          "transfer",
      +          "cheque"
      +        ],
      +        "type": "string"
      +      },
      +      "schema_version": {
      +        "const": "2.0"
      +      },
      +      "settlement_received": {
      +        "const": false
      +      },
      +      "status": {
      +        "enum": [
      +          "ok",
      +          "confirmation_required",
      +          "reconciliation_required"
      +        ]
      +      }
      +    },
      +    "required": [
      +      "notice",
      +      "accepted_amount",
      +      "bank_observed_at",
      +      "currency",
      +      "settlement_received",
      +      "schema_version",
      +      "cart_id",
      +      "bank_reference",
      +      "bank_status",
      +      "origin",
      +      "captured",
      +      "status",
      +      "reference",
      +      "cart_state",
      +      "action",
      +      "business_effects",
      +      "amount_to_pay",
      +      "attempt_id"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "error": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "code": {
      +            "type": "string"
      +          },
      +          "message": {
      +            "type": "string"
      +          },
      +          "retryable": {
      +            "type": "boolean"
      +          }
      +        },
      +        "required": [
      +          "code",
      +          "message",
      +          "retryable"
      +        ],
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "error"
      +    ],
      +    "type": "object"
      +  }
      +]
  3. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Goes well beyond the annotations: for card it returns only action.url (private /payments/card) and creates no bank form or attempt, and the agent must not open the link with assistant tools; for transfer/cheque, confirming records the method and returns existing instructions without payment received, stock, email or invoice. It also notes that an order paid or cancelled remains read-only. What it does not explain is why destructiveHint=true, since the card path is framed as side-effect free.

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

Conciseness4/5

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

Purpose and the card-only-returns-a-link rule are front-loaded, and nearly every sentence carries operational weight. However it is a dense run-on block with no structural separation between the flow steps, the side-effect scope, and the client-facing communication advice, and the agreement paragraph is duplicated almost verbatim in the schema description.

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

Completeness4/5

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

Given 10 parameters, a destructive/idempotent profile and an output schema, the description covers the two-step flow, the card versus transfer/cheque outcomes and the payability condition. Residual gaps are error paths such as token expiry or a non-payable order beyond the paid/cancelled case.

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

Parameters5/5

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

With only 20% schema coverage and 10 parameters, the description compensates thoroughly: it names cart_id, cart_access, expected_amount, currency=EUR, idempotency_key, payment_method, confirmed, confirmation_token and proof_reference, explains that the UUID key must stay identical across both calls, and clarifies retry_of is compatibility-only.

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?

States a concrete verb+resource: preparing payment access for an existing order across card/transfer/cheque. It explicitly differentiates from siblings by naming payment_page as the general choice/tracking link and get_payment as the post-payment read, so an agent can route correctly.

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?

Gives explicit when-to-use conditions ('une demande explicite identifiant commande, montant, devise et moyen vaut accord'), the exact two-call sequence (confirmed=false then true with the same UUID key), and when-not/no-need rules ('retry_of ... n'est pas nécessaire', don't re-ask if the summary matches). It also handles the change-of-amount branch by requiring a new agreement before confirming.

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