Stripe MCP Server

Stripe's own MCP server for reading and changing Stripe account data and searching Stripe's docs

Official · Stripe TypeScript Remote (hosted) · Streamable HTTPLocal · stdio Finance and payments

0 popularity score ★ 2.0k ↓ 29k/wk

Connect your client

Remote (hosted)

Add in one click

Opens the app, which asks before it adds the server.

Or add it by command or config

Cursor~/.cursor/mcp.json
{
 "mcpServers": {
   "stripe": {
     "url": "https://mcp.stripe.com"
   }
 }
}
Claude Codeterminal, then run /mcp in Claude Code to sign in
claude mcp add --transport http stripe https://mcp.stripe.com/
Claude (desktop and web)Stripe connector in the Claude directory, on the web and in Claude Desktop
https://mcp.stripe.com
Codexterminal
codex mcp add stripe --url https://mcp.stripe.com
ChatGPTStripe plugin in ChatGPT
https://mcp.stripe.com
VS Code.vscode/mcp.json in the workspace
{
 "servers": {
   "stripe": {
     "type": "http",
     "url": "https://mcp.stripe.com"
   }
 }
}
Local (npm)

Add in one click

Opens the app, which asks before it adds the server. Then replace each <NAME> in its settings with your value.

Or add it by command or config

Claude CodeTerminal
claude mcp add stripe -- npx -y @stripe/mcp '--api-key=<STRIPE_SECRET_KEY>'
Claude Desktopclaude_desktop_config.json
{
  "mcpServers": {
    "stripe": {
      "command": "npx",
      "args": [
        "-y",
        "@stripe/mcp",
        "--api-key=<STRIPE_SECRET_KEY>"
      ]
    }
  }
}
Cursor~/.cursor/mcp.json
{
  "mcpServers": {
    "stripe": {
      "command": "npx",
      "args": [
        "-y",
        "@stripe/mcp",
        "--api-key=<STRIPE_SECRET_KEY>"
      ]
    }
  }
}
VS Code.vscode/mcp.json
{
  "servers": {
    "stripe": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@stripe/mcp",
        "--api-key=<STRIPE_SECRET_KEY>"
      ]
    }
  }
}
Codex~/.codex/config.toml
[mcp_servers.stripe]
command = "npx"
args = ["-y", "@stripe/mcp", "--api-key=<STRIPE_SECRET_KEY>"]
Gemini CLITerminal
gemini mcp add --scope user stripe npx -- -y @stripe/mcp '--api-key=<STRIPE_SECRET_KEY>'
Local (Docker)

Add in one click

Opens the app, which asks before it adds the server. Then replace each <NAME> in its settings with your value.

Or add it by command or config

Claude CodeTerminal
claude mcp add stripe -- docker run --rm -i mcp/stripe '--api-key=<STRIPE_SECRET_KEY>'
Claude Desktopclaude_desktop_config.json
{
  "mcpServers": {
    "stripe": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "mcp/stripe",
        "--api-key=<STRIPE_SECRET_KEY>"
      ]
    }
  }
}
Cursor~/.cursor/mcp.json
{
  "mcpServers": {
    "stripe": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "mcp/stripe",
        "--api-key=<STRIPE_SECRET_KEY>"
      ]
    }
  }
}
VS Code.vscode/mcp.json
{
  "servers": {
    "stripe": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "mcp/stripe",
        "--api-key=<STRIPE_SECRET_KEY>"
      ]
    }
  }
}
Codex~/.codex/config.toml
[mcp_servers.stripe]
command = "docker"
args = ["run", "--rm", "-i", "mcp/stripe", "--api-key=<STRIPE_SECRET_KEY>"]
Gemini CLITerminal
gemini mcp add --scope user stripe docker -- run --rm -i mcp/stripe '--api-key=<STRIPE_SECRET_KEY>'

Settings 1

STRIPE_SECRET_KEY secret Optional: Stripe key (rk_ or sk_) for the local relay, read when --api-key is not passed. From December 2026 the hosted server only takes agent keys. For deprecated local relay.

In a container, a setting goes in with -e NAME=value after docker run.

What it does

Stripe runs this MCP server itself at https://mcp.stripe.com, and that hosted address is now the way Stripe wants you to connect. Once connected, an assistant can look up Stripe API methods, call read (GET) and write (POST, PATCH, PUT, DELETE) endpoints on a Stripe account, read account details, run analytics queries and search Stripe's documentation and support articles. It can also help plan an integration. A preview set of Treasury tools can show balances, convert currency and send or move money, and an Atlas tool prepares a company formation application that you then finish in the Dashboard.

There is no tool per API endpoint. Instead you get generic stripe_api_read and stripe_api_write tools plus a search tool that finds the right method, so the long list of supported customer, charge, refund, invoice, subscription and Checkout methods stays reachable without flooding the client with tools. Stripe's docs list exactly which methods are supported.

The npm package @stripe/mcp (also shipped as the Docker image mcp/stripe) is deprecated. Stripe says it gets no more updates, security fixes included, and points everyone at the hosted server. It never had tools of its own anyway: it is a small stdio relay that takes an sk_ or rk_ key, rejects keys with any other prefix, and forwards each message to mcp.stripe.com with the key as a bearer token. An optional --stripe-account flag (it must start with acct_) is passed on as the Stripe-Account header.

The stripe/ai repository holds more than this server, including SDKs for metering and billing AI usage and agent plugin packages. Stripe labels the MCP server a public preview.

What it needs

Runs onmacOS, Windows, Linux
StripeFree tierLive mode or a sandbox. OAuth sign-in, or an agent API key for clients without OAuth. Some analytics features need Stripe Sigma.
Also
  • An MCP client that can reach remote HTTP servers
  • Outbound access to mcp.stripe.com

For the hosted server, add https://mcp.stripe.com to your client and finish the OAuth sign-in it opens (in Claude Code, run /mcp after adding it). Clients without OAuth send an agent API key, created in the Stripe Dashboard, as a bearer token. In Claude Team and Enterprise workspaces an owner must add the Stripe connector before members can connect. An admin can also switch MCP access off for the whole team in the Dashboard. The deprecated local relay needs Node.js 18 or later with npx (or Docker) and a Stripe key passed with --api-key or set as STRIPE_SECRET_KEY.

Limits

  • Limit The @stripe/mcp npm package and its Docker image are deprecated and get no further updates or security fixes. Connect to https://mcp.stripe.com instead.
  • Early release The server is a public preview. The stripe_analytics tool and the Treasury tools are marked preview.
  • Not covered stripe_api_read and stripe_api_write only call the API methods on Stripe's supported list.
  • Limit From December 2026 it refuses full-access secret keys and restricted keys without the Agent tag with a 401. Move to agent API keys or OAuth by November 30, 2026.
  • Limit Refunds, outbound payments and some other actions wait for a person to approve them through a link. The approval expires after 24 hours.
  • Not covered OAuth does not work for acting on Connect connected accounts. That needs a platform agent API key plus the Stripe-Account header.
  • Limit The local relay only accepts keys starting with sk_ or rk_ and exits on any other prefix.
  • Limit Managed devices or networks may block mcp.stripe.com until IT allows it.

Public preview; the analytics tool and the Treasury tools are marked preview. Only the API methods on Stripe's supported list can be called through stripe_api_read and stripe_api_write. Certain write actions, such as refunds and outbound payments, wait for a person to approve them through a link, and the approval expires after 24 hours. From October 31, 2026 the server refuses full-access secret keys and restricted keys without the Agent tag, so key-based setups must move to agent API keys or OAuth. Managed networks may block mcp.stripe.com.

Who it suits

Developers and teams already on Stripe who want an assistant to inspect customers, payments and subscriptions, make account changes, or plan an integration with Stripe's own documentation at hand. Since it is official and hosted, there is nothing to keep updated, but all calls go through Stripe's servers and need network access; there is no fully offline mode. It can change live data and move money, so teams wanting a read-only setup should connect with a sandbox or a narrowly scoped agent key.

Tools 15

8 only read, 6 change things, 1 can delete or overwrite.

stripe_api_search
Finds Stripe API methods matching a keyword
stripe_api_details
Returns the parameters of one Stripe API method
stripe_api_read
Calls a supported Stripe GET method to read data
stripe_api_write deletes
Calls a supported Stripe POST, PATCH, PUT or DELETE method, such as voiding an invoice or deleting a coupon
get_stripe_account_info
Fetches details of the connected Stripe account
atlas_company_formation changes
Prepares or resumes a Stripe Atlas application for a Delaware C corporation or LLC
stripe_analytics
Queries metrics, subscriptions and billing, runs financial reports and drafts SQL from a question (preview)
get_balance_summary
Shows balances across the Stripe balance and Treasury accounts (preview)
convert_currency changes
Converts funds between currencies in a Treasury account, after a person approves (preview)
send_money changes
Pays a recipient from a Treasury account, after a person approves (preview)
setup_recipient changes
Creates a recipient for Treasury payouts (preview)
transfer_money changes
Moves money between supported Stripe balances, after a person approves (preview)
search_stripe_documentation
Searches Stripe's documentation for a question in a chosen language
stripe_implementation_planner
Walks through which Stripe products to use for payments, selling or billing
send_stripe_feedback changes
Sends feedback about Stripe products to Stripe

Similar servers