io.github.zerotaldev/ozow
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OZOW_ENV | No | Environment to target; defaults to 'staging'. Set to 'production' to run against production, which additionally requires OZOW_ALLOW_PRODUCTION to be set or the server refuses to start. | staging |
| OZOW_CLIENT_ID | Yes | Ozow One API client ID, created in the Ozow Portal after enabling One API clients. | |
| OZOW_SITE_CODE | Yes | Ozow site code (format XXX-XXX-XXX) for the merchant account. | |
| OZOW_MAX_AMOUNT | No | Maximum amount allowed for a single payment request; caps requests to prevent large accidental payments. | 1000 |
| OZOW_CLIENT_SECRET | Yes | Ozow One API client secret, created in the Ozow Portal after enabling One API clients. | |
| OZOW_ALLOW_PRODUCTION | No | Must be set to 'i-understand-this-moves-real-money' together with OZOW_ENV=production to unlock production; setting only OZOW_ENV=production makes the server refuse to start. |
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 | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ozow_environmentA | Report which Ozow environment this server is connected to, whether it can move real money, and the configured limits. Call this first - and always before any payment - so you know whether you are in staging or production. |
| ozow_verify_credentialsA | Check that the configured client ID and secret can obtain an access token. Makes no changes and moves no money. |
| ozow_create_paymentA | Create a payment request and return a redirectUrl for the payer to complete in their bank. In production this collects REAL money and requires explicit confirmation from the human you are working for - never supply the confirmation phrase on your own initiative. Amounts are in rands. |
| ozow_get_transactionsB | List the transactions recorded against a payment request, to check whether it was paid. Read-only. |
| ozow_cancel_paymentA | Cancel a payment request that has not been completed. Irreversible: the payer can no longer use that link. |
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 5 tools
Each tool has a clearly distinct role: credential check, environment report, payment creation, transaction lookup, and cancellation. There is slight conceptual overlap between ozow_verify_credentials and ozow_environment (both configuration preflight checks), but the descriptions make the boundary clear.
All tools use a consistent ozow_ prefix and snake_case with verb_noun phrasing (verify_credentials, create_payment, get_transactions, cancel_payment). ozow_environment is a noun-only outlier, but overall the pattern is predictable.
Five tools is a tight, well-scoped surface for a payment integration. Every tool earns its place covering a distinct step in the payment flow.
The core flow (create, check status, cancel) is covered, but there are notable gaps: no refund, no settlement/payout inspection, no webhook or notification handling, and transaction listing is only scoped per payment request rather than a general ledger. Agents handling post-payment reconciliation would hit dead ends.