The server-side create options use short names (ReadOnly, Destructive, OpenWorld) while the client-side ToolAnnotations DTO uses Hint-suffixed names (ReadOnlyHint, DestructiveHint, OpenWorldHint).
The names differ even though they describe the same property. This surprises developers who set ReadOnly = true on the server and then read ReadOnlyHint on the client.
Consider either aligning the names (breaking change) or adding a clear doc note explaining why they differ.