{"id":31000,"recorded_at":"2026-10-26T14:36:03.836013Z","observed_at":"2026-10-26T14:36:03.835942Z","subject_kind":"source_record","subject":"mcp_registry:io.github.Sanflow10/adversary-gate","kind":"listing","method":"baseline/1","body":{"endpoints":[["web","https://sanflow10.github.io/adversary-gate/"]],"name":"AdversaryGate","owner_address":null,"raw":{"_meta":{"io.modelcontextprotocol.registry/official":{"isLatest":true,"publishedAt":"2026-10-25T20:46:19.98463Z","status":"active","statusChangedAt":"2026-10-25T20:46:19.98463Z","updatedAt":"2026-10-25T20:46:19.98463Z"}},"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","description":"Fail-closed merge gate an agent calls before saying done: MERGE, BLOCK or INCONCLUSIVE.","name":"io.github.Sanflow10/adversary-gate","packages":[{"environmentVariables":[{"description":"Baseline git ref (e.g. origin/main). Unset, the agent may pick it, and whoever picks the baseline picks the oracle","name":"ADVERSARY_GATE_BASE_REF"},{"description":"Set to 1 to refuse any run without ADVERSARY_GATE_BASE_REF, so the agent can never choose the baseline (the oracle)","name":"ADVERSARY_GATE_REQUIRE_PINNED_BASE"},{"description":"Interpreter that runs the tests; must be one the agent cannot write to","name":"ADVERSARY_GATE_PYTHON"},{"description":"Extra gate flags set by the operator; evidence flags are refused","name":"ADVERSARY_GATE_POLICY"}],"identifier":"adversary-gate-mcp","registryBaseUrl":"https://pypi.org","registryType":"pypi","runtimeHint":"uvx","transport":{"type":"stdio"},"version":"3.0.16"}],"repository":{"source":"github","url":"https://github.com/Sanflow10/adversary-gate"},"title":"AdversaryGate","version":"3.0.16","websiteUrl":"https://sanflow10.github.io/adversary-gate/"}},"source":"mcp_registry","summary":"Fail-closed merge gate an agent calls before saying done: MERGE, BLOCK or INCONCLUSIVE."},"body_sha256":"58c495944edc7d2a9eeb049d279169609eda691aabd470e7c51cd0224d129262","prev_id":null,"leaf":"0x423a05fc931de51c83189da7e0d917e0fe40cde0da71bc7339829461dd4a472d","leaf_text":"{\"body\":\"58c495944edc7d2a9eeb049d279169609eda691aabd470e7c51cd0224d129262\",\"id\":31000,\"kind\":\"listing\",\"method\":\"baseline/1\",\"observed_us\":1793025363835942,\"prev\":null,\"subject\":\"mcp_registry:io.github.Sanflow10/adversary-gate\",\"subject_kind\":\"source_record\"}","day":{"day":"2026-10-26","leaves":296695,"root":"0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8","chained":"0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a","anchor_chain":"eip155:5042002","anchor_tx":"0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae","anchor_block":69251483},"proof":["0x4239ab50e5e2e8deb411c89a9fafaa5e0fbb3287489e804b25756d94ab646aba","0x2204306a62f188f5354a6773f3a3a5ce8a5ad7f18d7cb692554a5356ec5c5837","0x523ca4c1d3229c4d6c842f25b1333a00bee7a37440e6f79bbf9bc9b238dd73b2","0x9f133e8dfd0fb2e2be94048105b479fdf415771d4cf2373cffd90d88ddf2b5c2","0x91bc0c27acdc2d0def891fed5dc565fcd4702fc70c6d1d34d0e93d6d0d78bd33","0x9933c879b0c76aa30525c5a19704c982f7847d4156445a6a23050bb61ba87db5","0x0c9f3e4fd2ad3285ebfbd50b6dd39b8a3d7bea1579bdcee4b1af20780f0131fd","0x8ec95816c5df255027b2b5e145d021b35bd7829a2507ab011f26c0173566d756","0xfea68a7d29dd10639119bdd6d65bd0eb5a64226fbc44ace792d25c231fce84dd","0x1260fd52e56d736b42c74dfff845b63de8feedbacd9ad7a312040b8a7a1859cf","0x40430b285418db6d3a5a2c626d90ef47fc069d45eb9e4fbee49da2a4e637758f","0x58f4330f9ac32da273a2a76d85bc0768d037638cddbd3d1f09d9b64094bfd942","0xd406739acce2ba016f8d49081b15f266a4ea4a0b0fc5ef171c89c8fd2dda4d80","0x8b27a4c21bf4ba962fd008c8f4300bc6953764a5032b9ab0cfe696b318c45326","0x4b52a97f7a80ff7778a702b85267b8d2e5c93ce160942656435c29ae7be68bf4","0x2e6a32eb32761c210560e852405e2f865f958ddbe01027894f8b9c1b3433b9f0","0x9a83be955a206deb65b995adfd92c58fa31c95fbbf926bd199d300e70b08b26d","0x20704208aa6923d6b2450ef74ede87a6e0265d46447926038fe9506e9e154b2d","0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a"]}