Remote MCP server · PayPal REST APIs

PayPal,
made for AI agents.

Turn business intent into complete PayPal workflows. 8 verbs for deposits, payouts and subscriptions, plus Shop checkout for buyer agents. Simple to integrate, with merchant controls built in.

ADD TO CLAUDE CODERemote · No local setup
claude mcp add --transport http mcpal "https://mcpal.vercel.app/mcp?key=<your-demo-key>"
Try it in the judge console
Your session

Your demo key: … (kept in this browser; it is your own ledger).

INTERACTIVE EXAMPLE
INPUT / YOUR AGENT

“Take a $40 deposit on order 1042. Hold the remaining $80 until delivery.”

Claude · Cursor · your code
EXECUTION / MCPAL
Intent in.
Guardrails on.
hold→
orderRef: "order-1042"
amount: "120.00"
deposit: "40.00"
Policy checkedWithin the merchant’s limits
OUTPUT / PAYPAL
DEPOSIT CAPTURED
$40.00

$80.00 authorized

CAPTURE ID7KX09366PL2471934
Orders v2 → Payments v2
One intent becomes the right API calls, in order.Example flow
01 / PAYMENT FLOWS

Payment flows your agent can finish.

Connect MCPal, copy a prompt, and let your agent work through the payment flow.

01
holdcapture_holdvoid_hold

Deposit now. Balance on delivery.

Capture the deposit; hold the balance until delivery or cancellation.

Order 1042 is $120. Take a $40 deposit from the card on file and hold the rest until delivery. When I say it was delivered, capture the rest.
02
pay_out

Pay the courier.

Known payees go through. New recipients wait for your approval.

Pay our courier courier@personal.example.com $6.25 for today's delivery, order courier-0412.
03
chargerefund

A partial refund. Just once.

Compute the fraction in code and return it to the original payer.

Charge $80 to the card on file for order mug-77. Then refund half of it because the handle arrived chipped. If anything times out, retry.
04
subscribevoid_hold

One verb. A monthly plan.

Create the product, plan and subscription in one call.

Start a $9/month 'Coffee club' plan for order club-5, billed to the card on file, and tell me the subscription id.
02 / ARCHITECTURE

Where MCPal sits.

One clear interface between what a business asks for and what PayPal needs to do.

Where MCPal sitsYour AI agent sends one verb per intent to MCPal. Idempotency, approval rules, merchant quotes and a signed log wrap the ordered calls to PayPal REST APIs.01 / YOUR CLIENTYour AI agentClaude · CursorChatGPT · your codeStreamable HTTP / MCPone verbper intent02 / THE INTENT LAYERMCPalcharge · holdcapture_hold · void_holdrefund · pay_outsubscribe · statusidempotencyapproval rulesmerchant quotessigned logthe right PayPalcalls, in order03 / THE PAYMENT RAILSPayPal REST APIsOrders v2 · Payments v2Payouts · InvoicingSubscriptions · Webhooks
01 / YOUR CLIENT

Your AI agent

Claude · Cursor · ChatGPT · your code

↓ one verb per intent

02 / THE INTENT LAYER

MCPal

charge · hold · capture_hold · void_hold · refund · pay_out · subscribe · status

idempotency · approval rules
merchant quotes · signed log

↓ the right PayPal calls, in order

03 / THE PAYMENT RAILS

PayPal REST APIs

Orders v2 · Payments v2 · Payouts
Invoicing · Subscriptions · Webhooks

MCPal orchestrates PayPal's REST APIs directly. Each workflow shares order state, merchant rules and a verifiable decision log.

03 / BUSINESS INTENTS

28 tools. 8 verbs.
One shared foundation.

PayPal's Agent Toolkit exposes API calls as tools. MCPal runs complete payment workflows, keeps order state and applies the merchant's rules.

PAYPAL AGENT TOOLKIT
28API-level tools

Direct access to PayPal's APIs, grouped by area. This is the local npm server we benchmarked; PayPal's hosted server (mcp.sandbox.paypal.com) lists 46 tools, and neither has holds, payouts or retry-safe keys.

Invoices7
Orders3
Catalog products4
Subscriptions6
Shipment tracking2
Disputes3
Reporting1
Refunds2
Show all 28 tools
Invoices
create_invoicelist_invoicesget_invoicesend_invoicesend_invoice_remindercancel_sent_invoicegenerate_invoice_qr_code
Orders
create_orderget_orderpay_order
Catalog products
create_productlist_productsupdate_productshow_product_details
Subscriptions
create_subscription_planlist_subscription_plansshow_subscription_plan_detailscreate_subscriptionshow_subscription_detailscancel_subscription
Shipment tracking
create_shipment_trackingget_shipment_tracking
Disputes
list_disputesget_disputeaccept_dispute_claim
Reporting
list_transactions
Refunds
create_refundget_refund

@paypal/mcp@1.8.1 · --tools=all · Listed 2026-11-12

MCPAL
8intent-level verbs
charge

Ask a buyer for a one-time payment.

Orders v2: create + capture (or a buyer approval link)
holdnew

Reserve money on the buyer's account without taking it (authorization), optionally taking a deposit now.

Orders v2 authorize; Payments v2 capture for the deposit
capture_holdnew

TAKE money from an existing hold (capture).

Payments v2: capture authorization, then void the rest
void_holdnew

GIVE IT BACK: void what is still held so the buyer is never charged it (also: 'release the hold', 'let it go', 'cancel the reservation').

Payments v2 void; Subscriptions cancel; Payouts cancel item
refund

Give captured money back to the original payer (it can only go back to the capture's payer).

Payments v2: refund a capture
pay_outnew

Send money from your PayPal balance to someone by email, phone or PayPal id.

Payouts v1: create batch
subscribe

Start recurring billing.

Catalog Products + Billing Plans + Subscriptions v1
status

Answer 'what happened with this orderRef?' in one call, refreshed from PayPal (order, hold, captures, refunds, refundable_remaining, invoice, payout, subscription) plus the last webhook.

GET on orders, authorizations, captures, refunds, payouts, subscriptions

“New” marks an intent unavailable in the listed official toolkit. All payments still run on PayPal.

04 / SHOP · AGENTIC COMMERCE

Shop. From buyer intent to a PayPal order.

Give buyer agents a checkout through UCP and ACP. Shop handles the cart, shipping and discounts; MCPal settles the order on PayPal through the same payment workflows, merchant rules and decision log.

  1. 01 / BUYER AGENT

    Discover and choose.

    Find the merchant, choose products and build a cart.

  2. 02 / SHOP · UCP / ACP

    Complete checkout.

    Calculate shipping, apply discounts and confirm the order.

  3. 03 / MCPAL → PAYPAL

    Run the payment flow.

    Charge now, or hold funds and capture when the order ships.

Watch a buyer agent buy coffee ↗
29/30

tasks the official toolkit can attemptvs 17/30

0

duplicate paymentsvs 5

$0

moved wronglyvs $295

9/9

prompt-injection tasks resistedvs 3/9

Same model (gpt-4.1-mini), same 50 tasks, graded from PayPal's own records
05 / MEASURED RESULTS

The evidence is in the payments.

Same model. PayPal's own records. Both the comparable task set and the full suite, side by side.

MCPal PayPal Agent ToolkitTasks correct in every run

30 tasks the official toolkit can attempt

MCPal29/30
Agent Toolkit17/30
MCPal29/30Agent Toolkit17/30

All 50 tasks

MCPal49/50
Agent Toolkit17/50
MCPal49/50Agent Toolkit17/50
Retries, measured

Duplicate payments

Lower is better.

MCPal0Agent Toolkit5

3 runs per task · gpt-4.1-mini · Temperature 0 · Correct in every run. A bounded benchmark, not a guarantee for every payment.

Method, caveats and every PayPal id
06 / GUARDRAILS

Safety, enforced in code.

The model chooses an intent. Deterministic checks decide whether money can move.

Retries never pay twice

Every write carries a PayPal-Request-Id derived from the order, verb and amount. A retry returns the first result.

Rules before payment

Approval thresholds, daily caps and refund ceilings are checked before PayPal is called. Above them, a human decides.

New payee? Ask a human.

Anyone outside the allowlist who has never been paid before needs approval. At any amount.

Refunds only go back

Money returns to the original payer. Never to a different address, and never beyond the remaining balance.

Nothing moves by default

Charges and holds default to a PayPal payment link. The card on file is charged only when explicitly requested.

A log you can verify

Every decision joins a SHA-256 hash chain. Inspect the PayPal IDs and re-verify the chain yourself.

07 / YOUR RULES

Policy in plain English.

Write the rules in English or Spanish. A model proposes the file; code checks the changes. You decide when to apply.

Your rules. Your approval.The agent can't edit its own policy.
137/800 · gpt-4.1-mini proposes, code decides · nothing is applied until you click Apply

The agent can't edit its own rules: there is no MCP tool for the policy. Limits only go up when you write the new amount, recipients are only added when you write them, and hard maximums apply whatever the text says.

08 / DECISION LOG

Trace every decision to its receipt.

Every decision, filterable, with PayPal ids — powered by AG Grid.

Open the decision log ↗
Decision logAG Grid
Example view
VERBDECISIONPAYPAL ID
holdallowed0VF52814…
capture_holdallowed2GH41827…
pay_outneeds approval—
SHA-256 hash chain Inspect the evidence ↗