Mcp Stripe

io.github.codesparPublished by GitHub account codesparv0.2.2Updated Oct 24, 2026

MCP server for Stripe — global payments API (PaymentIntents, Checkout, Billing, Refunds)

The publisher's own server: Stripe

VerifiedSTDIODesktop onlyFinanceBusiness & Commerce

Overview

AI-generated overview

Lets an assistant operate a Stripe account: create and confirm payments, refunds, customers, products, prices, subscriptions, invoices, payment links and…

What you can do
A local MCP server wrapping Stripe's payments API, exposing around 30 tools. It covers PaymentIntents (create, confirm, retrieve, cancel, list), refunds, customers, products and prices, subscriptions, hosted Checkout Sessions and Payment Links, invoices (create, finalize, send, pay, void), disputes and account balance retrieval. It handles Stripe's form-encoded request bodies, including nested objects and arrays, on the user's behalf.
When to use it
Useful when a team already runs Stripe as its payment provider and wants an assistant to read or act on that account — checking balances and disputes, drafting invoices, or creating customers, prices and subscriptions — without leaving the chat. Test mode is built into every Stripe account, so it can be tried with a test key first.
Requirements
Runs locally over stdio, typically via npx from the npm package @codespar/mcp-stripe, so Node.js is needed. Requires a Stripe account and the STRIPE_SECRET_KEY environment variable (a test or live secret key from the Stripe dashboard). Optionally STRIPE_API_VERSION pins the API version. Desktop clients only; network access to Stripe is required.
Before you install
STRIPE_SECRET_KEY is a full-access secret: a live key (sk_live_...) lets the assistant move real money, issue refunds, change subscriptions and send invoices, while a test key (sk_test_...) does not. Prefer a test key until behaviour is verified, and treat the key as a credential to store carefully. Tools write and change data, and sending an invoice emails the customer.

Installation

In SourceWeft

  1. Open Mcp Stripe in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

@codespar/mcp-stripe

MCP server for Stripe — global standard-bearer payments API

[npm] [License: MIT]

Stripe vs. Stripe ACP

Two Stripe MCP servers live in the CodeSpar catalog — different products:

PackageWrapsWhen to use
@codespar/mcp-stripe (this package)Stripe's regular payments API (PaymentIntents, Checkout, Billing)You are already using Stripe to accept payments today — the 99% case for LatAm SaaS that ship with Stripe.
@codespar/mcp-stripe-acpStripe's Agentic Commerce ProtocolYou are building on Stripe's new agent-native checkout spec. Much narrower product, bleeding edge.

If you are a typical SaaS with Stripe as your PSP, this is the package.

Why Stripe in the CodeSpar catalog?

Stripe is the global standard-bearer for developer-first payments. Nearly every LatAm SaaS that bills international cards ships with Stripe — Truora, Platzi, Rappi Pay (for some flows), countless Y Combinator LatAm companies. Adding Stripe lets agents operate the payments stack those SaaS already run, without forcing a migration to a local-first gateway.

Quick Start

Claude Desktop

Add to ~/.config/claude/claude_desktop_config.json:

json
{  "mcpServers": {    "stripe": {      "command": "npx",      "args": ["-y", "@codespar/mcp-stripe"],      "env": {        "STRIPE_SECRET_KEY": "sk_test_..."      }    }  }}

Claude Code

bash
claude mcp add stripe -- npx @codespar/mcp-stripe

Cursor / VS Code

Add to .cursor/mcp.json or .vscode/mcp.json:

json
{  "servers": {    "stripe": {      "command": "npx",      "args": ["-y", "@codespar/mcp-stripe"],      "env": {        "STRIPE_SECRET_KEY": "sk_test_..."      }    }  }}

Tools (30)

ToolPurpose
create_payment_intentCreate a PaymentIntent — Stripe's modern primitive for charging a customer.
confirm_payment_intentConfirm a PaymentIntent created with confirm=false.
retrieve_payment_intentRetrieve a PaymentIntent by id.
cancel_payment_intentCancel a PaymentIntent.
list_payment_intentsList PaymentIntents.
create_refundRefund a charge or a PaymentIntent.
list_refundsList Refunds.
create_customerCreate a Stripe Customer.
retrieve_customerRetrieve a Customer by id.
update_customerUpdate a Customer.
create_productCreate a Product — the catalog entity Prices reference.
list_productsList Products.
create_priceCreate a Price attached to a Product.
list_pricesList Prices.
create_subscriptionCreate a Subscription for an existing customer.
update_subscriptionUpdate a Subscription.
cancel_subscriptionCancel a Subscription.
list_subscriptionsList Subscriptions.
create_checkout_sessionCreate a hosted Checkout Session.
create_payment_linkCreate a long-lived Payment Link (shareable URL) that charges a price or set of line items.
list_payment_linksList Payment Links.
create_invoiceCreate an Invoice draft for a customer.
list_invoicesList Invoices.
finalize_invoiceFinalize a draft Invoice.
send_invoiceSend a finalized Invoice to the customer by email.
pay_invoiceAttempt to collect payment on an open Invoice.
void_invoiceVoid a finalized Invoice.
update_disputeSubmit evidence on a Dispute.
list_disputesList Disputes.
retrieve_balanceRetrieve the current Stripe account balance — available, pending, and connect_reserved funds broken down by...

Authentication

Stripe uses a single secret key. The key prefix selects the environment:

  • sk_test_... → test mode (no real money moves)
  • sk_live_... → live mode

There is no separate base URL — the key itself routes requests. Set STRIPE_SECRET_KEY and you are done.

Request bodies are application/x-www-form-urlencoded with bracket notation (customer[name]=Foo, metadata[order]=123, expand[]=latest_invoice). This server handles nested objects and arrays for you.

Pinning an API version

Stripe auto-upgrades breaking changes on a calendar cadence. If you want to lock the version your agent sees, set STRIPE_API_VERSION (e.g. 2024-06-20). The server passes it as the Stripe-Version header on every call.

Environment Variables

VariableRequiredDescription
STRIPE_SECRET_KEYYessk_test_... or sk_live_... from Stripe Dashboard > Developers > API keys
STRIPE_API_VERSIONNoPin API version via the Stripe-Version header (e.g. 2024-06-20)

Sandbox / Testing

Every Stripe account has test mode built in — no separate signup. Use a sk_test_... key and any of Stripe's test cards (e.g. 4242 4242 4242 4242).

Get your credentials

  1. Sign up at stripe.com
  2. Go to Dashboard > Developers > API keys
  3. Copy your Secret key (test mode by default)
  4. Set STRIPE_SECRET_KEY

Roadmap

v0.2 (planned)

  • update_payment_intent, capture_payment_intent (separate capture)
  • retrieve_refund, list_refunds
  • list_customers, search_customers
  • update_subscription, retrieve_subscription
  • retrieve_invoice, finalize_invoice, pay_invoice, send_invoice, void_invoice
  • create_invoice_item, list_invoice_items
  • create_price, create_product
  • list_charges, retrieve_charge
  • retrieve_dispute, close_dispute, list_disputes

v0.3 (planned)

  • Stripe Connect: accounts, account links, transfers, payouts
  • create_setup_intent, confirm_setup_intent (saving cards for later)
  • PaymentMethod attach / detach / list
  • Webhook event construction helper

Want a tool sooner? Open an issue or PR.

Links

Enterprise

Need governance, spend caps, and audit trails for agent-initiated charges, refunds, and subscription changes? CodeSpar Enterprise adds policy engine, payment routing, and compliance templates on top of these MCP servers.

License

MIT

Source: packages/payments/stripe/README.md at commit d0a519a

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.2.2LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Stripe integrations