Skip to main content
Glama
Agnuxo1

PayPal Agentic Guardrail

by Agnuxo1

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GUARDRAIL_VAULTNoPath to the encrypted vault file, e.g. `./paypal.vault.json`.
PAYPAL_CLIENT_IDNoPayPal sandbox client id, used with a plain `.env` credential source (weaker than the vault; the CLI warns at startup).
GUARDRAIL_TRANSPORTNoTransport 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_USERNoVault user name, e.g. `operator`.
OPERATOR_MERCHANT_IDNoYour PayPal sandbox merchant id, bound into policies via `${OPERATOR_MERCHANT_ID}`.
PAYPAL_CLIENT_SECRETNoPayPal sandbox client secret, used with a plain `.env` credential source (weaker than the vault; the CLI warns at startup).
GUARDRAIL_CREDENTIALSNoCredential source, e.g. `vault`. Set to `vault` when using the encrypted vault (GUARDRAIL_VAULT, GUARDRAIL_VAULT_USER, GUARDRAIL_VAULT_PASSWORD).
OPERATOR_SUPPLIER_EMAILNoA PayPal sandbox account email to pay as a supplier.
GUARDRAIL_VAULT_PASSWORDNoPassword 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

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
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:

  • charge_customer_eur: Create a EUR order for one catalogue item, payable to the operator's own merchant account. (amount, sku) [schema: {"amount":{"type":"string","pattern":"^(0|[1-9]\d{0,9})\.\d{2}$","description":"decimal string between 1.00 and 250.00 inclusive"},"sku":{"type":"string","enum":["SKU-BASIC","SKU-PRO","SKU-TEAM"]}}]

  • capture_order: Capture an order this broker created earlier. (no parameters; requires a order_id this broker issued) [schema: {}]

  • show_order: Read the status of an order this broker created earlier. (no parameters; requires a order_id this broker issued) [schema: {}]

  • refund_capture_eur: Refund part or all of a capture this broker made, in EUR, with a short customer-facing note. (amount, note; requires a capture_id this broker issued; approval: over_amount:100.00) [schema: {"amount":{"type":"string","pattern":"^(0|[1-9]\d{0,9})\.\d{2}$","description":"decimal string between 1.00 and 250.00 inclusive"},"note":{"type":"string","maxLength":120,"description":"plain text; URLs, email addresses and bank identifiers are rejected"}}]

  • pay_supplier_eur: Send a EUR payout to one of the operator's approved suppliers. The receiver is bound by the operator; the agent only picks the amount. (amount; approval: over_amount:200.00) [schema: {"amount":{"type":"string","pattern":"^(0|[1-9]\d{0,9})\.\d{2}$","description":"decimal string between 1.00 and 500.00 inclusive"}}]

  • show_payout: Read the status of a payout batch this broker sent. (no parameters; requires a payout_batch_id this broker issued) [schema: {}]

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.1/5.0

Scored across 2 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count4/5

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.

Completeness4/5

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.

Maintenance

ActivityMaintained
ResponsivenessNo issues