Zero-trust multi-tenant FastMCP reference server for secure banking operations with role-based access control
Three well-defined banking tools with complete JSON schemas, clear descriptions, and proper parameter constraints. All tools have type-annotated inputs with min/max bounds and regex patterns. Descriptions are concise (40-60 chars) and action-oriented. Security-focused design with scope-based access control (ACCOUNTS_READ, TRANSACTIONS_READ, TRANSFERS_WRITE). Strengths: strict input validation enabled, proper error masking, idempotent read operations. Gaps: no output schema documentation visible in code, no error recovery guidance in descriptions, no batch operations, limited parameter descriptions (e.g., 'limit' lacks rationale for 1-100 range).
Return the authenticated caller's balance for one owned account.
Return recent transactions for one account owned by the caller.
Move funds between two accounts owned by the authenticated caller.
Output schemas not documented in tool definitions. LLMs cannot infer return structure (Balance, TransactionHistory, TransferReceipt fields) from code alone. Requires reading models.py separately.
Parameter descriptions lack actionable context. 'limit' is described as 'Maximum number of transactions to return' but does not explain why 1-100 range or default=20 was chosen. No guidance on when to use higher limits.
No error recovery guidance in descriptions. Tools do not document what happens on authorization failure, account not found, or insufficient funds. LLM cannot self-correct without explicit error messages.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | B | 79 | 2026-07-28+ | v2 |
transfer_between_own_accounts lacks dry-run or confirmation step. Irreversible financial operations should support confirmation before execution to prevent agent mistakes.
No batch operations. Agents querying multiple accounts must call check_balance or transaction_history sequentially, wasting tokens and latency. Batch variants would improve efficiency.