Problem
FastMCP's ToolError is the only exception type for all tool failures — auth failures, rate limits, validation errors, and genuine server crashes all raise the same class. Sentry's ASGI integration captures them all as error events with full stack traces, even though auth failures and rate limits are expected operational events (the MCP equivalent of HTTP 4xx).
This creates noise: expired agent keys generate dozens of Sentry errors per day, each with a multi-frame stack trace through the FastMCP framework, obscuring real bugs.