{"_id":"@codespar/mcp-paypal","_rev":"4-10080f93c93cf1ee36809b2ea4973486","name":"@codespar/mcp-paypal","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.0":{"name":"@codespar/mcp-paypal","version":"0.1.0","keywords":["mcp","paypal","payments","payouts","subscriptions","rest","global","latam"],"license":"MIT","_id":"@codespar/mcp-paypal@0.1.0","maintainers":[{"name":"codespar-npm","email":"contact@codespar.dev"}],"bin":{"mcp-paypal":"dist/index.js"},"dist":{"shasum":"cfe6e10bb91ac0c400251130fa9db06651cb29c0","tarball":"https://registry.npmjs.org/@codespar/mcp-paypal/-/mcp-paypal-0.1.0.tgz","fileCount":6,"integrity":"sha512-/rW4f3FsPgsvrNWhlNjTROnXZcUmXg6F2WDGtMBKlAxz48eiOYxy+iyeLzlRtFl+2rRQ59ddq+kutf5gAxiWnA==","signatures":[{"sig":"MEUCIQCbqlKn3ppAcMEKF5VMlf8fv4Z+uc6JfSk/xavJXtHapQIgUtdvdlbQrLhfMsJiQQu2LxpwB6P4ps3X5mSJmvzISS8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81689},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"abceab06a74a933da6920cfb3b1735adcf271566","mcpName":"io.github.codespar/mcp-paypal","scripts":{"build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"codespar-npm","email":"contact@codespar.dev"},"_npmVersion":"11.8.0","description":"MCP server for PayPal — global payments and payouts via the PayPal REST API. Orders v2 (create/authorize/capture), Payments v2 (capture/refund/void), Payouts, Subscriptions, Disputes, Webhooks.","directories":{},"_nodeVersion":"25.5.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.0","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-paypal_0.1.0_1777119824058_0.8754749564750139","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@codespar/mcp-paypal","version":"0.1.1","keywords":["mcp","paypal","payments","payouts","subscriptions","rest","global","latam"],"license":"MIT","_id":"@codespar/mcp-paypal@0.1.1","maintainers":[{"name":"codespar-npm","email":"contact@codespar.dev"}],"bin":{"mcp-paypal":"dist/index.js"},"dist":{"shasum":"91600afa8df142eca0742c37df5bf8b0efe08849","tarball":"https://registry.npmjs.org/@codespar/mcp-paypal/-/mcp-paypal-0.1.1.tgz","fileCount":6,"integrity":"sha512-enopzFp9DbnpVDKCQ395dm2DiEiv8Rp+8JfVk/+uWcjGNYwIXodoGKQLeM0pOZ4SusXfCGYTg9Nkbql3maHl2g==","signatures":[{"sig":"MEUCIGp/2Q7Vgs1nQVixxaQ2RBv1u83budc42WtZONBUsvkBAiEAtXt+aKo9EUxO60qUVLwdNsikl9QxcBAtiHCeMtHqtrg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":82319},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"0ab801a863239f0cb986bbda65abbaee3c621b44","mcpName":"io.github.codespar/mcp-paypal","scripts":{"build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"codespar-npm","email":"contact@codespar.dev"},"_npmVersion":"11.8.0","description":"MCP server for PayPal — global payments and payouts via the PayPal REST API. Orders v2 (create/authorize/capture), Payments v2 (capture/refund/void), Payouts, Subscriptions, Disputes, Webhooks.","directories":{},"_nodeVersion":"25.5.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.0","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-paypal_0.1.1_1777123242757_0.4879439755843611","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@codespar/mcp-paypal","version":"0.1.2","description":"MCP server for PayPal — global payments and payouts via the PayPal REST API. Orders v2 (create/authorize/capture), Payments v2 (capture/refund/void), Payouts, Subscriptions, Disputes, Webhooks.","type":"module","main":"./dist/index.js","bin":{"mcp-paypal":"dist/index.js"},"scripts":{"build":"tsc","start":"node dist/index.js"},"dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"devDependencies":{"@types/node":"^25.5.0","typescript":"^5.8.0"},"license":"MIT","keywords":["mcp","paypal","payments","payouts","subscriptions","rest","global","latam"],"mcpName":"io.github.codespar/mcp-paypal","_id":"@codespar/mcp-paypal@0.1.2","gitHead":"e8f2ad023876683538fe7b66a2fc88ab8d8ef92f","types":"./dist/index.d.ts","_nodeVersion":"22.22.3","_npmVersion":"10.9.8","dist":{"integrity":"sha512-NQPld+4amrUCX9Gd+5yvaZfBk5IL8K7EhxGkIJQnAfcgCdbiDTFmmxVmrHZ6MoKRTXNXnzGGDeQ/coxArFvWkA==","shasum":"152e639aedbdf81b5f67090ed1eff9a7349e0e01","tarball":"https://registry.npmjs.org/@codespar/mcp-paypal/-/mcp-paypal-0.1.2.tgz","fileCount":6,"unpackedSize":83786,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBKkxXQxcKy6e85XIYFXSdAONFC8uqTHbnzJxnIkiWr1AiEAtmMiZDhNoTbu545RPZTOL91ILyDtHmVX+g2y/aEG2B4="}]},"_npmUser":{"name":"codespar-npm","email":"fabiano@codespar.dev"},"directories":{},"maintainers":[{"name":"codespar-npm","email":"fabiano@codespar.dev"},{"name":"dangazineu","email":"daniel.gazineu@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-paypal_0.1.2_1782153928954_0.46820289314773844"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-25T12:23:43.955Z","modified":"2026-06-22T18:45:29.205Z","0.1.0":"2026-04-25T12:23:44.268Z","0.1.1":"2026-04-25T13:20:42.896Z","0.1.2":"2026-06-22T18:45:29.091Z"},"license":"MIT","keywords":["mcp","paypal","payments","payouts","subscriptions","rest","global","latam"],"description":"MCP server for PayPal — global payments and payouts via the PayPal REST API. Orders v2 (create/authorize/capture), Payments v2 (capture/refund/void), Payouts, Subscriptions, Disputes, Webhooks.","maintainers":[{"name":"codespar-npm","email":"fabiano@codespar.dev"},{"name":"dangazineu","email":"daniel.gazineu@gmail.com"}],"readme":"# @codespar/mcp-paypal\n\nMCP server for [PayPal](https://developer.paypal.com/api/rest) — global payments and payouts via the PayPal REST API.\n\nTarget customer: LatAm SaaS / marketplaces selling globally that already hold a PayPal merchant account and want agent-driven checkout, payouts, subscriptions, and dispute handling.\n\n## Tools (19)\n\n| Tool | Purpose |\n|---|---|\n| `create_order` | Create a PayPal Order via POST /v2/checkout/orders. |\n| `get_order` | Fetch a PayPal Order by id via GET /v2/checkout/orders/{id}. |\n| `capture_order` | Capture payment for an approved order via POST /v2/checkout/orders/{id}/capture. |\n| `authorize_order` | Authorize payment for an approved order via POST /v2/checkout/orders/{id}/authorize. |\n| `capture_authorization` | Capture a previously authorized payment via POST /v2/payments/authorizations/{id}/capture. |\n| `refund_capture` | Refund a captured payment via POST /v2/payments/captures/{id}/refund. |\n| `void_authorization` | Void (release) an unsettled authorization via POST /v2/payments/authorizations/{id}/void. |\n| `get_payment_details` | Fetch a payment object by id via GET /v2/payments/{type}/{id}. |\n| `create_batch_payout` | Create a batch payout via POST /v1/payments/payouts. |\n| `get_payout` | Fetch a payout batch by id via GET /v1/payments/payouts/{batch_id}. |\n| `get_payout_item` | Fetch a single payout item by id via GET /v1/payments/payouts-item/{item_id}. |\n| `create_subscription` | Create a billing subscription via POST /v1/billing/subscriptions. |\n| `get_subscription` | Fetch a subscription by id via GET /v1/billing/subscriptions/{id}. |\n| `cancel_subscription` | Cancel an active subscription via POST /v1/billing/subscriptions/{id}/cancel. |\n| `list_disputes` | List disputes via GET /v1/customer/disputes. |\n| `get_dispute` | Fetch a dispute by id via GET /v1/customer/disputes/{id}. |\n| `accept_dispute_claim` | Accept liability for a dispute claim via POST /v1/customer/disputes/{id}/accept-claim. |\n| `list_webhooks` | List configured webhooks for the app via GET /v1/notifications/webhooks. |\n| `verify_webhook_signature` | Verify a webhook event signature via POST /v1/notifications/verify-webhook-signature. |\n\n## Install\n\n```bash\nnpm install @codespar/mcp-paypal\n```\n\n## Environment\n\n```bash\nPAYPAL_CLIENT_ID=\"...\"       # REST app client id\nPAYPAL_CLIENT_SECRET=\"...\"   # REST app client secret (OAuth2)\nPAYPAL_ENV=\"sandbox\"         # 'sandbox' (default) or 'live'\n```\n\nEndpoints:\n- `sandbox` -> `https://api-m.sandbox.paypal.com`\n- `live` -> `https://api-m.paypal.com`\n\n## Authentication\n\nPayPal REST APIs use OAuth2 `client_credentials`. The server posts `CLIENT_ID:CLIENT_SECRET` (Basic auth) to `/v1/oauth2/token` with `grant_type=client_credentials` and caches the bearer token until 60s before expiry, refreshing on demand.\n\n## Run\n\n```bash\n# stdio (default — for Claude Desktop, Cursor, etc)\nnpx @codespar/mcp-paypal\n\n# HTTP (for server-to-server testing)\nMCP_HTTP=true MCP_PORT=3000 npx @codespar/mcp-paypal\n```\n\n## Notes\n\n- **Amounts** are objects in PayPal REST: `{ \"currency_code\": \"USD\", \"value\": \"10.50\" }`. Values are decimal strings.\n- The server forwards arbitrary REST body fields verbatim under `body` for tools that accept them, so any field documented in the PayPal REST reference can be passed even if it's not in the MCP `inputSchema`.\n- For payment captures / refunds the `PayPal-Request-Id` header (idempotency) is forwarded when supplied.\n\n## Enterprise\n\nNeed governance, budget limits, and audit trails for agent payments? [CodeSpar Enterprise](https://codespar.dev/enterprise) adds policy engine, payment routing, and compliance templates on top of these MCP servers.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}