Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and idempotentHint=true, but the description says only 'Read', so it never explains the non-read-only character implied by the annotation and by the analysis_project_id parameter, which retains results in a project. It also omits whether an open binary/document context is required and what the returned reference set looks like. Not flagged as a contradiction because 'read' can describe the analysis operation while persistence happens in project state, but the description leaves the side effect undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.