NestDaddy

PayPal, guarded

io.github.Fizzl13/paypal-guard · v0.3.0

PayPal's Agent Toolkit with limits on refunds and the owner's Approve/Deny above them.

Connect Runs on your machine

Terminal
claude mcp add paypal-guard -e PAYPAL_CLIENT_ID=<PAYPAL_CLIENT_ID> -e PAYPAL_CLIENT_SECRET=<PAYPAL_CLIENT_SECRET> -e PAYPAL_ENVIRONMENT=<PAYPAL_ENVIRONMENT> -e LIMIT_REFUND=<LIMIT_REFUND> -e LIMIT_REFUND_PER_DAY=<LIMIT_REFUND_PER_DAY> -e LIMIT_REFUNDS_PER_DAY=<LIMIT_REFUNDS_PER_DAY> -e LIMIT_CURRENCY=<LIMIT_CURRENCY> -e GUARD_POLICY=<GUARD_POLICY> -e FIZZL_AGENT_KEY=<FIZZL_AGENT_KEY> -e TELEGRAM_BOT_TOKEN=<TELEGRAM_BOT_TOKEN> -e TELEGRAM_CHAT_ID=<TELEGRAM_CHAT_ID> -e APPROVAL_IN_CHAT=<APPROVAL_IN_CHAT> -e APPROVAL_MINUTES=<APPROVAL_MINUTES> -- npx -y [email protected]
claude_desktop_config.json
{
  "mcpServers": {
    "paypal-guard": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "PAYPAL_CLIENT_ID": "<PAYPAL_CLIENT_ID>",
        "PAYPAL_CLIENT_SECRET": "<PAYPAL_CLIENT_SECRET>",
        "PAYPAL_ENVIRONMENT": "<PAYPAL_ENVIRONMENT>",
        "LIMIT_REFUND": "<LIMIT_REFUND>",
        "LIMIT_REFUND_PER_DAY": "<LIMIT_REFUND_PER_DAY>",
        "LIMIT_REFUNDS_PER_DAY": "<LIMIT_REFUNDS_PER_DAY>",
        "LIMIT_CURRENCY": "<LIMIT_CURRENCY>",
        "GUARD_POLICY": "<GUARD_POLICY>",
        "FIZZL_AGENT_KEY": "<FIZZL_AGENT_KEY>",
        "TELEGRAM_BOT_TOKEN": "<TELEGRAM_BOT_TOKEN>",
        "TELEGRAM_CHAT_ID": "<TELEGRAM_CHAT_ID>",
        "APPROVAL_IN_CHAT": "<APPROVAL_IN_CHAT>",
        "APPROVAL_MINUTES": "<APPROVAL_MINUTES>"
      }
    }
  }
}
~/.cursor/mcp.json
{
  "mcpServers": {
    "paypal-guard": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "PAYPAL_CLIENT_ID": "<PAYPAL_CLIENT_ID>",
        "PAYPAL_CLIENT_SECRET": "<PAYPAL_CLIENT_SECRET>",
        "PAYPAL_ENVIRONMENT": "<PAYPAL_ENVIRONMENT>",
        "LIMIT_REFUND": "<LIMIT_REFUND>",
        "LIMIT_REFUND_PER_DAY": "<LIMIT_REFUND_PER_DAY>",
        "LIMIT_REFUNDS_PER_DAY": "<LIMIT_REFUNDS_PER_DAY>",
        "LIMIT_CURRENCY": "<LIMIT_CURRENCY>",
        "GUARD_POLICY": "<GUARD_POLICY>",
        "FIZZL_AGENT_KEY": "<FIZZL_AGENT_KEY>",
        "TELEGRAM_BOT_TOKEN": "<TELEGRAM_BOT_TOKEN>",
        "TELEGRAM_CHAT_ID": "<TELEGRAM_CHAT_ID>",
        "APPROVAL_IN_CHAT": "<APPROVAL_IN_CHAT>",
        "APPROVAL_MINUTES": "<APPROVAL_MINUTES>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "paypal-guard": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "PAYPAL_CLIENT_ID": "<PAYPAL_CLIENT_ID>",
        "PAYPAL_CLIENT_SECRET": "<PAYPAL_CLIENT_SECRET>",
        "PAYPAL_ENVIRONMENT": "<PAYPAL_ENVIRONMENT>",
        "LIMIT_REFUND": "<LIMIT_REFUND>",
        "LIMIT_REFUND_PER_DAY": "<LIMIT_REFUND_PER_DAY>",
        "LIMIT_REFUNDS_PER_DAY": "<LIMIT_REFUNDS_PER_DAY>",
        "LIMIT_CURRENCY": "<LIMIT_CURRENCY>",
        "GUARD_POLICY": "<GUARD_POLICY>",
        "FIZZL_AGENT_KEY": "<FIZZL_AGENT_KEY>",
        "TELEGRAM_BOT_TOKEN": "<TELEGRAM_BOT_TOKEN>",
        "TELEGRAM_CHAT_ID": "<TELEGRAM_CHAT_ID>",
        "APPROVAL_IN_CHAT": "<APPROVAL_IN_CHAT>",
        "APPROVAL_MINUTES": "<APPROVAL_MINUTES>"
      }
    }
  }
}

Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.

Tools

This server runs locally, so its tools are listed by your MCP client once it starts.

Environment variables

NameDescription
PAYPAL_CLIENT_ID
Required
Client ID of your PayPal REST app (developer.paypal.com)
PAYPAL_CLIENT_SECRET
Required, secret
Secret of your PayPal REST app
PAYPAL_ENVIRONMENT
Optional
SANDBOX (default) or PRODUCTION
LIMIT_REFUND
Optional
Most per refund without asking you (default 25.00)
LIMIT_REFUND_PER_DAY
Optional
Refunds a day in total (default 100.00)
LIMIT_REFUNDS_PER_DAY
Optional
Number of refunds a day (default 10)
LIMIT_CURRENCY
Optional
Currency of the limits (default USD)
GUARD_POLICY
Optional
Other rules as JSON, e.g. {"dispute":"deny","stop":"ask"}
FIZZL_AGENT_KEY
Optional, secret
Approvals in the Fizzl Agent Wallet (Telegram + dashboard): an agent key awk_… from wallet.fizzl.eu
TELEGRAM_BOT_TOKEN
Optional, secret
Approvals through your own Telegram bot
TELEGRAM_CHAT_ID
Optional
Your Telegram chat id (approvals go only there)
APPROVAL_IN_CHAT
Optional
off to never ask in the chat app (MCP elicitation)
APPROVAL_MINUTES
Optional
How long you have to answer (default 10)

Details

Package[email protected] (NPM, stdio)
First published9 Nov 2026
Last updated9 Nov 2026
Registry nameio.github.Fizzl13/paypal-guard

More ai and media servers See all

Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.