NestDaddy

AdversaryGate

io.github.Sanflow10/adversary-gate ยท v3.0.17

Fail-closed merge gate an agent calls before saying done: MERGE, BLOCK or INCONCLUSIVE.

Connect Runs on your machine

Terminal
claude mcp add adversary-gate -e ADVERSARY_GATE_BASE_REF=<ADVERSARY_GATE_BASE_REF> -e ADVERSARY_GATE_REQUIRE_PINNED_BASE=<ADVERSARY_GATE_REQUIRE_PINNED_BASE> -e ADVERSARY_GATE_PYTHON=<ADVERSARY_GATE_PYTHON> -e ADVERSARY_GATE_POLICY=<ADVERSARY_GATE_POLICY> -- uvx adversary-gate-mcp==3.0.17
claude_desktop_config.json
{
  "mcpServers": {
    "adversary-gate": {
      "command": "uvx",
      "args": [
        "adversary-gate-mcp==3.0.17"
      ],
      "env": {
        "ADVERSARY_GATE_BASE_REF": "<ADVERSARY_GATE_BASE_REF>",
        "ADVERSARY_GATE_REQUIRE_PINNED_BASE": "<ADVERSARY_GATE_REQUIRE_PINNED_BASE>",
        "ADVERSARY_GATE_PYTHON": "<ADVERSARY_GATE_PYTHON>",
        "ADVERSARY_GATE_POLICY": "<ADVERSARY_GATE_POLICY>"
      }
    }
  }
}
~/.cursor/mcp.json
{
  "mcpServers": {
    "adversary-gate": {
      "command": "uvx",
      "args": [
        "adversary-gate-mcp==3.0.17"
      ],
      "env": {
        "ADVERSARY_GATE_BASE_REF": "<ADVERSARY_GATE_BASE_REF>",
        "ADVERSARY_GATE_REQUIRE_PINNED_BASE": "<ADVERSARY_GATE_REQUIRE_PINNED_BASE>",
        "ADVERSARY_GATE_PYTHON": "<ADVERSARY_GATE_PYTHON>",
        "ADVERSARY_GATE_POLICY": "<ADVERSARY_GATE_POLICY>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "adversary-gate": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "adversary-gate-mcp==3.0.17"
      ],
      "env": {
        "ADVERSARY_GATE_BASE_REF": "<ADVERSARY_GATE_BASE_REF>",
        "ADVERSARY_GATE_REQUIRE_PINNED_BASE": "<ADVERSARY_GATE_REQUIRE_PINNED_BASE>",
        "ADVERSARY_GATE_PYTHON": "<ADVERSARY_GATE_PYTHON>",
        "ADVERSARY_GATE_POLICY": "<ADVERSARY_GATE_POLICY>"
      }
    }
  }
}

Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.

Tools

This server runs locally, so its tools are listed by your MCP client once it starts.

Environment variables

NameDescription
ADVERSARY_GATE_BASE_REF
Optional
Baseline git ref (e.g. origin/main). Unset, the agent may pick it, and whoever picks the baseline picks the oracle
ADVERSARY_GATE_REQUIRE_PINNED_BASE
Optional
Set to 1 to refuse any run without ADVERSARY_GATE_BASE_REF, so the agent can never choose the baseline (the oracle)
ADVERSARY_GATE_PYTHON
Optional
Interpreter that runs the tests; must be one the agent cannot write to
ADVERSARY_GATE_POLICY
Optional
Extra gate flags set by the operator; evidence flags are refused

Details

Package[email protected] (PYPI, stdio)
First published27 Oct 2026
Last updated27 Oct 2026
Registry nameio.github.Sanflow10/adversary-gate

More ai and media servers See all

Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.