integration · stripe

Claude + Stripe — via OpenAPI, no SDK.

Stripe publishes a canonical OpenAPI spec. wmcp.sh ingests it once, serves you 400+ MCP tools, and auto-injects your Stripe Connect OAuth token into every call. Zero code, zero codegen, zero token plumbing.

Last updated 2026-05-27 · covers every documented Stripe endpoint, automatically updated

One spec URL, every Stripe operation.

No SDK to update. When Stripe ships a new endpoint, we have it the moment they publish the spec update.

# Stripe publishes their canonical OpenAPI 3 spec
curl 'https://wmcp.sh/api/v1/tools?url=https://raw.githubusercontent.com/stripe/openapi/master/openapi/spec3.json'

# Returns ~400 MCP tools — createCustomer, listCharges,
# createPaymentIntent, refundPayment, every webhook event...

Each tool is shaped exactly like Claude's tool_use schema or OpenAI's function-call format. Hand them to your agent and ask "create a customer named Alice with email alice@example.com" — Claude picks the right tool, fills the args, wmcp.sh fires the actual Stripe request.

Three modes — pick the one your stack needs.

1. Pass sk_live per call

Include _auth: "Bearer sk_live_…" in the tool execute args. Worker injects as the Authorization header. Stateless, no setup, agent holds the key.

3. Stripe Connect OAuth

For platforms with multiple Stripe-using customers. Each customer connects their Stripe account via Stripe Connect OAuth → worker stores their per-user token → agent calls automatically use the right user's account.

vs. SDK · vs. Composio · vs. raw API

Capability Official Stripe SDK Composio Stripe wmcp.sh
Setup time npm install + token wiring Platform signup + per-customer auth Zero — just hit the URL
Coverage SDK reflects current Stripe version Curated common operations Every documented endpoint (~400)
New endpoints Wait for SDK release Wait for platform update Available the moment Stripe ships the spec
Multi-account (Connect) You wire it manually Platform handles it Stripe Connect OAuth in wmcp dashboard
Tool shape for agents Wrap each method yourself Auto-mapped Native MCP / tool_use shape
Cost Free SDK + your hosting Platform tier Free (100/day) + $29/mo Pro

Three lines into any agent

Python — agent creates a Stripe customer

from wmcp import WmcpClient
from wmcp.anthropic import to_anthropic_tools, execute_tool_use
from anthropic import Anthropic

client = WmcpClient(api_key="webmcp_live_…")
spec   = "https://raw.githubusercontent.com/stripe/openapi/master/openapi/spec3.json"
tools  = client.tools(spec)

# Filter to just the Customers tools so the model doesn't see 400 options
customer_tools = [t for t in tools if "customer" in t.name.lower()]

anthropic = Anthropic()
msg = anthropic.messages.create(
    model="claude-opus-4-7",
    max_tokens=1024,
    tools=to_anthropic_tools(customer_tools),
    messages=[{"role": "user", "content": "Create a customer Alice (alice@x.com)."}],
)

for block in msg.content:
    if block.type == "tool_use":
        # Worker auto-injects your connected Stripe token. Agent passes no auth.
        result = execute_tool_use(client, spec, block.model_dump())
        print(result)

cURL — direct execute

curl -X POST 'https://wmcp.sh/api/v1/tools/execute' \
  -H 'authorization: Bearer YOUR_WMCP_KEY' \
  -H 'content-type: application/json' \
  -d '{
    "url": "https://raw.githubusercontent.com/stripe/openapi/master/openapi/spec3.json",
    "tool": "PostCustomers",
    "args": { "name": "Alice", "email": "alice@example.com" }
  }'

Frequently asked

Does wmcp.sh write a custom Stripe SDK?
No. Stripe publishes a canonical OpenAPI 3 spec at raw.githubusercontent.com/stripe/openapi/master/openapi/spec3.json. wmcp.sh ingests it, parses path × method × params, and emits MCP tools automatically. No SDK to maintain, no codegen step.
How does authentication work?
Three modes: pass sk_live per call via the _auth arg, store it once in the wmcp.sh dashboard (AES-GCM-256 encrypted at rest, auto-injected on Stripe API calls), or use Stripe Connect OAuth for multi-account platforms.
Tool count is too high — how do I narrow it for the agent?
Stripe's spec produces ~400 tools. Most agent frameworks struggle past ~50. Filter by name or tag before passing to the model: tools.filter(t => t.name.startsWith("Customer")). Future enhancement (open issue): pass ?tag=customers to the wmcp.sh API and get back only the filtered set.
What about test mode?
Stripe's API is mode-agnostic — your key determines test/live. Pass sk_test via _auth (or connect a test-mode account) and every operation runs in test mode. Useful for agent development before going live.
Webhooks?
Out of scope for the OpenAPI ingestion path — Stripe webhooks aren't part of the spec they publish (they're a separate event API). wmcp.sh has a separate Stripe webhook handler for our own billing; if you want a "webhook-event-to-agent" pipe, that's a different shape we'd build on request.
How does this compare to Composio's Stripe connector?
Composio maintains a curated set of common operations behind a managed platform. wmcp.sh ingests the full canonical OpenAPI spec — so every endpoint is available, including newly-published ones, with zero version lag. Composio's win is curation + per-customer auth UX. wmcp.sh's win is completeness + zero waiting for updates.

API agent-readiness — Stripe is the model

Stripe ships the canonical OpenAPI spec other APIs should follow. If you're building your own API and want it to be Stripe-grade agent-callable, the 5 things to ship are at /agent-ready/api — OpenAPI publishing, operation tagging, MCP-spec OAuth, agent-friendly rate limits. Cornerstone: /agent-ready. Or have us ship your spec: /managed.