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.1.tar.gz.

File metadata

  • Download URL: iflow_mcp_atharvagupta2003_mcp_stripe-0.1.1.tar.gz
  • Upload date:
  • Size: 6.5 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.1.tar.gz
Algorithm Hash digest
SHA256 66069515ca930d068cbbf993f134eaa14f074200cdef872cd609761a70eb5368
MD5 e2311e6378455e440277933978978a69
BLAKE2b-256 6103f256409a9bd2555a192c5ca935dea0b98a7031bbdfdbe116f95e6f348723

See more details on using hashes here.

File details

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

File metadata

  • Download URL: iflow_mcp_atharvagupta2003_mcp_stripe-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 7.9 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c4e5a7b26d6e154e9b32ec0f5a394b883f3987652b58d487190c8671a44c6e64
MD5 8ee13c5a63d0c8935161e6129960de6b
BLAKE2b-256 f45373fbdac1ebdc77581336920150c141e1d20863b3ae39d077bacd94dad075

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