@neuroequalityorg/mcp-stripe
v1.0.0
Published
MCP server for Stripe API integration - list customers, create payment links, manage subscriptions, and more
Maintainers
Readme
@neuroequalityorg/mcp-stripe
MCP (Model Context Protocol) server for Stripe API integration. Enables AI assistants like Claude to interact with Stripe for payment processing, customer management, and subscriptions.
Features
- list_customers - List and filter Stripe customers
- create_payment_link - Create payment links for one-time or recurring payments
- get_balance - Get current account balance
- list_subscriptions - List and filter subscriptions
- create_product - Create products with optional default pricing
Installation
npm install -g @neuroequalityorg/mcp-stripeOr use npx:
npx @neuroequalityorg/mcp-stripeConfiguration
Set your Stripe API key as an environment variable:
export STRIPE_API_KEY=sk_live_xxx # or sk_test_xxx for test modeOr use STRIPE_SECRET_KEY:
export STRIPE_SECRET_KEY=sk_live_xxxUsage with Claude Desktop
Add to your Claude Desktop configuration (~/.config/claude/claude_desktop_config.json on Linux/Mac or %APPDATA%\Claude\claude_desktop_config.json on Windows):
{
"mcpServers": {
"stripe": {
"command": "npx",
"args": ["@neuroequalityorg/mcp-stripe"],
"env": {
"STRIPE_API_KEY": "sk_live_your_key_here"
}
}
}
}Tools
list_customers
List Stripe customers with optional filtering.
Parameters:
limit(number, optional): Max customers to return (1-100, default: 10)email(string, optional): Filter by email addressstarting_after(string, optional): Pagination cursor (customer ID)
Example:
{
"limit": 20,
"email": "[email protected]"
}create_payment_link
Create a Stripe Payment Link. Either provide an existing price_id or create a new product/price on the fly.
Parameters:
price_id(string, optional): Existing Stripe Price IDproduct_name(string, optional): Name for new product (required if no price_id)unit_amount(number, optional): Price in cents (required if no price_id)currency(string, optional): Currency code (default: "usd")quantity(number, optional): Item quantity (default: 1)allow_promotion_codes(boolean, optional): Allow promo codes (default: false)
Example (new product):
{
"product_name": "Premium Plan",
"unit_amount": 2999,
"currency": "usd"
}Example (existing price):
{
"price_id": "price_1234567890"
}get_balance
Get current Stripe account balance.
Parameters: None
Returns: Available and pending amounts by currency.
list_subscriptions
List Stripe subscriptions with optional filtering.
Parameters:
limit(number, optional): Max subscriptions to return (1-100, default: 10)customer(string, optional): Filter by customer IDstatus(string, optional): Filter by status (active, canceled, past_due, etc.)starting_after(string, optional): Pagination cursor (subscription ID)
Example:
{
"customer": "cus_xxx",
"status": "active",
"limit": 50
}create_product
Create a new Stripe product with optional default pricing.
Parameters:
name(string, required): Product namedescription(string, optional): Product descriptionactive(boolean, optional): Available for purchase (default: true)metadata(object, optional): Key-value metadatadefault_price_data(object, optional): Default price configurationunit_amount(number): Price in centscurrency(string): Currency code (default: "usd")recurring(object, optional): For subscriptionsinterval: "day", "week", "month", or "year"interval_count(number): Intervals between billings (default: 1)
Example (one-time):
{
"name": "Widget Pro",
"description": "Premium widget with all features",
"default_price_data": {
"unit_amount": 4999,
"currency": "usd"
}
}Example (subscription):
{
"name": "Pro Plan",
"description": "Monthly subscription",
"default_price_data": {
"unit_amount": 1999,
"currency": "usd",
"recurring": {
"interval": "month"
}
}
}Security
- Never commit your Stripe API keys to version control
- Use test mode keys (
sk_test_...) during development - Restrict API key permissions in Stripe Dashboard when possible
License
MIT
