Stripe MCP
Read-only MCP server for querying Stripe customers, payments, and invoices.
Open source Open in the app JSON README (API)
About
Read-only MCP server for querying Stripe customers, payments, and invoices.
Details
- Kind
- MCP servers
- Topic
- Finance & crypto
- Publisher
- robinafaruqia
- Origin
- official
- Category
- ferramentas
- Transport
- local
- Version
- 0.1.2
- Stars
- 1
- Open pull requests
- 1
- Last push
- 2026-09-07T06:33:37Z
- Repository state
- ativo
- Language
- JavaScript
- License
- MIT
- Added
- 2026-09-04 12:01:15
- Updated
- 2026-09-04 12:01:15
- Origin id
io.github.robinafaruqia/stripe-mcp
README
[](https://www.npmjs.com/package/@devtechtricks/stripe-mcp)
[](https://www.npmjs.com/package/@devtechtricks/stripe-mcp)
[](https://github.com/robinafaruqia/stripe-mcp/blob/main/LICENSE)
[](https://github.com/robinafaruqia/stripe-mcp)
# stripe-mcp
A **read-only MCP server** for querying **Stripe** — customers, payments, subscriptions, invoices, and refunds.
Use it with **any AI or client that supports MCP** (Model Context Protocol)—Cursor, Claude Desktop, Claude Code, Windsurf, or other MCP hosts.
## Features
- **Read-only by design** — no charge, refund, update, or delete tools
- **Test keys only** — refuses to start with `sk_live_` / `rk_live_`
- **Single file** — just `index.js`, no build step
- **Works with any MCP client** — Cursor, Claude, Windsurf, and others
## MCP Configuration
### Cursor — one-click install
[](https://cursor.com/en-US/install-mcp?name=stripe-mcp&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBkZXZ0ZWNodHJpY2tzL3N0cmlwZS1tY3AiXSwiZW52Ijp7IlNUUklQRV9TRUNSRVRfS0VZIjoiWU9VUl9TVFJJUEVfVEVTVF9LRVkifX0=)
After install, replace `YOUR_STRIPE_TEST_KEY` with a Stripe **test** secret (`sk_test_...` or `rk_test_...`) from the [Stripe Dashboard](https://dashboard.stripe.com/test/apikeys). A restricted key with only read scopes is preferred.
### Using npx (recommended)
Add to your MCP client config (e.g. Cursor: `~/.cursor/mcp.json` or Settings → MCP; Claude: `claude_desktop_config.json`; etc.):
```json
{
"mcpServers": {
"stripe-mcp": {
"command": "npx",
"args": ["-y", "@devtechtricks/stripe-mcp"],
"env": {
"STRIPE_SECRET_KEY": "sk_test_..."
}
}
}
}
```
Claude Code:
```bash
claude mcp add stripe-mcp --env STRIPE_SECRET_KEY=sk_test_... -- npx -y @devtechtricks/stripe-mcp
```
### From source (development)
```bash
git clone https://github.com/robinafaruqia/stripe-mcp.git
cd stripe-mcp
npm install
cp .env.example .env # then put your sk_test_ / rk_test_ key in .env
```
Then in your MCP config:
```json
{
"mcpServers": {
"stripe-mcp": {
"command": "node",
"args": ["/path/to/stripe-mcp/index.js"]
}
}
}
```
`index.js` loads `.env` from the package directory when `STRIPE_SECRET_KEY` is not already set. npm installs do not include `.env` — MCP clients should pass the key in `env`.
## Available Tools
| Tool | Description |
|------|-------------|
| `list_customers` | List recent customers. Optional: `limit`, `email`. |
| `get_customer` | Get a customer by ID. Required: `customer_id`. |
| `list_payments` | List recent payment intents. Optional: `limit`, `customer_id`. |
| `get_payment` | Get a payment intent by ID. Required: `payment_intent_id`. |
| `list_subscriptions` | List subscriptions. Optional: `limit`, `customer_id`, `status`. |
| `get_subscription` | Get a subscription by ID. Required: `subscription_id`. |
| `list_invoices` | List invoices. Optional: `limit`, `customer_id`, `status`. |
| `list_refunds` | List refunds. Optional: `limit`, `payment_intent_id`. |
## Example
```
1. list_customers({ limit: 5 })
2. get_customer({ customer_id: "cus_ABC123" })
3. list_subscriptions({ customer_id: "cus_ABC123" })
4. list_payments({ limit: 10 })
```
## License
MIT