Connect Stripe to Claude Desktop with QuickMCP in 5 Minutes
Complete tutorial to connect Stripe API to Claude Desktop using QuickMCP. Query customers, payments, subscriptions, and more through natural language.
Stripe is one of the most popular payment APIs, but it doesn't have a native MCP server. Let's fix that with QuickMCP in under 5 minutes.
What You'll Build
By the end of this tutorial, you'll ask Claude:
- "Show me my recent payments"
- "List all active subscriptions"
- "Find customer details for email@example.com"
- "What's my account balance?"
And Claude will call Stripe's API to get real answers.
Prerequisites
- QuickMCP CLI installed:
dotnet tool install -g QuickMCP.CLI - Stripe account with API key
- Claude Desktop installed
Step 1: Get Your Stripe API Key
Create Restricted Key (Recommended)
- Go to: https://dashboard.stripe.com/apikeys
- Click "Create restricted key"
- Name it: "QuickMCP MCP Server"
- Grant Read permissions for:
- Customers
- Charges
- PaymentIntents
- Subscriptions
- Invoices
- Balance
- Click "Create key"
- Copy the key (starts with
rk_live_...)
Or Use Secret Key (Full Access)
For testing, you can use your secret key (sk_test_...), but restricted keys are safer for production.
Step 2: Generate QuickMCP Configuration
Stripe provides an official OpenAPI specification:
quickmcp build config \
--spec-url https://raw.githubusercontent.com/stripe/openapi/master/openapi/spec3.json \
--auth bearertoken \
--exclude-paths "*/delete,*/remove,/v1/payment_methods/*/attach" \
--ai-metadata \
--output-path ~/quickmcp/stripe-config.json
Why These Flags?
--spec-url: Stripe's official OpenAPI spec--auth bearertoken: Stripe uses Bearer token auth--exclude-paths: Block dangerous operations (deletions)--ai-metadata: Make tools easier for Claude to understand--output-path: Where to save the config
Step 3: Configure Authentication
Edit ~/quickmcp/stripe-config.json:
{
"serverId": "stripe",
"specificationUrl": "https://raw.githubusercontent.com/stripe/openapi/master/openapi/spec3.json",
"authentication": {
"type": "Bearer",
"token": "${STRIPE_API_KEY}"
},
"pathFilters": {
"excludePatterns": [
"*/delete",
"*/remove",
"/v1/payment_methods/*/attach"
]
}
}
Step 4: Add to Claude Desktop
Find Claude Desktop Config
macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Windows:
%APPDATA%\Claude\claude_desktop_config.json
Add Stripe Server
{
"mcpServers": {
"stripe": {
"command": "quickmcp",
"args": [
"serve",
"--config-path",
"/Users/yourname/quickmcp/stripe-config.json"
],
"env": {
"STRIPE_API_KEY": "rk_live_your_restricted_key_here"
}
}
}
}
Important: Use the full absolute path, not ~ or relative paths.
Step 5: Restart Claude Desktop
Close and reopen Claude Desktop. The Stripe tools should now be available.
Testing Your Integration
Query 1: Recent Charges
Ask Claude:
"Show me my 5 most recent Stripe charges"
Claude will call /v1/charges?limit=5 and format the results.
Query 2: Customer Lookup
"Find Stripe customer with email john@example.com"
Claude searches customers by email and returns details.
Query 3: Subscription Status
"List all active Stripe subscriptions"
Claude filters subscriptions by status.
Query 4: Account Balance
"What's my Stripe account balance?"
Claude calls /v1/balance and shows available and pending funds.
Advanced Configuration
Test vs Live Mode
Use different configs for test and live:
Test Mode:
{
"mcpServers": {
"stripe-test": {
"command": "quickmcp",
"args": ["serve", "--config-path", "/path/to/stripe-test-config.json"],
"env": {
"STRIPE_API_KEY": "sk_test_your_test_key"
}
}
}
}
Live Mode:
{
"mcpServers": {
"stripe-live": {
"command": "quickmcp",
"args": ["serve", "--config-path", "/path/to/stripe-live-config.json"],
"env": {
"STRIPE_API_KEY": "rk_live_your_live_key"
}
}
}
}
Comment out the one you're not using.
Read-Only Configuration
For maximum safety, exclude all write operations:
quickmcp build config \
--spec-url https://raw.githubusercontent.com/stripe/openapi/master/openapi/spec3.json \
--auth bearertoken \
--only-for-paths "/v1/charges/list,/v1/customers/list,/v1/subscriptions/list,/v1/balance" \
--output-path ~/quickmcp/stripe-readonly-config.json
This only exposes list and retrieve operations.
Webhook Integration (Future)
QuickMCP currently doesn't support webhooks, but you can:
- Set up Stripe webhooks separately
- Store data in a database
- Query that database through another MCP server
Common Issues
Issue: "Authentication failed"
Solution: Verify your API key:
curl https://api.stripe.com/v1/charges -u rk_live_your_key:
If this fails, your key is invalid.
Issue: "Too many tools"
Solution: Stripe's API is large. Filter more aggressively:
--only-for-paths "/v1/charges/*,/v1/customers/*,/v1/subscriptions/*"
Issue: "Server not appearing"
Solution: Check the path:
# Test the config manually
quickmcp serve --config-path /full/path/to/stripe-config.json --logging
If this works, the issue is in your Claude Desktop config.
Security Best Practices
1. Use Restricted Keys
Never use your full secret key for MCP servers. Create restricted keys with read-only access.
2. Test Mode First
Always test with test API keys before using live keys:
sk_test_... (test mode)
rk_live_... (live mode, restricted)
3. Exclude Dangerous Paths
--exclude-paths "*/delete,*/remove,/v1/payment_methods/*/attach,/v1/payment_methods/*/detach"
4. Monitor Usage
Check Stripe logs regularly:
https://dashboard.stripe.com/logs
5. Rotate Keys
Set a reminder to rotate API keys every 90 days.
Real-World Use Cases
Use Case 1: Customer Support
Claude can help answer customer questions:
"Find the customer with email support@example.com and show their last 3 invoices"
Use Case 2: Revenue Analysis
"Show me all successful charges from the past week"
Claude retrieves and summarizes payment data.
Use Case 3: Subscription Management
"List all customers with subscriptions ending this month"
Claude filters subscriptions by end date.
What's Exposed
With the default config, Claude can access:
✅ Read Operations:
- Charges (list, retrieve)
- Customers (list, retrieve, search)
- Subscriptions (list, retrieve)
- Invoices (list, retrieve)
- Balance (retrieve)
- Payment Methods (list, retrieve)
❌ Blocked Operations:
- Deletions
- Refunds (unless you explicitly allow)
- Customer creation/updates
- Subscription modifications
Next Steps
- Try Twilio QuickMCP Tutorial
- Learn SendGrid Integration
- Read Security Best Practices
Stripe + QuickMCP + Claude Desktop = powerful payment insights through natural language. Get started today!