Skip to main content

MCP server for Stripe payments, customers, and refunds

Project description

MCP Stripe Server

smithery badge

A Model Context Protocol (MCP) server implementation that integrates with Stripe for handling payments, customers, and refunds. This server provides a structured API to manage financial transactions securely.

Demo

stripe_demo

Requirements

  • Python 3.8+
  • MCP SDK 0.1.0+
  • Stripe Python SDK
  • dotenv

Components

Resources

The server provides audit logging of all Stripe operations:

  • Stores audit logs of customer, payment, and refund operations
  • Supports structured logging for better traceability
  • Uses MCP resource endpoints to retrieve audit data

Tools

The server implements Stripe API operations, including:

Customer Management

  • customer_create: Create a new customer
  • customer_retrieve: Retrieve a customer's details
  • customer_update: Update customer information

Payment Operations

  • payment_intent_create: Create a payment intent for processing payments
  • charge_list: List recent charges

Refund Operations

  • refund_create: Create a refund for a charge

Features

  • Secure Payments: Integrates with Stripe for robust payment handling
  • Audit Logging: Keeps track of all Stripe transactions
  • Error Handling: Comprehensive error handling with clear messages
  • MCP Integration: Supports MCP-compatible tools and resource listing

Installation

Installing via Smithery

To install Stripe Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @atharvagupta2003/mcp-stripe --client claude

Install dependencies

python -m venv venv
source venv/bin/activate  # On macOS/Linux
venv\Scripts\activate    # On Windows
pip install -e .

Configuration

Set up the environment variables in a .env file:

STRIPE_API_KEY=your_stripe_secret_key

Claude Desktop

Add the server configuration to your Claude Desktop config:

Windows: C:\Users<username>\AppData\Roaming\Claude\claude_desktop_config.json

MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "stripe": {
      "command": "uv",
      "args": [
        "--directory",
        "/ABSOLUTE/PATH/TO/PARENT/FOLDER/src",
        "run",
        "server.py"
      ]
    }
  }
}

Usage

Start the server

uv run src/server.py

Example MCP Commands

Create a customer

{
    "tool": "customer_create",
    "arguments": {
        "email": "customer@example.com",
        "name": "John Doe"
    }
}

Retrieve a customer

{
    "tool": "customer_retrieve",
    "arguments": {
        "customer_id": "cus_123456"
    }
}

Create a payment intent

{
    "tool": "payment_intent_create",
    "arguments": {
        "amount": 5000,
        "currency": "usd",
        "customer": "cus_123456"
    }
}

Create a refund

{
    "tool": "refund_create",
    "arguments": {
        "charge_id": "ch_abc123"
    }
}

Error Handling

The server provides clear error messages for common scenarios:

  • Missing API Key: STRIPE_API_KEY required
  • Invalid API Key: Authentication error
  • Customer not found: Invalid customer ID
  • Invalid input: Missing or incorrect parameters

Development

Testing

Run the MCP Inspector for interactive testing:

npx @modelcontextprotocol/inspector uv --directory /ABSOLUTE/PATH/TO/PARENT/FOLDER/src run server.py

Building

  1. Update dependencies:
uv compile pyproject.toml
  1. Build package:
uv build

Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file iflow_mcp_atharvagupta2003_mcp_stripe-0.1.4.tar.gz.

File metadata

  • Download URL: iflow_mcp_atharvagupta2003_mcp_stripe-0.1.4.tar.gz
  • Upload date:
  • Size: 6.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_atharvagupta2003_mcp_stripe-0.1.4.tar.gz
Algorithm Hash digest
SHA256 2593df03d4c1f73c0e329269d422912261b67d14f18882c50d6347427de32e7a
MD5 1a19b0160ac0674f1817b07af047d1ef
BLAKE2b-256 84dcec1f8b7d72096a8de4374efa0a9d5f997e43a1346cb4d3b51da7b4309110

See more details on using hashes here.

File details

Details for the file iflow_mcp_atharvagupta2003_mcp_stripe-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: iflow_mcp_atharvagupta2003_mcp_stripe-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 8.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_atharvagupta2003_mcp_stripe-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 003bfac965ceba65e357e34defbf7f15ccd6459f8c3e61046b7fd6ccce761ed6
MD5 6c61c00ffb3409f52379e885944b9eb4
BLAKE2b-256 7eaf5b7c7dd266975d676d3bc8383451eb42bc583b78780c4420826315be266a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page