# create_refund

Process a refund for a captured payment.

Agent View of the PolicyLayer registry record for `create_refund`. HTML page: https://policylayer.com/tools/paypal/create-refund

## Facts

- Tool: `create_refund`
- Server: PayPal (`@modelcontextprotocol/server-paypal`) — https://policylayer.com/tools/paypal.md
- Install: `npx -y @modelcontextprotocol/server-paypal`
- Homepage: https://github.com/paypal/paypal-mcp-server
- Risk category: Financial (Critical risk)
- Registry record: grade F, identity verified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Approval-gated

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "create_refund",
    "arguments": {}
  }
}
```

## Why create_refund is rated Critical

Refunds move money and commit financial obligations by reversing payments to customers. This directly impacts monetary accounts and represents a critical financial operation. An AI agent with unsupervised access could process unauthorized refunds, causing direct financial loss. Financial category takes precedence over all other categories per the severity hierarchy.

From the tool's own definition: "Tool name 'create_refund' and description 'Process a refund for a captured payment' explicitly deal with financial transactions."

## Use case

AI agents use create_refund to commit financial operations through PayPal, usually the final step of a payment, billing, or trading workflow. A call moves real money.

## Recommended policy (PolicyLayer)

Verdict: **Approval-gated**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches PayPal:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "create_refund": {
      "deny_if": [
        {
          "conditions": [],
          "on_deny": "Requires human approval."
        }
      ]
    }
  }
}
```

## Other tools on PayPal (29)

- `cancel_sent_invoice` — Destructive — https://policylayer.com/tools/paypal/cancel-sent-invoice.md
- `accept_dispute_claim` — Financial — https://policylayer.com/tools/paypal/accept-dispute-claim.md
- `cancel_subscription` — Financial — https://policylayer.com/tools/paypal/cancel-subscription.md
- `create_invoice` — Financial — https://policylayer.com/tools/paypal/create-invoice.md
- `create_order` — Financial — https://policylayer.com/tools/paypal/create-order.md
- `create_subscription` — Financial — https://policylayer.com/tools/paypal/create-subscription.md
- `pay_order` — Financial — https://policylayer.com/tools/paypal/pay-order.md
- `send_invoice` — Financial — https://policylayer.com/tools/paypal/send-invoice.md
- `generate_invoice_qr_code` — Read — https://policylayer.com/tools/paypal/generate-invoice-qr-code.md
- `get_dispute` — Read — https://policylayer.com/tools/paypal/get-dispute.md
- `get_invoice` — Read — https://policylayer.com/tools/paypal/get-invoice.md
- `get_order` — Read — https://policylayer.com/tools/paypal/get-order.md
- `get_refund` — Read — https://policylayer.com/tools/paypal/get-refund.md
- `get_shipment_tracking` — Read — https://policylayer.com/tools/paypal/get-shipment-tracking.md
- `list_disputes` — Read — https://policylayer.com/tools/paypal/list-disputes.md
- `list_invoices` — Read — https://policylayer.com/tools/paypal/list-invoices.md
- `list_products` — Read — https://policylayer.com/tools/paypal/list-products.md
- `list_subscription_plans` — Read — https://policylayer.com/tools/paypal/list-subscription-plans.md
- `list_transactions` — Read — https://policylayer.com/tools/paypal/list-transactions.md
- `show_product_details` — Read — https://policylayer.com/tools/paypal/show-product-details.md
- `show_subscription_details` — Read — https://policylayer.com/tools/paypal/show-subscription-details.md
- `show_subscription_plan_details` — Read — https://policylayer.com/tools/paypal/show-subscription-plan-details.md
- `create_product` — Write — https://policylayer.com/tools/paypal/create-product.md
- `create_shipment_tracking` — Write — https://policylayer.com/tools/paypal/create-shipment-tracking.md
- `create_subscription_plan` — Write — https://policylayer.com/tools/paypal/create-subscription-plan.md
- `send_invoice_reminder` — Write — https://policylayer.com/tools/paypal/send-invoice-reminder.md
- `update_plan` — Write — https://policylayer.com/tools/paypal/update-plan.md
- `update_product` — Write — https://policylayer.com/tools/paypal/update-product.md
- `update_subscription` — Write — https://policylayer.com/tools/paypal/update-subscription.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=paypal · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/paypal
