{"id":447009,"recorded_at":"2026-10-27T10:27:40.866248Z","observed_at":"2026-10-27T10:27:40.866213Z","subject_kind":"source_record","subject":"mcp_registry:io.github.Sanflow10/adversary-gate","kind":"listing","method":"sync.mcp_registry/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-27T09:44:23.606975Z","status":"active","statusChangedAt":"2026-10-27T09:44:23.606975Z","updatedAt":"2026-10-27T09:44:23.606975Z"}},"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.17"}],"repository":{"source":"github","url":"https://github.com/Sanflow10/adversary-gate"},"title":"AdversaryGate","version":"3.0.17","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":"b64edcc7f5a3b20c7d42d7bf16c0833b452b9f9e7b16cd78485d7dcf712c66ac","prev_id":31000,"leaf":"0x828aa716863bfbf53d80c767fe82f08dde6951287ea9466719ae3ccfa9060235","leaf_text":"{\"body\":\"b64edcc7f5a3b20c7d42d7bf16c0833b452b9f9e7b16cd78485d7dcf712c66ac\",\"id\":447009,\"kind\":\"listing\",\"method\":\"sync.mcp_registry/1\",\"observed_us\":1793096860866213,\"prev\":31000,\"subject\":\"mcp_registry:io.github.Sanflow10/adversary-gate\",\"subject_kind\":\"source_record\"}","day":{"day":"2026-10-27","leaves":273461,"root":"0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795","chained":"0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4","anchor_chain":"eip155:5042002","anchor_tx":"0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4","anchor_block":69414147},"proof":["0x828a90659170755bb19b3f003fbf960f206030fbf8bbdf34105480d65679ae62","0x75c8dbbf9b3e9afd7dfdae13eb7930092be95fccc26b8eb293cd5d3ae17a853f","0xe4593300be8c1a666f21f3258a77604731a10a0b0e8b91071e272e35b6ecf01b","0x88fa5995a345d65d622f63047e8fcf214f11841194f90cf8586fa3a6346b7aed","0x1e58baae524abf69a20d240e9d2647329dd9638da39e339c0502f80fb35a5419","0xa73ba84e27a6cdefd2e90a7bd7fb28c66e02a16fa9c3232f001cf5a0fd8877a6","0x27d2a131e2f8b3ee625ac03fac1397e506a5124dd7813e90854e685c3e5aa33f","0xa0834dd0de5596bc9346f713cc3a704677a591dab26f835e591785c43217fdca","0x23a70c3fd93ac9025f8bdf387dd8d0ee8396e6b346efb875bf103ff177f36f4c","0x9368aeeea92a5b7727b76a64fa19e2daf90ffeaa9c3f4d373471447448b8b5f6","0x164039927a75bda6275a106556896901626c20428ab1c29de73c4cd508bb0969","0x4cf7b6120bfa84e107b8f1b7be613b553fa250042dc0db95890566416a94d682","0xe38e66e8bf48306ee42504c4df50c2052cc9230af02e2ae6ff66da20232bf797","0xfa0c8e8f1a1710ff197533b0a28208f2e168afe71abb7bb3416e09d1ac371d60","0x3c500ec3d3edf0c74b87a6ca8fcd77656bfbe03db3d478bd0c184d0c88839c6b","0xfecf3d4646dd4984a13dd715499e842c3fde63692336d97394c2bfd8e877ca5d","0xf30fddbf4811226c58e8f0daf36fddd79fc5f1356b592bb1d99a8061ddbabe66","0x2bf8151e5f157dd183b9de6fa00469551932a7a6e3f33a694895000ac9061197","0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699"]}