Finance#Ecommerce

PayPal Agent Toolkit: invoices, orders and disputes for agents

PayPal's official MCP server, @paypal/mcp, lets agents send invoices, create orders, manage subscriptions and check disputes, with the sandbox as default.

Project and installation docs

View project

https://github.com/paypal/agent-toolkit

Small sellers who take international orders spend a lot of time in the PayPal dashboard: invoicing, chasing payments, checking whether money arrived, answering buyer disputes. PayPal Agent Toolkit is PayPal’s own set of tools for agent frameworks, and its MCP server, @paypal/mcp, turns those chores into tools an agent can call. The repo had about 200 stars as of 2026-10-06. It gets little attention, but PayPal maintains it.

What it does

  • The full invoice cycle: create_invoice, send_invoice, send_invoice_reminder and cancel_sent_invoice, plus create_recurring_series for invoices that go out on a schedule and generate_invoice_qr_code for a payment QR code.
  • Orders and refunds: create_order, get_order and pay_order handle orders; create_refund refunds a captured payment.
  • Subscriptions and catalog: create plans, start or cancel subscriptions, and manage products.
  • Disputes and shipping: list_disputes shows open disputes, accept_dispute_claim accepts a buyer’s claim, and create_shipment_tracking adds tracking numbers.
  • Reporting: list_transactions filters transactions and get_merchant_insights returns business metrics.

Who it’s for

  • Freelancers paid through PayPal who want an agent to draft an invoice and send it every month.
  • Operators of small cross-border shops who want a daily transaction summary, overdue-invoice reminders and tracking numbers filled in.
  • Developers testing a PayPal checkout flow in the sandbox.

Setup

You need Node.js 18+ and a Client ID and Secret from the PayPal Developer Dashboard, which you exchange for an access token. Then add the server to your client. PAYPAL_ENVIRONMENT defaults to SANDBOX:

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

Our take

Stripe exposes a generic search-then-call interface; PayPal gives every operation its own named tool. Models pick the right one more easily, at the cost of a bigger tool list in context. It shines at repetitive invoice and subscription work, and that’s also where the risk sits. create_refund, send_invoice and accept_dispute_claim move real money or email real customers, and --tools=all enables everything at once. Narrow the tool set and keep client-side confirmation on before you switch to PRODUCTION. Access tokens expire and must be regenerated, and the README’s MCP section is thin. Licensed Apache-2.0.