Model Context Protocol server for the Wafeq accounting API. Generates all 251 endpoints as safety-categorized MCP tools (read-only / write / irreversible / destructive) from the OpenAPI spec at build time.
Single tool with strong naming (verb_noun: wafeq_account_ledger), comprehensive description (280+ chars explaining READ-ONLY status, use case, and cost model), and well-structured JSON Schema with 10 parameters all typed and described. Parameter descriptions include format guidance (YYYY-MM-DD), constraints (92-day window), and dependency hints (resolve_dates behavior). Output schema not explicitly documented in visible code, response is JSON.stringify'd with no formal schema declaration. Error handling present (date validation, range checks) but recovery guidance minimal. Tool is marked READ_ONLY with proper risk categorization.
🟢 READ-ONLY · Journal Line Items · convenience tool List journal line items WITH their real transaction date attached as `date`. Use this instead of the raw journal-line-items tool whenever the date matters — for tracing an account's history, reconciling a period, or explaining a balance. The raw endpoint returns `created_ts` (when the row reached Wafeq), which is regularly a different month from the transaction and must not be reported as the transaction date. Both dates are required and the window must be 92 days or fewer for dates to be resolved; a wider range still returns rows, but without `date`. Costs one request per month plus one per day in months that contain rows, so quiet periods are cheap. The result reports `requests_made`.
Output schema not formally documented. Response is JSON.stringify'd but no schema definition visible for what fields the LLM should expect in the result object (rows, requests_made, truncated, etc.).
Error messages are developer-focused, not LLM-recovery-focused. E.g., 'journal-line-items returned HTTP 500: ...' does not guide the agent on whether to retry, ask the user, or escalate.
Tool description includes example ID format ('acc_2SrR5fcutXPNtgrrwPmrUU') which LLMs may reuse literally in real calls instead of adapting to actual context.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2026-07-28+ | v2 |