MCP is not self describing by default either.

I can implement a tool and not add it to the definitions, much like you can implement an API endpoint and not add it to the spec.

This is a documentation/code synchronization problem that is solved the same way for both MCP and REST, generate documentation from code.