/ Directory / Playground / PayPal Agent Toolkit
● Official paypal ⚡ Instant

PayPal Agent Toolkit

by paypal · paypal/agent-toolkit

Official PayPal MCP — invoices, payments, subscriptions, refunds.

PayPal's official Agent Toolkit ships an MCP server that lets Claude (and other agents) create invoices, capture payments, issue refunds, and manage subscriptions on a real PayPal merchant account — sandbox or live.

Why use it

Key features

Live Demo

What it looks like in practice

paypal-agent-toolkit-mcp.replay ▶ ready
0/0

Install

Pick your client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "paypal-agent-toolkit-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@paypal/agent-toolkit",
        "mcp"
      ]
    }
  }
}

Open Claude Desktop → Settings → Developer → Edit Config. Restart after saving.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "paypal-agent-toolkit-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@paypal/agent-toolkit",
        "mcp"
      ]
    }
  }
}

Cursor uses the same mcpServers schema as Claude Desktop. Project config wins over global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "paypal-agent-toolkit-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@paypal/agent-toolkit",
        "mcp"
      ]
    }
  }
}

Click the MCP Servers icon in the Cline sidebar, then "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "paypal-agent-toolkit-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@paypal/agent-toolkit",
        "mcp"
      ]
    }
  }
}

Same shape as Claude Desktop. Restart Windsurf to pick up changes.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "paypal-agent-toolkit-mcp",
      "command": "npx",
      "args": [
        "-y",
        "@paypal/agent-toolkit",
        "mcp"
      ]
    }
  ]
}

Continue uses an array of server objects rather than a map.

~/.config/zed/settings.json
{
  "context_servers": {
    "paypal-agent-toolkit-mcp": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@paypal/agent-toolkit",
          "mcp"
        ]
      }
    }
  }
}

Add to context_servers. Zed hot-reloads on save.

claude mcp add paypal-agent-toolkit-mcp -- npx -y @paypal/agent-toolkit mcp

One-liner. Verify with claude mcp list. Remove with claude mcp remove.

Use Cases

Real-world ways to use PayPal Agent Toolkit

Send an invoice to a freelance client from a conversation

👤 Solo operators, freelancers ⏱ ~15 min intermediate

When to use: Client just confirmed scope in chat — you want the invoice out before context-switching.

Prerequisites
  • Server/skill installed and authenticated — See repo README
Flow
  1. Draft the invoice
    Create a PayPal invoice for [email protected] for $2,400 USD: 1 line item 'May consulting retainer, 24h @ $100'. Due net-15.✓ Copied
    → Invoice id + payment link
  2. Confirm and send
    Send the invoice now and tell me the URL to copy into email.✓ Copied
    → Sent status + URL

Outcome: Invoice issued in 30 seconds without leaving the chat.

Pitfalls
  • Always start in sandbox. Live mode is one env var away from being real money. Set PAYPAL_ENVIRONMENT=sandbox until you've tested the exact f — Always start in sandbox. Live mode is one env var away from being real money. Set PAYPAL_ENVIRONMENT=sandbox until you've tested the exact flow.
Combine with: gmail · filesystem

Combinations

Pair with other MCPs for X10 leverage

paypal-agent-toolkit-mcp + gmail

Pair with gmail for complementary capabilities

Use this server together with gmail to complete a multi-step task.✓ Copied
paypal-agent-toolkit-mcp + filesystem

Pair with filesystem for complementary capabilities

Use this server together with filesystem to complete a multi-step task.✓ Copied

Tools

What this MCP exposes

ToolInputsWhen to callCost
create_invoice recipient_email, items, currency Bill a client 1 API call
list_transactions start_date, end_date, status Reconcile or audit 1 API call
refund_capture capture_id, amount Issue a refund 1 API call

Cost & Limits

What this costs to run

API quota
See provider docs for rate limits
Tokens per call
Varies by tool
Monetary
See repo README for pricing details
Tip
Cache tool results and avoid repeated identical calls.

Security

Permissions, secrets, blast radius

Credential storage: Use environment variables; never commit secrets
Data egress: Tool calls go to the provider's API as documented

Troubleshooting

Common errors and fixes

AUTHENTICATION_FAILURE

Generate a REST app at developer.paypal.com → My Apps & Credentials → REST API apps. Set PAYPAL_CLIENT_ID and PAYPAL_CLIENT_SECRET.

Verify: list_transactions for the last 7 days
PERMISSION_DENIED on refund

Refund permission requires the parent capture to be in COMPLETED state and the merchant account to allow refunds.

Verify: Check the capture status first

Alternatives

PayPal Agent Toolkit vs others

AlternativeWhen to use it insteadTradeoff
Stripe Agent ToolkitYou're on StripeStripe-only; otherwise similar scope

More

Resources

📖 Read the official README on GitHub

🐙 Browse open issues

🔍 Browse all 400+ MCP servers and Skills