What Is Stripe MCP Server?
Stripe MCP Server connects Claude to the Stripe API, enabling natural-language interaction with payment data, customers, subscriptions, and refunds. It is maintained by Stripe and distributed via the @stripe/agent-toolkit npm package.
Quick Facts
| Field | Value |
|---|---|
| Package | @stripe/agent-toolkit |
| Install | npx @stripe/agent-toolkit |
| Compatible with | Claude Code, Claude Desktop |
| Status | active |
| GitHub | https://github.com/stripe/agent-toolkit |
What You Can Do With It
- Payment queries: Retrieve and filter payment intents, charges, and transaction details directly from your Stripe account.
- Subscription management: Inspect subscription statuses, billing cycles, and customer plan details without leaving your development environment.
- Refund processing: Query existing refunds and initiate refund workflows through conversational prompts.
- Revenue analysis: Aggregate and summarize revenue data across time periods, customers, or payment methods.
How to Set It Up
Prerequisites: A Stripe account with an API key (secret key, sk_...). Test mode keys (sk_test_...) are recommended during initial setup.
Step 1 — Run the server:
npx @stripe/agent-toolkit
**Step 2 — Configure Claude Desktop:**
Add the following to your `claude_desktop_config.json` (usually located at `~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):
```json
{
"mcpServers": {
"stripe": {
"command": "npx",
"args": ["@stripe/agent-toolkit"],
"env": {
"STRIPE_SECRET_KEY": "sk_test_your_key_here"
}
}
}
}
Step 3 — Configure Claude Code:
For Claude Code, add the same block to .claude/mcp.json in your project root, or use the global config at ~/.claude/mcp.json.
Restart Claude Desktop or reload the Claude Code session after saving the config. Confirm the server is active by checking the MCP server list in the Claude interface.
Works Best With
This server is documented as compatible with Claude Code and Claude Desktop. Both clients support the full MCP tool-calling interface required for Stripe API interactions.
- Claude Code is the better fit for development workflows — querying test payments while building integration logic, or verifying subscription states during debugging.
- Claude Desktop suits operational queries — checking on refunds, pulling customer data, or summarizing revenue without writing code.
Known Limitations
- Authentication is mandatory: The server will not function without a valid
STRIPE_SECRET_KEYset in the environment. There is no anonymous or read-only public mode. - Live key risk: Using a live secret key (
sk_live_...) gives Claude write-level access to your Stripe account. Scope permissions carefully; consider using restricted keys from the Stripe dashboard. - Stripe API rate limits apply: The server makes direct Stripe API calls, so Stripe’s standard rate limits (generally 100 read requests/second in live mode) apply. Bulk queries in rapid succession may return 429 errors.
- No webhook support: This server is designed for request/response queries, not real-time event handling via webhooks.
- Data scope is your account only: It cannot query across multiple connected Stripe accounts unless configured with platform-level keys.
Community Resources
- GitHub repository and issues tracker — file bugs or browse known issues directly with the Stripe team
- r/ClaudeAI on Reddit — search for “Stripe MCP” for community setup discussions
- Stripe Developer Discord — Stripe’s official developer community for API and tooling questions



