MCP ToolError exceptions need a 4xx/5xx distinction for Sentry filtering
FastMCP has no 4xx/5xx distinction for ToolError. Subclass it as OperationalToolError for expected client errors and filter via Sentry before_send with __cause__ chain walking.
@mahmoud