PayPal Official Remote MCP Server
PayPal's hosted MCP exposes invoicing, orders and transaction lookup to agents โ part of PayPal's agent-toolkit push, secured by PayPal OAuth.
- Provider
- PayPal โ
- Source
- https://github.com/paypal/agent-toolkit โ
- Categories
- ๐ณ Payments, Billing & Commerce
ไธญๆ็ฎไป
PayPal ๅฎๆน่ฟ็จ MCP ๆๅกๅจใOAuth ๆๆๅ AI ไปฃ็ๅฏๅๅปบๅ็ฅจใๆฅ่ฏขไบคๆไธ็ฎก็่ฎขๅใ
Legacy SSE endpoint
Or add to ~/.cursor/mcp.json:
{
"mcpServers": {
"paypal": {
"url": "https://mcp.paypal.com/mcp"
}
}
}claude mcp add --transport http paypal https://mcp.paypal.com/mcp
Or add to .vscode/mcp.json:
{
"servers": {
"paypal": {
"type": "http",
"url": "https://mcp.paypal.com/mcp"
}
}
}- Open Settings โ Connectors (Integrations) โ Add Custom Connector.
- Paste the endpoint URL:
https://mcp.paypal.com/mcp - Complete the browser OAuth 2.1 login flow when prompted.
Bridge the remote endpoint into stdio with mcp-remote in claude_desktop_config.json:
{
"mcpServers": {
"paypal": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.paypal.com/mcp"
]
}
}
}Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"paypal": {
"serverUrl": "https://mcp.paypal.com/mcp"
}
}
}๐งฐ Tools exposed by PayPal MCP (4)
| Tool | Safety | Description | Parameters |
|---|---|---|---|
| create_invoice | ๐ Write | Create a PayPal invoice for a customer. | recipientEmail*: stringitems*: arraycurrency: string |
| list_transactions | ๐ข Read | List recent PayPal transactions. | startDate: stringendDate: string |
| get_order_details | ๐ข Read | Get details for a PayPal order id. | orderId*: string |
| create_refund | ๐ Write | Refund a captured payment. Money-moving operation โ verify the capture id. | captureId*: stringamount: number |
๐ OAuth 2.1 & Security
- Auth type
- OAuth 2.1
- Dynamic Client Registration
- โ Supported
- PKCE S256
- โ Supported
- Protected resource metadata
- https://mcp.paypal.com/.well-known/oauth-protected-resource (expected location)
๐งฉ Recommended Agent Skills
๐ Guide
PayPal MCP โ Remote MCP Server
PayPal's remote MCP mirrors the open-source PayPal Agent Toolkit: invoices, orders, transactions and refunds become agent-callable tools on your merchant account. OAuth ties the session to your PayPal credentials โ sandbox and live access follow your account setup.
Endpoint & Transport
- Endpoint URL:
https://mcp.paypal.com/mcp - Legacy SSE endpoint:
https://mcp.paypal.com/sse - Transport: Streamable HTTP + legacy SSE
Authentication
PayPal MCP uses OAuth 2.1 โ the first request returns a 401 Unauthorized challenge with a WWW-Authenticate header pointing at the authorization metadata. Compliant clients (Cursor, Claude, VS Code, ChatGPT) handle the whole flow โ PKCE and Dynamic Client Registration, so no manual client setup is needed โ and simply open a browser consent screen.
Available Tools (4)
| Tool | Safety | Description |
|---|---|---|
create_invoice |
write | Create a PayPal invoice for a customer. |
list_transactions |
read | List recent PayPal transactions. |
get_order_details |
read | Get details for a PayPal order id. |
create_refund |
write | Refund a captured payment. Money-moving operation โ verify the capture id. |
Connect in 30 Seconds
Claude Code โ one command:
claude mcp add --transport http paypal https://mcp.paypal.com/mcp
Cursor โ add to ~/.cursor/mcp.json:
{ "mcpServers": { "paypal": { "url": "https://mcp.paypal.com/mcp" } } }
VS Code โ add to .vscode/mcp.json:
{ "servers": { "paypal": { "type": "http", "url": "https://mcp.paypal.com/mcp" } } }
Claude Desktop & stdio clients โ bridge with mcp-remote:
{ "mcpServers": { "paypal": { "command": "npx", "args": ["-y", "mcp-remote", "https://mcp.paypal.com/mcp"] } } }
On first connect your client opens a browser OAuth consent screen โ approve it and tools become available immediately.
Troubleshooting
- 401 Unauthorized on connect โ that's expected; the server is OAuth-protected. Let your client complete the browser consent flow, or inspect the endpoint in our OAuth debugger to see the exact
WWW-Authenticatechallenge. - Which URL should I use? Prefer
https://mcp.paypal.com/mcp(Streamable HTTP). The SSE URL is only for older clients pinned to the pre-2025-03-26 spec. - "Session expired" / stale
Mcp-Session-Idโ just re-sendinitialize; stateless clients can ignore session headers entirely. - Money-moving tools (refunds, invoice sending) act on your real account โ prefer sandbox credentials while testing.
- Both /mcp and /sse transports are exposed.
๐ How to Connect
- Copy the PayPal MCP endpoint URLThe remote endpoint is https://mcp.paypal.com/mcp. A legacy SSE endpoint is also available at https://mcp.paypal.com/sse.
- Add it to your MCP clientClaude Code:
claude mcp add --transport http paypal https://mcp.paypal.com/mcp. Cursor: add"paypal": { "url": "https://mcp.paypal.com/mcp" }undermcpServersin ~/.cursor/mcp.json. Other clients work similarly. - Complete the OAuth consentOn first connection your client opens a PayPal consent screen in the browser. Approve it to grant access; the token is stored by the client and refreshed automatically.
- Verify with the online inspectorPaste https://mcp.paypal.com/mcp into remotemcp.net/inspector, run initialize and tools/list, and confirm PayPal MCP's 4 tools respond.
โ FAQ
What is the PayPal MCP remote MCP endpoint?
The primary endpoint is https://mcp.paypal.com/mcp, with a legacy SSE endpoint at https://mcp.paypal.com/sse. It is an official first-party server operated by PayPal, speaking the Streamable HTTP + legacy SSE transport.
Should I use PayPal MCP's /mcp or /sse endpoint?
Use https://mcp.paypal.com/mcp โ Streamable HTTP is the current MCP transport and what every modern client defaults to. https://mcp.paypal.com/sse exists only for clients still on the legacy HTTP+SSE transport from the 2024 spec.
How do I authenticate with PayPal MCP?
PayPal MCP uses OAuth 2.1. When your client first connects it receives a 401 challenge, discovers the authorization server via RFC 9728 metadata, and opens a browser consent screen. Dynamic Client Registration is supported, so compliant clients register themselves automatically.
I'm getting a 401 Unauthorized from PayPal MCP โ what's wrong?
A 401 means your client hasn't completed (or has lost) the OAuth authorization. Remove and re-add the server in your client to restart the consent flow, and check that your browser session can reach the provider's login page. If the 401 arrives without a WWW-Authenticate header, run it through our OAuth debugger to see what's missing.
Which MCP clients work with PayPal MCP?
Any client that supports remote MCP servers: Cursor, Claude Code (`claude mcp add --transport http paypal https://mcp.paypal.com/mcp`), VS Code Copilot, ChatGPT connectors, Windsurf, and Claude Desktop via the `mcp-remote` bridge.
What tools does PayPal MCP expose?
4 tools are cataloged in this directory โ including `create_invoice`, `list_transactions`, `get_order_details` and more. Use our online inspector to fetch the live tool list straight from the endpoint.
๐ Connect Guides
๐ Embed Status Badge in README
Related Servers
Stripe's official remote MCP server at mcp.stripe.com. Agents can query customers, payment intents and subscriptions and invoke Stripe API operations with OAuth.
Square's official remote MCP server for payments, orders and catalog. Connects your Square seller account to agents over the SSE transport with OAuth.