Skip to main content
Glama

postedly_checkout

Read-onlyIdempotent

Returns a private browser review link for an existing, owned, unexpired quote, identified by quoteId. The review page shows the exact final proof or item, recipient, total and terms, reuses or verifies the human payer’s own receipt email, and collects the payer’s explicit approval before hosted Stripe Checkout. Does not approve the quote, accept terms, create an order, take payment or send anything.

Input Schema

NameRequiredDescriptionDefault
quoteIdYes
acceptedTermsNoDeprecated and ignored. Has no effect; terms are accepted only on the browser review page.
confirmedDocumentNoDeprecated and ignored. Has no effect; the document is approved only on the browser review page.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / acceptedTerms / description
      Previous value: -"Deprecated and ignored. Terms acceptance must happen on the browser review page; this field never grants approval."New value: +"Deprecated and ignored. Has no effect; terms are accepted only on the browser review page."
    • changedInput schema / properties / confirmedDocument / description
      Previous value: -"Deprecated and ignored. Document approval must happen on the browser review page; this field never grants approval."New value: +"Deprecated and ignored. Has no effect; the document is approved only on the browser review page."
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -{
      -  "$schema": "https://json-schema.org/draft/2020-12/schema",
      -  "anyOf": [
      -    {
      -      "additionalProperties": false,
      -      "properties": {
      -        "expiresAt": {
      -          "type": "string"
      -        },
      -        "instructions": {
      -          "type": "string"
      -        },
      -        "requiresBrowserApproval": {
      -          "const": true
      -        },
      -        "url": {
      -          "format": "uri",
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "url",
      -        "requiresBrowserApproval",
      -        "expiresAt",
      -        "instructions"
      -      ],
      -      "type": "object"
      -    },
      -    {
      -      "additionalProperties": false,
      -      "properties": {
      -        "error": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "code": {
      -              "minLength": 1,
      -              "type": "string"
      -            },
      -            "details": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "addressRole": {
      -                  "enum": [
      -                    "recipient",
      -                    "sender"
      -                  ]
      -                },
      -                "canSendAsEntered": {
      -                  "type": "boolean"
      -                }
      -              },
      -              "required": [
      -                "addressRole",
      -                "canSendAsEntered"
      -              ],
      -              "type": "object"
      -            },
      -            "message": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "code",
      -            "message"
      -          ],
      -          "type": "object"
      -        }
      -      },
      -      "required": [
      -        "error"
      -      ],
      -      "type": "object"
      -    }
      -  ],
      -  "type": "object"
      -}New value: +null
  3. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "https://json-schema.org/draft/2020-12/schema",
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "expiresAt": {
      +          "type": "string"
      +        },
      +        "instructions": {
      +          "type": "string"
      +        },
      +        "requiresBrowserApproval": {
      +          "const": true
      +        },
      +        "url": {
      +          "format": "uri",
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "url",
      +        "requiresBrowserApproval",
      +        "expiresAt",
      +        "instructions"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "error": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "code": {
      +              "minLength": 1,
      +              "type": "string"
      +            },
      +            "details": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "addressRole": {
      +                  "enum": [
      +                    "recipient",
      +                    "sender"
      +                  ]
      +                },
      +                "canSendAsEntered": {
      +                  "type": "boolean"
      +                }
      +              },
      +              "required": [
      +                "addressRole",
      +                "canSendAsEntered"
      +              ],
      +              "type": "object"
      +            },
      +            "message": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "code",
      +            "message"
      +          ],
      +          "type": "object"
      +        }
      +      },
      +      "required": [
      +        "error"
      +      ],
      +      "type": "object"
      +    }
      +  ],
      +  "type": "object"
      +}
  4. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnlyHint, idempotentHint, destructiveHint=false), yet the description goes further: it explains what the review page displays (proof/item, recipient, total, terms), that it verifies the payer's own receipt email, that approval is collected on the page, and enumerates the side effects it does NOT perform. That is real behavioral context beyond the structured fields.

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?

Content is front-loaded with the primary purpose in the first clause, followed by page behavior and then the negative scope. The first sentence is long and clause-heavy, but each clause adds distinct information, so there is little waste.

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?

With no output schema, the description still conveys what the returned link is and how the downstream page behaves. It omits what happens on error (e.g., quote not owned or expired), which is the one piece an agent might need to handle failure paths.

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

Parameters4/5

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

Schema coverage is 67%; quoteId has only minLength in the schema, so the description's qualifiers ('existing, owned, unexpired') carry the meaning of that parameter. The two deprecated booleans are already fully explained in the schema, so no extra description text is needed for them.

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 specific verb and resource ('Returns a private browser review link') scoped to 'an existing, owned, unexpired quote, identified by quoteId'. This clearly separates it from siblings like postedly_quote or postedly_order_status, which do not produce a payer review link.

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

Usage Guidelines4/5

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

Preconditions are explicit (quote must be existing, owned, and unexpired) and the negative scope ('Does not approve the quote, accept terms, create an order, take payment') tells the agent when this tool is not the right call. It stops short of naming a sibling alternative such as postedly_order_status for post-checkout tracking.

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