The Architect's blueprint for creating high-reliability tool interfaces and Model Context Protocol (MCP) servers.
| Pattern | Implementation | 950+ Impact |
|---|---|---|
| Empty Results | isError: false, found: false |
Prevents loop thrashing on valid nulls. |
| Wait Hint | retryAfterSeconds: 30 |
Prevents hammering struggling services. |
| Sanitization | customerFriendlyMessage |
Prevents leaking DB structure to UI. |
| MCP Auth | ${ENV_VAR} in .mcp.json |
Security hygiene; never commit real tokens. |
If two tools (e.g., jira.get_issue and github.get_issue) share names, Claude will
hallucinate or pick randomly. To score 950+, you must prefix tools
(jira_get_issue) and enhance descriptions with "Negative Boundaries" (e.g., 'Do NOT use this
for GitHub PRs; use github_get_issue instead'). This creates 100% deterministic routing even with
overlapping schemas.
Never return isError: false for an operation that didn't complete its intended side effect. If a
DB write fails but you return {"status": "error"} with isError: false, Claude thinks
the application succeeded but the data was bad. This prevents Claude from entering its retry/fix
routine. isError: true is the signal to the model, not just the user.