MCPG plugin enabling AI agents to complete purchases through merchants implementing the OpenAI/Stripe Agentic Checkout specification. Manages REST-based checkout sessions, handles payment handler negotiation, enforces ACP's idempotency contract, and supports 3D Secure flows.
Five tools with clear verb-noun naming (create_, complete_, update_, handle_, get_) and reasonable descriptions (80-180 chars). All tools have input schemas with typed parameters and descriptions. However, schemas lack depth: no enums for constrained values, no min/max bounds on numeric fields, no documented output schemas. Parameter descriptions are minimal (10-40 chars) and lack format/constraint details. No error handling guidance, no idempotency documentation despite idempotency_key parameters. Missing per-tool output schema documentation. Composition is sound (single responsibility per tool), but parameter design could be more LLM-friendly.
Complete an ACP checkout session with payment data. Submits payment instrument and billing information to finalize the purchase.
Create a new ACP checkout session with the merchant. Initiates the payment flow by establishing a session and retrieving available payment handlers.
Retrieve the current state of an ACP checkout session. Returns session status, available payment handlers, and authentication metadata if required.
Handle 3D Secure authentication results. Submits authentication challenge response to complete 3DS verification flow.
Update an existing ACP checkout session with new address or fulfillment information. Allows modification of session details before payment completion.
No output schemas documented. LLMs cannot plan downstream calls or extract required fields (e.g., session_id, payment_handlers, status). Responses are opaque.
Parameter descriptions are too brief (10-40 chars) and lack format/constraint details. E.g., 'Line items for the checkout session' does not explain structure, required fields, or limits. 'Customer information' is vague, what fields are required?
No enums for constrained values. 'payment_data' and 'authentication_result' are free-form objects with no schema guidance. LLMs will hallucinate field names and structures.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | <=2025-11-25 | v2 |
Idempotency keys are present but not documented. No guidance on when/how to generate them, what happens on conflict, or retry behavior. Handlers.rs shows idempotency_conflict error but tools don't explain this to LLMs.
No error recovery guidance. Handlers.rs defines recoverable errors (out_of_stock, payment_declined, requires_3ds) but tools don't tell LLMs what to do when these occur or how to retry.