Skip to main content
Glama

South Africa Payments (Paystack — cards / EFT)

Server Details

South Africa payments for AI agents — cards / EFT via Paystack. Never holds funds.

Status
Unhealthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.4/5 across 2 of 2 tools scored.

Server CoherenceA
Disambiguation5/5

Both tools have clearly distinct purposes: one creates a payment link, the other queries its status. There is no functional overlap or ambiguity.

Naming Consistency5/5

Both tools follow a consistent verb_noun pattern (create_payment_link and query_payment_status), which is predictable and clear.

Tool Count3/5

With only two tools for a payment domain, the server is somewhat thin but covers the essential create-and-check workflow. Additional tools like refund or cancel would be expected for full functionality, but the count is not extreme.

Completeness3/5

The server provides the core flow of creating a payment and checking status, but lacks important operations like refunds, cancellations, or webhook handling. This leaves notable gaps for real-world payment workflows.

Available Tools

6 tools
cancel_subscriptionA
DestructiveIdempotent
Inspect

Cancel (disable) a subscription so it will not renew. Pass the subscription_code (SUB_...) from query_subscription; email_token is resolved automatically if omitted.

ParametersJSON Schema
NameRequiredDescriptionDefault
email_tokenNoOptional email_token from query_subscription; auto-resolved when omitted.
subscription_codeYesThe subscription_code (SUB_...) returned by query_subscription
Behavior3/5

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

Annotations already provide destructiveHint=true and idempotentHint=true. Description adds 'will not renew' but doesn't detail side effects, auth needs, or what happens to the current period. Adds minimal value beyond annotations.

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 concise sentences, front-loaded with action and effect. No unnecessary words, every sentence adds value.

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

Completeness4/5

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

No output schema, but side-effect operation is adequately described. Could mention that subscription remains active until end of current period, but otherwise complete for an agent to understand.

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

Parameters4/5

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

Schema coverage is 100%, and description adds context: subscription_code from query_subscription, email_token auto-resolved. Provides meaning beyond the schema fields.

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

Purpose5/5

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

The description clearly states the action (cancel/disable), the resource (subscription), and the effect (will not renew). It distinguishes from siblings like create_subscription_link or query_subscription by specifying the cancellation operation.

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?

Provides clear instructions to pass subscription_code from query_subscription and that email_token is optional. Lacks explicit 'when not to use' or alternatives, but the context with sibling tools implies use for cancellation only.

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

query_payment_statusA
Read-only
Inspect

Check whether a South Africa payment (created by create_payment_link) has been paid. Queries Paystack directly — pull-based, no webhook needed. paid=true when status is PAID.

ParametersJSON Schema
NameRequiredDescriptionDefault
referenceYesThe reference returned by create_payment_link
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint. The description adds value by specifying 'pull-based, no webhook needed' and explaining the paid=true condition based on status, which is beyond annotations.

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?

The description is extremely concise with two sentences, no unnecessary words, and front-loads the core purpose.

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

Completeness4/5

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

For a simple query with one parameter, no output schema, and good annotations, the description covers the essential behavior and linkage to sibling tool. It could mention error responses but is adequate.

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?

The schema has 100% coverage with the description of reference. The tool description repeats that reference is from create_payment_link, which aligns with the schema but does not add new meaning beyond what the schema already provides.

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

Purpose5/5

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

The description clearly states the tool checks payment status for South Africa payments created by a sibling tool, with a specific verb 'Check' and resource 'payment status'. It distinguishes itself from alternatives by specifying pull-based behavior.

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?

The description mentions it queries Paystack directly (pull-based) and is for payments from create_payment_link, implying when to use. It does not explicitly state when not to use, but context is clear.

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

query_subscriptionA
Read-only
Inspect

Check a subscription created by create_subscription_link, using the reference returned at creation. active=true when the subscription is ACTIVE; NOT_SUBSCRIBED_YET means the buyer has not completed checkout. The result includes subscription_code and email_token — keep them to cancel later.

ParametersJSON Schema
NameRequiredDescriptionDefault
referenceYesThe reference returned by create_subscription_link
Behavior4/5

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

Annotations already mark safe read; description adds useful context about status meanings and returned tokens for cancellation, enhancing transparency.

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 concise sentences, front-loaded with purpose, no fluff.

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

Completeness5/5

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

Complete for a simple tool: explains input, output fields (status, tokens), and connection to creation, compensating for lack of output schema.

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 already fully documents the single parameter with a description; the description reinforces usage but adds no new semantic details.

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

Purpose5/5

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

Description clearly states it checks a subscription created by create_subscription_link using the reference, and distinguishes from siblings like cancel_subscription and query_payment_status.

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?

Specifies to use the reference from creation and explains the meaning of status values, but does not explicitly state when not to use this tool or mention alternatives.

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

refund_paymentA
Destructive
Inspect

Refund a paid payment (created by create_payment_link). Full refund by default; pass amount for a partial refund where supported. Refunds respect the same owner policy guardrails (x-agentpay-max-amount) as payments — the amount is checked before anything is sent to the gateway.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountNoOptional partial-refund amount in the local currency major unit. Omit for a full refund.
referenceYesThe reference of the paid payment (same id used by query_payment_status)
Behavior4/5

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

Annotations indicate destructiveHint=true. The description confirms a refund operation, which is destructive, and adds detail about the guardrail check before gateway submission. This goes beyond the annotation, but could mention idempotency or side effects.

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?

Three succinct sentences: first states purpose, second explains full/partial refund, third adds guardrails. No redundant information, front-loaded with the core action.

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

Completeness4/5

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

For a 2-parameter tool with no output schema, the description covers key behaviors: default full refund, partial refund option, and guardrail enforcement. It doesn't specify return values or error handling, but is adequate for an AI agent to use correctly.

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

Parameters4/5

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

Schema coverage is 100%, but the description adds value by explaining that 'amount' is optional for partial refunds and that 'reference' is the same ID used by query_payment_status, linking to a sibling tool.

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

Purpose5/5

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

The description clearly states the purpose: 'Refund a paid payment (created by create_payment_link).' It specifies the action (refund) and the resource (paid payment), and the context differentiates it from sibling tools (create_payment_link, query_payment_status).

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?

The description explains default behavior ('Full refund by default') and optional parameter for partial refunds. It also mentions guardrails ('x-agentpay-max-amount') and that the amount is checked before processing. While it doesn't explicitly state when not to use, it provides sufficient context for appropriate use.

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

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources