PayPal, guarded for VS Code
io.github.fizzl13/paypal-guard
PayPal's Agent Toolkit with limits on refunds and the owner's Approve/Deny above them.
client:VS Code
transport:stdio
runtime:npm
Install PayPal, guarded in VS Code
.vscode/mcp.json
{
"inputs": [
{
"type": "promptString",
"id": "paypal-client-id",
"description": "PAYPAL_CLIENT_ID",
"password": true
},
{
"type": "promptString",
"id": "paypal-client-secret",
"description": "PAYPAL_CLIENT_SECRET",
"password": true
},
{
"type": "promptString",
"id": "paypal-environment",
"description": "PAYPAL_ENVIRONMENT",
"password": true
},
{
"type": "promptString",
"id": "limit-refund",
"description": "LIMIT_REFUND",
"password": true
},
{
"type": "promptString",
"id": "limit-refund-per-day",
"description": "LIMIT_REFUND_PER_DAY",
"password": true
},
{
"type": "promptString",
"id": "limit-refunds-per-day",
"description": "LIMIT_REFUNDS_PER_DAY",
"password": true
},
{
"type": "promptString",
"id": "limit-currency",
"description": "LIMIT_CURRENCY",
"password": true
},
{
"type": "promptString",
"id": "guard-policy",
"description": "GUARD_POLICY",
"password": true
},
{
"type": "promptString",
"id": "fizzl-agent-key",
"description": "FIZZL_AGENT_KEY",
"password": true
},
{
"type": "promptString",
"id": "telegram-bot-token",
"description": "TELEGRAM_BOT_TOKEN",
"password": true
},
{
"type": "promptString",
"id": "telegram-chat-id",
"description": "TELEGRAM_CHAT_ID",
"password": true
},
{
"type": "promptString",
"id": "approval-in-chat",
"description": "APPROVAL_IN_CHAT",
"password": true
},
{
"type": "promptString",
"id": "approval-minutes",
"description": "APPROVAL_MINUTES",
"password": true
}
],
"servers": {
"paypal-guard": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"fizzl-paypal-guard-mcp"
],
"env": {
"PAYPAL_CLIENT_ID": "${input:paypal-client-id}",
"PAYPAL_CLIENT_SECRET": "${input:paypal-client-secret}",
"PAYPAL_ENVIRONMENT": "${input:paypal-environment}",
"LIMIT_REFUND": "${input:limit-refund}",
"LIMIT_REFUND_PER_DAY": "${input:limit-refund-per-day}",
"LIMIT_REFUNDS_PER_DAY": "${input:limit-refunds-per-day}",
"LIMIT_CURRENCY": "${input:limit-currency}",
"GUARD_POLICY": "${input:guard-policy}",
"FIZZL_AGENT_KEY": "${input:fizzl-agent-key}",
"TELEGRAM_BOT_TOKEN": "${input:telegram-bot-token}",
"TELEGRAM_CHAT_ID": "${input:telegram-chat-id}",
"APPROVAL_IN_CHAT": "${input:approval-in-chat}",
"APPROVAL_MINUTES": "${input:approval-minutes}"
}
}
}
}
VS Code prompts for each input the first time the server starts, so no secret is written to the file. VS Code docs