Stripe MCP Server
A Model Context Protocol (MCP) server that provides Stripe payment integration capabilities to Claude Desktop. This server enables you to create payment links, process payments, manage products and customers directly from Claude.
Features
Payment Links
- Create payment links with products and prices
- List and manage existing payment links
- Update payment link settings
- Support for billing address collection and promotion codes
Payment Processing
- Create and confirm payment intents
- Monitor payment status
- Handle customer payment methods
Product & Price Management
- Create and manage products
- Set up pricing (one-time or recurring)
- Product catalog management
Customer Management
- Create and manage customer records
- View customer payment history
- Customer data management
Setup
1. Install Dependencies
cd stripe_mcp
npm install
2. Build the Server
npm run build
3. Set Up Environment Variables
Create a .env file in the stripe_mcp directory:
STRIPE_SECRET_KEY=sk_test_your_stripe_secret_key_here
You can get your Stripe secret key from your Stripe Dashboard.
4. Configure Claude Desktop
Add the following to your Claude Desktop MCP configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"stripe": {
"command": "node",
"args": [
"/path/to/your/stripe_mcp/dist/index.js"
],
"env": {
"STRIPE_SECRET_KEY": "sk_test_your_stripe_secret_key_here"
}
}
}
}
Replace /path/to/your/stripe_mcp/ with the actual path to your stripe_mcp directory.
Usage Examples
Create a Payment Link
// Create a simple payment link for a $20 service
create_payment_link({
line_items: [{
price_data: {
currency: "usd",
unit_amount: 2000, // $20.00 in cents
product_data: {
name: "Tutoring Session",
description: "1-hour math tutoring session"
}
},
quantity: 1
}],
billing_address_collection: "required",
allow_promotion_codes: true
})
Create a Payment Intent
// Create a payment intent for direct processing
create_payment_intent({
amount: 5000, // $50.00 in cents
currency: "usd",
description: "Monthly subscription payment",
receipt_email: "customer@example.com"
})
Create a Customer
// Create a customer record
create_customer({
email: "student@example.com",
name: "John Doe",
metadata: {
student_id: "12345"
}
})
Available Tools
Payment Links
create_payment_link- Create new payment linkslist_payment_links- List existing payment linksget_payment_link- Get payment link detailsupdate_payment_link- Update payment link settings
Payment Processing
create_payment_intent- Create payment intentsconfirm_payment_intent- Confirm paymentsget_payment_intent- Get payment detailslist_payment_intents- List payment intents
Products & Prices
create_product- Create productslist_products- List productsget_product- Get product detailscreate_price- Create priceslist_prices- List prices
Customer Management
create_customer- Create customerslist_customers- List customersget_customer- Get customer detailsget_customer_payments- Get payment history
Development
Run in Development Mode
npm run dev
Test the Server
After building and configuring, restart Claude Desktop and you should see the Stripe tools available in your conversations.
Security Notes
- Never expose your Stripe secret keys publicly
- Use test keys during development
- Set up webhooks in production for reliable payment status updates
- Follow Stripe's security best practices
Support
For issues with this MCP server, please check:
- Your Stripe API keys are correct
- The server builds without errors (
npm run build) - Claude Desktop configuration is properly set up
- Environment variables are loaded correctly
For Stripe API questions, refer to the Stripe Documentation.











