Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, establishing this as a safe, non-mutating operation. The description adds behavioral context by explaining the state-dependent output: when all providers are connected vs. when credentials are missing (returns connect_url). This transparency about conditionality goes beyond the annotations and helps the agent anticipate different return scenarios. However, it doesn't disclose details like rate limits or whether it hits external APIs, but given the annotations cover the core behavior, this is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.