Observed since 20 Oct, 20:03 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
AdversaryGate as an MCP server: a fail-closed merge gate an agent calls before saying done
The MCP server of AdversaryGate, packaged so it runs with one command:
uvx adversary-gate-mcp
It is the same server as pip install "adversary-gate[mcp]" followed by
adversary-gate-mcp; this package ships no code of its own and pins
adversary-gate[mcp] at its own version.
AdversaryGate runs your tests on the baseline and on the patch and answers
MERGE, BLOCK or INCONCLUSIVE. The server gives a coding agent two tools,
verify_repo and gate_policy, so it can check its change before saying it
is done. The agent only names evidence; the operator sets the rest through the
environment:
| Variable | What it sets |
|---|---|
ADVERSARY_GATE_BASE_REF | the baseline (e.g. origin/main). Unset, the agent may pick it, and whoever picks the baseline picks the oracle. Pinning names the baseline; it is not a defence against an agent that can write the repository's .git (its refs, objects or configuration) — run such an agent where it cannot, as with any code that runs with your privileges. |
ADVERSARY_GATE_PYTHON | the interpreter that runs the tests; one the agent cannot write to |
ADVERSARY_GATE_POLICY | extra gate flags; evidence flags are refused |
Measurement covers Python/pytest today; other languages get INCONCLUSIVE, not a false MERGE. Documentation, limits and the bug ledger: https://github.com/Sanflow10/adversary-gate.
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 3.0.14 | 19 Oct 2026 | 1 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 20:03 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:7579a46ed5b6a5ab72792ebfbc2214eeba28e8de6f0cb70a32750391fc22a501