MCP server for processing pan-African cross-border payments with support for multiple countries, currencies, and settlement rails
Single tool 'execute_skill_action' has a reasonable name starting with a verb, but the implementation is severely deficient. The tool description is generic (67 chars) and lacks context on when/why to use it. Input schema is present with 4 parameters, all with descriptions and defaults, but lacks critical constraints: payment_method should be an enum (mobile_money, bank_transfer, etc.), to_country should be an enum (NG, KE, GH), and from_currency should be constrained. No output schema is documented anywhere, the mcp_server.py only prints a status message, not actual tool results. The client.py shows what the tool COULD return (transaction details), but this is never exposed in the MCP interface. No error handling, no recovery guidance, no validation. The tool appears to be a stub that does not actually invoke the payment logic.
Execute payment gateway skill action for pan-African cross-border payments
No output schema documented. Tool description does not specify what fields are returned (transaction_id, payout_amount, fx_rate_applied, etc.). LLMs cannot plan downstream actions without knowing the response structure.
Missing enum constraints on payment_method and to_country parameters. These should be enums (payment_method: [mobile_money, bank_transfer, ...]; to_country: [NG, KE, GH, ...]) to prevent hallucinated invalid values.
Tool description is generic and lacks context. '67 chars is below the 194-char baseline. Does not explain WHEN to use this tool, what prerequisites exist, or what the payment flow entails. No mention of compliance checks, settlement speed, or FX rates.
No error handling or recovery guidance. If a payment fails (invalid country, unsupported currency, compliance rejection), the tool provides no actionable error message or next steps for the LLM.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 35 | 2026-07-28+ | v2 |
Tool implementation is a stub. mcp_server.py only prints a static JSON status message and does not actually call the payment logic in client.py. The tool is non-functional.