Critical Risk →

payments_refund

Request a refund for a payment. Validates payment_id, amount (positive integer minor units), optional reason and currency. Returns a structured confirmation (stub).

Part of the Ui server.

payments_refund can move real money through Ui, with no limits today. PolicyLayer puts allow, deny, and rate-limit rules on every call. Live in minutes.

SECURE UI →

Free to start. No card required.

AI agents use payments_refund to initiate financial transactions through Ui. Financial operations involve real money and are irreversible once processed. PolicyLayer blocks financial tools by default, requiring explicit human approval with transaction-level limits to prevent unauthorised spending.

payments_refund moves real money. Without a policy, an autonomous agent could initiate transactions that drain accounts or exceed budgets. PolicyLayer blocks financial tools by default, requiring human-in-the-loop approval with configurable spending limits per transaction and per time window.

Financial tools involve real money. Block by default and require explicit human approval before enabling.

policy.json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "payments_refund": {
      "deny_if": [
        {
          "conditions": [],
          "on_deny": "Requires human approval."
        }
      ]
    }
  }
}

See the full Ui policy for all 38 tools.

Get this rule live on your own Ui server in minutes. PolicyLayer enforces it on every call, before it runs.

ENFORCE ON MY UI →

View all 38 tools →

These attack patterns abuse exactly the kind of access payments_refund gives an agent. Each links to the full case and the policy that stops it:

Browse the full MCP Attack Database →

Every attack above starts with a tool call. PolicyLayer checks each one against your policy first, so payments_refund only ever does what you allow.

SECURE UI →

Other financial tools across the catalogue. The same approach applies to each: deny by default, or require human approval.

What does the payments_refund tool do? +

Request a refund for a payment. Validates payment_id, amount (positive integer minor units), optional reason and currency. Returns a structured confirmation (stub).. It is categorised as a Financial tool in the Ui MCP Server, which means it involves financial transactions. Block by default and require explicit approval.

How do I enforce a policy on payments_refund? +

Register the Ui MCP server in PolicyLayer and add a rule for payments_refund: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Ui. Nothing to install.

What risk level is payments_refund? +

payments_refund is a Financial tool with critical risk. Critical-risk tools should be blocked by default and only enabled with explicit human approval.

Can I rate-limit payments_refund? +

Yes. Add a rate_limit block to the payments_refund rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.

How do I block payments_refund completely? +

Set action: deny in the PolicyLayer policy for payments_refund. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.

What MCP server provides payments_refund? +

payments_refund is provided by the Ui MCP server (@forgespace/ui-mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.

Enforce policy on every Ui tool call.

Deterministic rules across all 38 Ui tools. Per-identity grants. Full audit log. Live in minutes. Nothing to install.

Free to start. No card required.

4,600+ MCP servers and 31,000+ tools scanned and risk-classified.

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.