registry icon indicating copy to clipboard operation
registry copied to clipboard

Support `ETag` and `If-Match` in creation endpoints

Open blkt opened this issue 4 months ago • 1 comments

Is your feature request related to a problem? Please describe. The behavior of POST /v0/publish is unclear in the case of two conflicting posts updating in slightly different ways the same MCP server.

Describe the solution you'd like It would be great to support ETag and If-Match headers when getting and updating MCP servers, respectively, allowing the server to detect conflicting changes.

Describe alternatives you've considered None

Additional context Usually a hash of the original resource is used to populate the ETag header, which introduces the question of how to calculate hashes consistently, which I'm not describing to leave the discussion open.

blkt avatar Oct 29 '25 17:10 blkt

When you publish a version like "1.0.0", that version is immutable - you can't overwrite it. If two people try to publish the same version simultaneously, the second one will fail because the version already exists. This effectively gives us conflict detection without needing ETags.

The only scenario where ETags would add value is if:

  • two people are publishing different version bumps of the same server without coordination (which seems v. unlikely); or
  • we supported updating server versions and want locking there, but that doesn't really fit with our immutable version model.

Maybe this is useful for downstream subregistries - are you able to share more about your use case?

domdomegg avatar Nov 17 '25 14:11 domdomegg