The difference is that the server gives a description of the api it understands in enough detail that the llm can make use of it.

MCP is still going to be handy enough for iot type devices, where an llm can discover what's actually supported by that device without needing to query about the specific version.

Swagger / OpenAPI just aren't detailed enough to use without other documentation.

Skills & instructions will always have the limit that they run locally, so if they don't match the server there is a problem.