About Un-Official PayPal MCP Server
A Python MCP server that connects LLMs to PayPal APIs, covering invoices, orders, products, subscriptions, shipments, disputes, and transactions. Operators can enable all tools or select specific ones.
Key features
- 01Manage invoices and QR codes
- 02Create and capture orders
- 03Manage products and plans
- 04Manage subscriptions and shipments
- 05Review disputes and transactions
- 06Select enabled tools
Use cases
- 01Create or send PayPal invoices
- 02Create and capture orders
- 03Track shipments or review disputes
MCP support
Exposes selected PayPal API operations as tools for MCP clients, using a PayPal access token and configured environment.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEUn-Official 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
- Based on PayPal's Agent Toolkit
- Compatible with the Model Context Protocol specification
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.