dist/cursor/ap2-agentic-payments/skills/ap2-mcp-server/SKILL.md
Implement AP2 MCP servers — payment tools exposed via Model Context Protocol for agent access to payment capabilities. Use when building MCP-based payment tool integrations for AP2.
npx skillsauth add orcaqubits/agentic-commerce-claude-plugins ap2-mcp-serverInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Fetch live docs:
https://ap2-protocol.org/specification/ for MCP server referenceshttps://ap2-protocol.org/topics/ap2-a2a-and-mcp/ for MCP integration detailshttps://ap2-protocol.org/roadmap/ to check MCP server availability statussite:github.com google-agentic-commerce AP2 MCP server for MCP implementationsWhile AP2's primary integration is with A2A (agent-to-agent), it also integrates with MCP (Model Context Protocol) for tool-based access to payment capabilities:
MCP provides the foundational layer for connecting agents to external resources:
Agent
├── A2A → Other Agents (Merchant, CP, MPP)
└── MCP → Payment Tools (APIs, databases, services)
The AP2 MCP server exposes payment-related tools that agents can call:
The AP2 roadmap includes:
Check the latest roadmap and GitHub for current MCP server availability.
Note: The following tool names are entirely speculative/hypothetical examples illustrating what an AP2 MCP server might expose. They are not from any published AP2 MCP server specification or implementation. Always check the latest AP2 roadmap and GitHub repositories for actual MCP tool definitions.
Hypothetical AP2 MCP tools:
| Tool | Description |
|------|-------------|
| list_payment_methods | Get available payment methods for a user |
| create_intent_mandate | Build an Intent Mandate from shopping parameters |
| create_cart_mandate | Build a Cart Mandate from product/price details |
| validate_mandate | Verify mandate signatures and contents |
| process_payment | Submit a payment for processing |
| get_transaction_status | Check payment processing status |
| get_receipt | Retrieve a payment receipt |
| Scenario | Use | |----------|-----| | Agent calling another agent (Merchant, CP) | A2A | | Agent calling a payment API/tool directly | MCP | | Multi-step agent negotiation | A2A | | Simple payment status check | MCP | | Complex multi-party flow | A2A | | Tool-based payment method query | MCP |
Shopping Agent
├── A2A → Merchant Agent
├── A2A → Credentials Provider Agent
├── MCP → Payment Tools Server
└── MCP → Product Catalog Server
Fetch the latest roadmap and any published MCP server implementations for exact tool schemas and availability before implementing.
development
Build with Spree's headless Next.js storefront — the official `spree/storefront` repo (Next.js 16 App Router with Server Actions and Turbopack, React 19 Server Components, Tailwind CSS 4, TypeScript 5, `@spree/sdk`, Sentry), server-only auth (httpOnly JWT cookies + publishable key), MeiliSearch faceted catalog, one-page checkout with Apple/Google Pay/Klarna/Affirm/SEPA, multi-region market routing, GA4 + JSON-LD SEO, and Vercel/Docker deployment. Use when forking or customizing the storefront, or evaluating headless adoption.
tools
Build Spree extensions as Rails engines — gem scaffolding, `bin/rails g spree:extension`, mounting routes/migrations/assets, the modern `prepend` decorator pattern (`*_decorator.rb` with `self.prepended(base)`), generators (`spree:model_decorator`, `spree:controller_decorator`), the four customization surfaces in preference order (Events > Webhooks > Dependencies > Decorators), Spree::Dependencies for swapping service objects, gem release/versioning, and the deprecated Deface engine. Use when building a reusable Spree extension or adding non-trivial customization to an app.
development
Build with Spree's event bus and Webhooks 2.0 — `Spree::Events` publication, `Spree::Subscriber` DSL with `subscribes_to` and `on`, wildcard matching, lifecycle events (`{model}.created/.updated/.deleted` via `publishes_lifecycle_events`), the canonical event catalog (order.*, payment.*, shipment.*, product.*), Webhooks 2.0 endpoints, HMAC-SHA256 signing (`X-Spree-Webhook-Signature`), exponential-backoff retries, and Sidekiq job orchestration. Use when wiring event-driven business logic, building webhook consumers, or replacing ActiveSupport callback chains.
tools
Cross-cutting Spree development patterns — the customization preference hierarchy (Events > Webhooks > Dependencies > Decorators), `Spree::Dependencies` service-object swapping, the `_decorator.rb` + `prepend` + `self.prepended` idiom, idempotent subscribers and webhook receivers, multi-store scoping discipline, prefixed IDs, calculator polymorphism (shipping/promotion/tax share the base), service-object composition with `dry-monads` or simple results, why to avoid `class_eval` reopening and Deface, and Spree-on-Rails idioms (Hotwire/Turbo Stimulus, ActiveStorage, Action Cable, Sidekiq). Use when designing the architecture of a Spree extension or solving cross-cutting concerns.