Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions servers/stripe/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
FROM python:3.11-slim

WORKDIR /app

# Copy requirements and install dependencies
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

# Copy server code
COPY server.py .

# Expose port
EXPOSE 8000

# Run the FastMCP server
CMD ["python", "-m", "fastmcp", "run", "server.py", "--transport", "streamable-http", "--port", "8000"]
87 changes: 87 additions & 0 deletions servers/stripe/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
# Stripe MCP Server

MCP server for interacting with the Stripe payment API. Manage customers, payments, subscriptions, invoices, and products.

## Features

- **Customer Management**: List, search, and get customer details
- **Payment Processing**: List charges, get payment details, create payment intents
- **Subscription Management**: List and get subscription details
- **Product Management**: List products from your Stripe catalog
- **Invoice Management**: List and get invoice details

## Setup

### Prerequisites

- Stripe account
- Stripe API key (get from [Stripe Dashboard](https://stripe.com/dashboard/apikeys))

### Environment Variables

- `STRIPE_API_KEY` (required): Your Stripe API key (secret or restricted key)

## Available Tools

### Customer Tools

- `list_customers` - List customers with pagination
- `get_customer` - Get details of a specific customer
- `search_customers` - Search for customers by query

### Payment Tools

- `list_charges` - List charges/payments with optional filters
- `get_charge` - Get details of a specific charge
- `create_payment_intent` - Create a new payment intent

### Subscription Tools

- `list_subscriptions` - List subscriptions with optional filters
- `get_subscription` - Get details of a specific subscription

### Product Tools

- `list_products` - List products from your catalog

### Invoice Tools

- `list_invoices` - List invoices with optional filters
- `get_invoice` - Get details of a specific invoice

## Usage Example

```python
# List recent customers
customers = await list_customers(limit=10)

# Search for a customer by email
results = await search_customers(query="email:'[email protected]'")

# Get customer details
customer = await get_customer(customer_id="cus_xxx")

# Create a payment intent
payment = await create_payment_intent(
amount=2000, # $20.00 in cents
currency="usd",
customer="cus_xxx",
description="Payment for order #123"
)

# List subscriptions for a customer
subscriptions = await list_subscriptions(customer="cus_xxx", status="active")
```

## API Documentation

For detailed information about the Stripe API, visit:
- [Stripe API Documentation](https://stripe.com/docs/api)
- [Stripe API Reference](https://stripe.com/docs/api/authentication)

## Notes

- All amount values are in the smallest currency unit (e.g., cents for USD)
- API keys should be kept secure and never committed to version control
- Use test mode keys for development and live keys for production
- Pagination is supported via `starting_after` parameter for list endpoints
4 changes: 4 additions & 0 deletions servers/stripe/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
fastmcp>=0.2.0
httpx>=0.27.0
python-dotenv>=1.0.0
uvicorn>=0.30.0
48 changes: 48 additions & 0 deletions servers/stripe/server.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
{
"name": "ai.nimbletools/stripe",
"version": "1.0.0",
"description": "Stripe payment API - manage customers, payments, subscriptions, invoices, and products",
"category": "business-finance",
"homepage": "https://github.com/NimbleBrainInc/mcp-registry/tree/main/servers/stripe",
"repository": {
"url": "https://github.com/NimbleBrainInc/mcp-registry",
"source": "github",
"branch": "main"
},
"websiteUrl": "https://stripe.com",
"license": "MIT",
"tags": [
"stripe",
"payments",
"billing",
"subscriptions",
"invoices",
"e-commerce"
],
"transport": {
"type": "streamable-http",
"url": "https://mcp.nimbletools.ai/mcp"
},
"environmentVariables": {
"STRIPE_API_KEY": {
"description": "Stripe API key (get from https://stripe.com/dashboard/apikeys)",
"required": true,
"secret": true
}
},
"_meta": {
"display": {
"icon": "https://cdn.simpleicons.org/stripe",
"color": "#635BFF"
},
"deployment": {
"registry": "ghcr.io",
"image": "ghcr.io/nimblebraininc/mcp-stripe:latest",
"port": 8000
},
"resources": {
"cpu": "100m",
"memory": "128Mi"
}
}
}
Loading