Description
### 1. Basic Configuration
This is a minimal, usable configuration that lets Claude Code talk to the Stripe API MCP server using a single API key.
```json
{
"mcpServers": {
"stripe-api-mcp": {
"command": "stripe-api-mcp",
"args": [],
"env": {
"STRIPE_API_KEY": "sk_test_XXXXXXXXXXXXXXXXXXXXXXXX"
},
"disabled": false,
"category": "Finance"
}
}
}
```
**Explanation (not part of JSON):**
- `mcpServers`: Top-level key in `~/.claude/settings.json` where MCP server configs live.
- `"stripe-api-mcp"`: An identifier you choose for this server (used internally by Claude).
- `"command": "stripe-api-mcp"`: The CLI / binary name for the Stripe API MCP Server.
- `"args": []`: No extra arguments; uses defaults.
- `"env.STRIPE_API_KEY"`: Your Stripe secret key (test key in this example).
- `"disabled": false`: Ensures the server is enabled.
- `"category": "Finance"`: Groups this server under the Finance category in Claude Code.
---
### 2. Advanced Configuration
This configuration adds environment selection, logging, rate limiting, and a safer default mode.
```json
{
"mcpServers": {
"stripe-api-mcp": {
"command": "stripe-api-mcp",
"args": [
"--environment",
"test",
"--log-level",
"debug",
"--max-requests-per-minute",
"120",
"--timeout-ms",
"15000"
],
"env": {
"STRIPE_API_KEY": "sk_test_XXXXXXXXXXXXXXXXXXXXXXXX",
"STRIPE_ACCOUNT_ID": "acct_1ExampleXXXXXXXX",
"STRIPE_API_VERSION": "2024-06-20",
"STRIPE_MCP_SAFE_MODE": "true",
"HTTP_PROXY": "",
"HTTPS_PROXY": ""
},
"disabled": false,
"category": "Finance",
"metadata": {
"description": "Stripe API MCP Server for test environment with verbose logging and rate limits",
"tags": [
"stripe",
"payments",
"test",
"debug"
]
}
}
}
}
```
**Explanation (not part of JSON):**
- `args`:
- `--environment test`: Explicitly use Stripe test mode.
- `--log-level debug`: More verbose logs for debugging.
- `--max-requests-per-minute 120`: Simple rate limiting to avoid hitting Stripe limits.
- `--timeout-ms 15000`: 15-second timeout for Stripe API calls.
- `env`:
- `STRIPE_API_KEY`: Test secret key.
- `STRIPE_ACCOUNT_ID`: Optional; used for Connect / multi-account setups.
- `STRIPE_API_VERSION`: Locks to a specific Stripe API version.
- `STRIPE_MCP_SAFE_MODE`: Hypothetical flag to restrict dangerous operations (e.g., refunds, live charges).
- `HTTP_PROXY` / `HTTPS_PROXY`: Set if you need a proxy, empty here.
- `metadata.description` / `metadata.tags`: Useful for organizing and understanding the server in multi-MCP setups.
---
### 3. Use Case Specific Configuration – Production Web App Billing
This configuration is tailored for a production web application that uses Stripe for subscriptions and invoices. It’s more locked down, uses live keys, and emphasizes safety.
```json
{
"mcpServers": {
"stripe-api-mcp": {
"command": "stripe-api-mcp",
"args": [
"--environment",
"live",
"--log-level",
"info",
"--max-requests-per-minute",
"60",
"--timeout-ms",
"10000",
"--allowed-resources",
"customers,subscriptions,invoices,products,prices,payment_methods",
"--readonly-resources",
"payouts,transfers,balances,refunds",
"--confirm-write-operations"
],
"env": {
"STRIPE_API_KEY": "sk_live_XXXXXXXXXXXXXXXXXXXXXXXX",
"STRIPE_ACCOUNT_ID": "acct_1ProdXXXXXXXXXXXX",
"STRIPE_API_VERSION": "2024-06-20",
"STRIPE_WEBHOOK_SECRET": "whsec_XXXXXXXXXXXXXXXXXXXXXXXX",
"STRIPE_MCP_SAFE_MODE": "true",
"STRIPE_MCP_DEFAULT_CURRENCY": "usd"
},
"disabled": false,
"category": "Finance",
"metadata": {
"description": "Production Stripe API MCP for managing subscriptions, invoices, and billing operations",
"tags": [
"stripe",
"production",
"subscriptions",
"billing",
"invoices"
],
"environment": "production",
"useCase": "web-app-subscription-billing"
}
}
}
}
```
**Explanation (not part of JSON):**
- `args`:
- `--environment live`: Uses live Stripe environment.
- `--log-level info`: Less noisy logs, suitable for production.
- `--max-requests-per-minute 60`: Conservative rate limit.
- `--timeout-ms 10000`: 10-second timeout for production stability.
- `--allowed-resources`: Limits what the MCP can touch (focus on billing-related resources).
- `--readonly-resources`: Explicitly prevent modifications to sensitive financial flows.
- `--confirm-write-operations`: Require explicit confirmation before performing writes (charges, cancellations, etc.).
- `env`:
- `STRIPE_API_KEY`: Live secret key (keep this secure).
- `STRIPE_ACCOUNT_ID`: Your primary production Stripe account.
- `STRIPE_API_VERSION`: Pinned API version for stability.
- `STRIPE_WEBHOOK_SECRET`: For verifying webhook-related tools/endpoints if the MCP supports that.
- `STRIPE_MCP_SAFE_MODE`: Keeps operations guarded.
- `STRIPE_MCP_DEFAULT_CURRENCY`: Default currency for created objects (e.g., prices).
- `metadata.environment` / `metadata.useCase`: Makes it clear this is a production billing-focused configuration.