paypal_mcp_server

paypal_mcp_server

1

The Un-Official PayPal MCP Server is a Python-based implementation designed to facilitate integrations with PayPal's API using the Model Context Protocol. It supports interactions with various PayPal services and endpoints, aiming to streamline processes for developers.

Un-Official PayPal MCP Server

PayPal MCP Server

A Python implementation of a Model Context Protocol (MCP) server for PayPal API integrations. This server enables Large Language Models (LLMs) to interact with PayPal's APIs through function calling.

Features

  • Full implementation of the Model Context Protocol for PayPal APIs
  • Support for all major PayPal API endpoints:
    • Invoices: Create, list, view, send, remind, cancel, QR codes
    • Orders: Create, get, capture
    • Products: Create, list, view, update
    • Subscription Plans: Create, list, view
    • Subscriptions: Create, view, cancel
    • Shipments: Create, track
    • Disputes: List, view, accept
    • Transactions: List and filter

Installation

From PyPI

pip install paypal-mcp-server

From Source

git clone https://github.com/yourusername/paypal-mcp-server.git
cd paypal-mcp-server
pip install -e .

Using Docker

docker pull ghcr.io/yourusername/paypal-mcp-server:latest

Usage

Command Line

# Using environment variables
export PAYPAL_ACCESS_TOKEN="your_access_token"
export PAYPAL_ENVIRONMENT="SANDBOX"  # or "PRODUCTION"
paypal-mcp --tools=all

# Or with command line arguments
paypal-mcp --tools=all --access-token=your_access_token --paypal-environment=SANDBOX

Enable Specific Tools Only

paypal-mcp --tools=invoices.create,invoices.list,orders.create --access-token=your_token

With Docker

docker run -e PAYPAL_ACCESS_TOKEN="your_access_token" -e PAYPAL_ENVIRONMENT="SANDBOX" ghcr.io/yourusername/paypal-mcp-server:latest --tools=all

Integration with Claude Desktop

Add the following to your ~/Claude/claude_desktop_config.json:

{
   "mcpServers": {
     "paypal": {
       "command": "paypal-mcp",
       "args": [
         "--tools=all"
       ],
       "env": {
         "PAYPAL_ACCESS_TOKEN": "YOUR_PAYPAL_ACCESS_TOKEN",
         "PAYPAL_ENVIRONMENT": "SANDBOX"
       }
     }
   }
}

Obtaining a PayPal Access Token

You can generate a PayPal access token using your client ID and client secret:

curl -v https://api-m.sandbox.paypal.com/v1/oauth2/token \
  -H "Accept: application/json" \
  -H "Accept-Language: en_US" \
  -u "CLIENT_ID:CLIENT_SECRET" \
  -d "grant_type=client_credentials"

Development

Setup Development Environment

# Clone the repository
git clone https://github.com/yourusername/paypal-mcp-server.git
cd paypal-mcp-server

# Install dev dependencies
pip install -e ".[dev]"

# Install pre-commit hooks
pre-commit install

Running Tests

pytest -xvs

Building the Package

python -m build

License

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

Acknowledgments