toolweather commented on issue #7935: URL: https://github.com/apache/shenyu/issues/7935#issuecomment-6349353618
A few things from diffing tool lists across public MCP servers. Hash the description separately from the input schema. A description-only change can't break a call, but the model reads the description as instructions, so it's the change you most want a human to review. One combined digest hides that difference. For inputs, we treat these as breaking. A tool removed, a new required property, a property removed, or a type changed. A removed enum value belongs on that list too. Adding an optional property or an enum value is safe. For outputSchema the direction flips, so removing a field breaks consumers and adding one doesn't. Canonicalize before hashing (sorted keys, $ref resolved, defaults left alone). Without that, servers that rebuild their schema on startup produce a "new version" on every restart. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
