Banking MCP server that exposes accounts and transactions resources
Banking MCP has clear tool names (create-account, create-transaction) with action verbs, and both tools have descriptions and input schemas. However, descriptions are minimal (under 100 chars), parameter descriptions lack detail about constraints and formats, and output schemas are not documented. No error handling guidance, no idempotency hints, and no security considerations for financial operations. Tool composition is reasonable but lacks pagination, result limits, and recovery patterns expected in production banking tools.
Create a new bank account with specified name, type, and optional initial balance
Create a new transaction for a specified account with amount, type, and description
Descriptions are too brief (under 100 chars) and lack context about when to use each tool, prerequisites, or what the tool returns. LLMs need 50-200 char descriptions to reliably select tools.
Parameter descriptions lack format constraints, ranges, and validation rules. E.g., 'amount' has no min/max bounds, 'initialBalance' defaults to 0 but no mention of negative balance handling, 'recipient' and 'sender' are optional but no guidance on when they're required.
No output schema documentation. Callers cannot predict response structure (e.g., does create-account return the full Account object or just the ID?). This forces LLMs to guess and risks downstream tool failures.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | 2026-07-28+ | v2 |
No error handling guidance. create-transaction returns isError=true for missing account, but no recovery hint (e.g., 'Call list-accounts to find valid IDs'). LLMs cannot self-correct without explicit guidance.
Financial operations (create-transaction) lack idempotency hints, confirmation patterns, or dry-run support. Agents could accidentally create duplicate transactions or overdraft accounts without safeguards.