{"name":"io.github.Sanflow10/adversary-gate","slug":"sanflow10-adversary-gate","title":"AdversaryGate","description":"Fail-closed merge gate an agent calls before saying done: MERGE, BLOCK or INCONCLUSIVE.","url":"https://mcp.market/server/sanflow10-adversary-gate","rating":null,"grade":"A","score":92,"certified":false,"status":"active","category":"ai","tags":["ai"],"presence":{"score":38,"stars":3,"forks":0,"downloads_week":629,"last_push_at":"2026-10-09T18:53:43.000Z","license":"AGPL-3.0"},"uptime":null,"claimed":false,"transport":"pypi","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/Sanflow10/adversary-gate","website":"https://sanflow10.github.io/adversary-gate/","version":"3.0.17","remotes":[],"packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"adversary-gate-mcp","version":"3.0.17","runtimeHint":"uvx","transport":{"type":"stdio"},"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"}]}],"tools":[],"scan":null,"grade_history":[],"reviews":[]}