Skip to main content
Glama

Pay out to a wallet (sandbox)

xaalis_create_payout
DestructiveIdempotent

Sandbox only with a merchant key: send money from the merchant balance to a Wave or Orange Money number. In production, agents pay out only through an agent wallet key (ak_) with limits set by a human.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "amount": "<amount>",
      "provider": "<provider>",
      "recipient_phone": "<recipient_phone>",
      "idempotency_key": "<idempotency_key>"
    },
    "name": "xaalis_create_payout"
  }
}

Input Schema

NameRequiredDescriptionDefault
amountYesAmount the recipient receives, in whole XOF (F CFA). Integer, no decimals: 5000 = 5 000 F CFA.
providerYes
recipient_nameNo
idempotency_keyYesStable key for this business action (e.g. order-1042). Reuse the SAME key when retrying; a new key creates a new operation.
recipient_phoneYesSenegal mobile number, e.g. +221771234567
client_referenceNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already flag destructiveHint=true, idempotentHint=true and openWorldHint=true, and the description adds real value on top: credential requirements per environment and the human-in-the-loop limit model for production. It doesn't say what happens on insufficient balance, whether failures are final, or that money leaves the merchant balance irreversibly beyond the destructive hint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no filler, with the binding sandbox/credential constraint front-loaded before the production caveat. Every clause carries a constraint an agent needs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, irreversible money-movement tool with no output schema and half the parameters undocumented, the description covers environment and auth but says nothing about success/failure behavior, resulting payout state, or how to reconcile a retry. Adequate to call safely, not complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50%, and the description only reinforces the recipient/provider dimension ("Wave or Orange Money number"). It adds nothing about idempotency_key retry semantics, recipient_name, or client_reference, well beyond what the schema already documents for amount, idempotency_key and recipient_phone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and direction ("send money from the merchant balance to a Wave or Orange Money number") and pins the environment (sandbox only). It implicitly contrasts with xaalis_create_payment via the payout direction, but never names a sibling, so sibling differentiation is left to inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear conditional: use this in sandbox with a merchant key; in production, agents must use an agent wallet key (ak_) with human-set limits. No explicit exclusion naming other payout-related siblings such as xaalis_get_payout or xaalis_fund_agent_wallet, so it stops short of a full when/when-not map.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources