MCP server for managing customers in abacatepay payment platform
Two tools with basic schemas and descriptions, but significant gaps in parameter documentation, output schema clarity, and error handling guidance. get-customers has a vague 'submitter' parameter with unclear purpose. create-customer lacks output schema documentation and has no error recovery guidance. Both tools lack idempotency hints and permission declarations. Descriptions are present but minimal (34-50 chars, below the 50-200 char LLM-optimized baseline). No pagination support despite list operations. Tool composition is reasonable (separate create/list), but parameter naming could be more explicit (e.g., 'customer_name' vs 'name').
Create a new abacatepay customer
List customers registered in abacatepay
Output schemas not documented. LLMs cannot infer what fields to expect from tool responses, forcing them to guess at downstream field names and types.
Parameter 'submitter' in get-customers is vague and its purpose unclear. Description says 'The name of the thing calling this tool' but does not explain why this is needed or how it affects the response.
No error recovery guidance. Both tools return errors but do not tell the LLM what to do next (retry, ask user, check input format, etc.).
No pagination support on get-customers. If the customer list grows large, the response could exhaust context window. Missing limit and offset/cursor parameters.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2026-07-28+ | v2 |
Tool descriptions are too short (34-50 chars vs. 50-200 char baseline). Lack context on WHEN to use each tool and what prerequisites exist. 'List customers' does not explain if this requires authentication or what the response structure is.