If you ship an MCP server (or client) that anyone else uses, you owe a compatibility matrix: a published list of which protocol revisions × which clients × which transports you have actually tested against. The matrix is two columns of honesty: known-good, and explicitly known-untested. Both reduce support pain.
The cheapest matrix that adds value: three revisions deep (current and two prior), the three most-used clients (Claude Desktop, Cursor, your own host if any), and both transports (stdio, Streamable HTTP). For each cell, a CI job that boots the server and runs an end-to-end smoke test (initialize → list tools → call one tool → shutdown). Failing cells are bugs; passing cells are commitments.
The matrix also gives you a place to publish caveats. "Streamable HTTP works under Cloudflare Workers, but you must enable websockets" is exactly the kind of note that saves the next user a day of debugging. The matrix is your README's most useful section.