PayPal Agentic Guardrail
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GUARDRAIL_VAULT | No | Path to the encrypted vault file, e.g. `./paypal.vault.json`. | |
| PAYPAL_CLIENT_ID | No | PayPal sandbox client id, used with a plain `.env` credential source (weaker than the vault; the CLI warns at startup). | |
| GUARDRAIL_TRANSPORT | No | Transport to use. Set to `sandbox` to point at the real PayPal sandbox (`api-m.sandbox.paypal.com`); the default offline stand-in is used when unset. | |
| GUARDRAIL_VAULT_USER | No | Vault user name, e.g. `operator`. | |
| OPERATOR_MERCHANT_ID | No | Your PayPal sandbox merchant id, bound into policies via `${OPERATOR_MERCHANT_ID}`. | |
| PAYPAL_CLIENT_SECRET | No | PayPal sandbox client secret, used with a plain `.env` credential source (weaker than the vault; the CLI warns at startup). | |
| GUARDRAIL_CREDENTIALS | No | Credential source, e.g. `vault`. Set to `vault` when using the encrypted vault (GUARDRAIL_VAULT, GUARDRAIL_VAULT_USER, GUARDRAIL_VAULT_PASSWORD). | |
| OPERATOR_SUPPLIER_EMAIL | No | A PayPal sandbox account email to pay as a supplier. | |
| GUARDRAIL_VAULT_PASSWORD | No | Password used to unlock the encrypted vault (Argon2id + AES-256-GCM). Prompts do not echo and nothing is written to the repository. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_payment_operationsA | List the payment operations the operator has authorised, with the exact parameter ranges each one accepts. Call this first. |
| run_payment_operationA | Run one authorised payment operation. You choose only the operation name and its parameters, inside the operator's declared ranges. The payee, the currency and the destination are fixed by the operator and cannot be set here. Available operations:
|
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 2 tools
The two top-level tools have clearly distinct roles: one discovers authorised operations and their schemas, the other executes exactly one operation. Within run_payment_operation, the six embedded operations are also clearly differentiated by purpose and required identifiers.
Both tools follow a consistent snake_case verb_noun pattern: list_payment_operations and run_payment_operation. The embedded operation names also follow the same convention, making the set predictable.
Only two top-level tools is slightly thin by usual MCP server standards, but the dispatcher pattern is appropriate for a guardrail server: discovery and execution are intentionally separated, and run_payment_operation encapsulates six distinct operations.
The surface covers the main payment lifecycle: charge, capture, show order, refund, supplier payout, and show payout. A minor gap is the lack of a way to list previously issued order, capture, or payout batch IDs, so agents must retain those IDs from prior responses.