Back to Browse

Stripe MCP Server

FinanceModerate7.2MCP RegistryLocal
Free

Server data from the Official MCP Registry

Read-only MCP server for querying Stripe customers, payments, and invoices.

About

Read-only MCP server for querying Stripe customers, payments, and invoices.

Security Report

7.2
Moderate7.2Low Risk

A well-designed read-only Stripe MCP server with strong security guardrails. Authentication is properly enforced via environment variables with live-key rejection. Code is clean, input validation is appropriate, and the tool set is intentionally limited to read-only operations. Minor code quality observations around error handling do not materially impact security. Supply chain analysis found 1 known vulnerability in dependencies (0 critical, 1 high severity). Package verification found 1 issue.

3 files analyzed · 5 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

env_vars

Check that this permission is expected for this type of plugin.

HTTP Network Access

Connects to external APIs or services over the internet.

What You'll Need

Set these up before or after installing:

Stripe test-mode secret or restricted key (sk_test_ or rk_test_)Required

Environment variable: STRIPE_SECRET_KEY

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-robinafaruqia-stripe-mcp": {
      "env": {
        "STRIPE_SECRET_KEY": "your-stripe-secret-key-here"
      },
      "args": [
        "-y",
        "@devtechtricks/stripe-mcp"
      ],
      "command": "npx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

npm version npm downloads license GitHub stars

stripe-mcp

A read-only MCP server for querying Stripe — customers, payments, subscriptions, invoices, and refunds.

Use it with any AI or client that supports MCP (Model Context Protocol)—Cursor, Claude Desktop, Claude Code, Windsurf, or other MCP hosts.

Features

  • Read-only by design — no charge, refund, update, or delete tools
  • Test keys only — refuses to start with sk_live_ / rk_live_
  • Single file — just index.js, no build step
  • Works with any MCP client — Cursor, Claude, Windsurf, and others

MCP Configuration

Cursor — one-click install

Add MCP server to Cursor

After install, replace YOUR_STRIPE_TEST_KEY with a Stripe test secret (sk_test_... or rk_test_...) from the Stripe Dashboard. A restricted key with only read scopes is preferred.

Using npx (recommended)

Add to your MCP client config (e.g. Cursor: ~/.cursor/mcp.json or Settings → MCP; Claude: claude_desktop_config.json; etc.):

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

Claude Code:

claude mcp add stripe-mcp --env STRIPE_SECRET_KEY=sk_test_... -- npx -y @devtechtricks/stripe-mcp

From source (development)

git clone https://github.com/robinafaruqia/stripe-mcp.git
cd stripe-mcp
npm install
cp .env.example .env   # then put your sk_test_ / rk_test_ key in .env

Then in your MCP config:

{
  "mcpServers": {
    "stripe-mcp": {
      "command": "node",
      "args": ["/path/to/stripe-mcp/index.js"]
    }
  }
}

index.js loads .env from the package directory when STRIPE_SECRET_KEY is not already set. npm installs do not include .env — MCP clients should pass the key in env.

Available Tools

ToolDescription
list_customersList recent customers. Optional: limit, email.
get_customerGet a customer by ID. Required: customer_id.
list_paymentsList recent payment intents. Optional: limit, customer_id.
get_paymentGet a payment intent by ID. Required: payment_intent_id.
list_subscriptionsList subscriptions. Optional: limit, customer_id, status.
get_subscriptionGet a subscription by ID. Required: subscription_id.
list_invoicesList invoices. Optional: limit, customer_id, status.
list_refundsList refunds. Optional: limit, payment_intent_id.

Example

1. list_customers({ limit: 5 })
2. get_customer({ customer_id: "cus_ABC123" })
3. list_subscriptions({ customer_id: "cus_ABC123" })
4. list_payments({ limit: 10 })

License

MIT

Reviews

No reviews yet

Be the first to review this server!