PayPal
PayPal's MCP server, published by PayPal as @paypal/mcp, exposes PayPal Commerce Platform operations to an AI client over stdio: invoices, orders, subscriptions, products, disputes and shipment tracking, depending on which tool groups you switch on. It is a wrapper around PayPal's REST APIs, and it will not start until you tell it which tools you want.
How we started it
npx -y @paypal/mcpWe could not measure it, and that is a design choice rather than a bug: the process refuses to initialize unless you pass --tools on the command line, so a bare npx invocation dies before the MCP handshake. Use it only if you are ready to write out an explicit tool list and a PayPal access token in your client config; skip it if you wanted to try it first and decide later. The upside of the same behaviour is real, though, since a payments server that makes you name every capability you are handing an agent is safer than one that hands over everything by default.
Use it if
Skip it if
The bill for your context window
There is no Context Tax to report, because tools/list never happened: the recorded tool count and token estimate are both zero, and that zero means unmeasured rather than free. The interesting consequence is that the real figure is not a fixed property of this server at all. Whatever the tools flag you pass, that is what the payload weighs, so a config that enables one group will cost a fraction of what a config enabling all of them does. Most servers we boot hand you their whole surface and their whole token bill; this one makes you choose, which is unhelpful for a directory and better for your budget.
Setup reality
The harness runs every server as an unprivileged user with a clean env and no secrets, then speaks JSON-RPC over stdio. Here the process printed a startup error saying the --tools arguments must be provided, then exited with code 0 before initialize completed, which is a tidy exit for a failure. Nothing was scraped from stderr in the way of env-var names, so the missing piece is an argument, not a variable. To get past it you add --tools with the groups you want to your args array, and supply a PayPal access token plus an environment selector the way PayPal's docs describe; the token is what decides whether the agent is playing in sandbox or moving real money.
Questions people ask
Why did the PayPal MCP server fail to start when we measured it?
It printed an error saying the --tools arguments must be provided and exited before the MCP initialize step, with exit code 0. A plain npx run with no arguments has no chance of working. The server wants an explicit list of tool groups on the command line first.
How many tools does the PayPal MCP server expose?
We cannot tell you from measurement, since it never reached tools/list. The count is whatever your --tools flag selects, drawn from the groups PayPal's docs list for invoices, orders, subscriptions, products, disputes and shipment tracking. Two configs of this server can present very different surfaces.
Is it safe to point an agent at a PayPal account?
Treat the access token as the whole security boundary, because it is. Use a sandbox account until you have watched the agent behave, keep the enabled tool groups to the minimum the task needs, and remember that an invoice or refund tool does not ask for confirmation the way a human dashboard does.
What do I need to add to make it boot?
An args array containing the --tools flag with your chosen groups, and a PayPal access token in the environment as its docs specify. Once those are in place the handshake completes normally; the failure we recorded is a missing-argument failure, not a broken build.
Other payments servers we started
| Server | Vendor | Boots | Context tax |
|---|---|---|---|
| Stripe | Stripe | ✗ | ~0 tokens |
How this page is made: the server is spawned as an unprivileged user with a clean environment and no credentials, then asked for its tools, resources and prompts over stdio. Token figures are estimates at four characters per token, not a tokenizer count. One run, one machine. Corrections: contact the desk.