Connect
Optimize
Secure
The #1 agentic semantic tool search: 91.6% first-try accuracy on S1 Search Bench • Explore Tool Discovery →
Connect your AI agent to StackOne's PayPal MCP server and give it 61 MCP tools out of the box. Auth, tool execution, and security all managed.
Coverage
Create, read, update, and delete across PayPal — and extend your agent's capabilities with custom actions.
Authentication
Per-user OAuth in one call. Your PayPal MCP server gets session-scoped tokens with zero credentials stored on your infra.
Agent Auth →Security
Every PayPal tool response scanned for prompt injection in milliseconds — 88.7% accuracy, all running on CPU.
Prompt Injection Defense →Performance
Free up to 96% of your agent's context window to enhance reasoning and reduce cost, on every PayPal call.
Tools Discovery →A PayPal MCP server lets AI agents read and write PayPal data through the Model Context Protocol — Anthropic's open standard for connecting LLMs to external tools. StackOne's PayPal MCP server ships with 61 pre-built actions, fully extensible via the Connector Builder — plus managed authentication, prompt injection defense, observability, and agent execution runtime. Connect it from MCP clients like Claude Desktop, Claude Code, Cursor, Goose, and VS Code, or from agent frameworks like OpenAI Agents SDK, LangChain, and Vercel AI SDK.
Every action from PayPal's API, ready for your agent. Create, read, update, and delete — scoped to exactly what you need.
Create a new PayPal order for payment processing
Show details for an order by ID
Update an order with CREATED or APPROVED status
Send or schedule a draft invoice to the recipient
List invoices with optional filtering and pagination
Retrieve details of a specific invoice by ID
Search for invoices using filters via POST /v2/invoicing/search-invoices. All filter fields go in the request body (not query params except page, page_size, total_required). An empty body (no filters) returns all invoices.
Fully update an existing invoice — use this to change payment terms, line items, recipient, amounts, or any other invoice field. This is a full replacement (PUT), not a partial update.
Delete a draft invoice by ID
Create a new catalog product
List catalog products with pagination
Retrieve details of a specific catalog product
Update a catalog product's description, category, image_url, or home_url fields using JSON Patch with "add" or "remove" operations. Returns 204 No Content on success.
Create a new subscription billing plan linked to a product, defining pricing, billing cycles, and payment preferences. For simple flat-rate plans use fixed_price, NOT VOLUME pricing. VOLUME and TIERED require 2+ tiers and quantity_supported=true.
List subscription billing plans with pagination
Retrieve details of a specific subscription plan
Create a new PayPal subscription that enrolls a subscriber into a billing plan, returning HATEOAS approval links the subscriber must visit to activate billing
Retrieve the full details of a specific PayPal subscription including its status, billing info, subscriber details, and plan configuration
Update an ACTIVE or SUSPENDED subscription using JSON Patch operations. Returns 204 No Content on success.
Create a batch payout to send payments to multiple recipients (max 15,000 items). sender_batch_id must be unique per 30 days even on failed attempts. Default to PAYPAL wallet — VENMO is US-only and unsupported in sandbox.
Retrieve details of a batch payout
List disputes with optional filtering by state, date range, or transaction ID. Supports page and page_size (1-50, default 10) for pagination. dispute_state accepts only ONE value per call.
Retrieve details of a specific dispute
Create a new webhook to receive event notifications. WARNING — PayPal sends a live HTTPS request to the URL at creation time and returns 400 if unreachable. Do NOT use example.com, localhost, or placeholder URLs.
List all webhooks for the app
Retrieve full details of a specific webhook by its ID
Update a webhook's URL or event types using JSON Patch. Only the "replace" operation is supported.
Delete a webhook by ID
Create a new draft invoice
Send a reminder to the payer about an invoice. The invoice must have at least one recipient with an email address — invoices without primary_recipients will return 400.
Send a message about a dispute to the other party
Retrieve details of a captured payment
Retrieve details of a specific refund
Retrieve details of an authorized payment
List transactions for a specific subscription
Retrieve details of a specific payout item
Search for transactions within a date range
List account balances by currency
List all available webhook event types
List webhook event notifications with optional filtering by date range, transaction ID, or event type. If filtering by date, start_time and end_time must both be in the past and within a 30-day window (use 29 days to be safe).
Retrieve details of a specific webhook event notification by ID
Update a billing plan's name, description, payment preferences, or tax settings using JSON Patch. Returns 204 No Content on success.
Delete an external payment from an invoice
Capture payment for an approved order
Authorize payment for an approved order
Refund a captured payment in full or partially
Capture an authorized payment
Void an authorized payment
Cancel a sent invoice
Records an external payment (cash, check, bank transfer, etc.) against a sent invoice via POST /v2/invoicing/invoices/{invoice_id}/payments. The invoice must be in SENT, PARTIALLY_PAID, or PAYMENT_PENDING status — DRAFT or CANCELLED invoices return 422 Unprocessable Entity, so use send_invoice first if needed. Returns an EXTR-prefixed payment_id usable with delete_external_payment to reverse the record.
Generate the next sequential invoice number
Records a refund against a paid invoice via POST /v2/invoicing/invoices/{invoice_id}/refunds. If the total refunded amount equals all payments, the invoice status changes to REFUNDED; otherwise it changes to PARTIALLY_REFUNDED.
Activate a billing plan that was created with status CREATED. Returns 204 No Content on success.
Deactivate an ACTIVE billing plan. No new subscriptions can be created against it. Returns 204 No Content on success.
Revise the plan, quantity, or shipping details of a subscription. Requires buyer re-approval via redirect.
Cancel an active subscription
Suspend an active subscription
Activate a suspended subscription
ONLY works on UNCLAIMED payout items — PENDING items cannot be cancelled (returns 400). Always check transaction_status with get_payout_item first before calling this action.
Accept a dispute claim and refund the buyer
Escalate a dispute to a PayPal claim
One endpoint. Any framework. Your agent is talking to PayPal in under 10 lines of code.
Agent Frameworks
{
"mcpServers": {
"stackone": {
"command": "npx",
"args": [
"-y",
"mcp-remote@latest",
"https://api.stackone.com/mcp?x-account-id=<account_id>",
"--header",
"Authorization: Basic <YOUR_BASE64_TOKEN>"
]
}
}
}162+ actions
133+ actions
128+ actions
125+ actions
120+ actions
85+ actions
83+ actions
Anthropic's code_execution processes data already in context. Custom MCP code mode keeps raw tool responses in a sandbox. 14K tokens vs 500.
11 min
Benchmarking BM25, TF-IDF, and hybrid search for MCP tool discovery across 916 tools. The 80/20 TF-IDF/BM25 hybrid hits 21% Top-1 accuracy in under 1ms.
10 min
MCP tools that read emails, CRM records, and tickets are indirect prompt injection vectors. Here's how we built a two-tier defense that scans tool results in ~11ms.
12 min
origin_owner_id.All the tools you need to build and scale AI agent integrations, with best-in-class connectivity, execution, and security.