You wrote this once, on the day the tool was born: { "name" : "search_docs" , "annotations" : { "readOnlyHint" : true , "destructiveHint" : false , "openWorldHint" : false } } Then the tool kept changing. A parameter got added. A backend call got wired in. The schema grew. The annotations block stayed exactly as you left it. Why the drift matters The MCP spec calls these annotations...