diff --git a/environments/compact/compact/program.py b/environments/compact/compact/program.py index c9d3736daa..610992cab0 100644 --- a/environments/compact/compact/program.py +++ b/environments/compact/compact/program.py @@ -1,6 +1,6 @@ # /// script # requires-python = ">=3.10" -# dependencies = ["openai", "mcp"] +# dependencies = ["openai", "mcp>=1.24.0,<2"] # /// """The compacting harness's program: a context-REWRITE loop (so every turn branches). diff --git a/verifiers/v1/harnesses/bash/program.py b/verifiers/v1/harnesses/bash/program.py index aa9326c806..c2b71a7183 100644 --- a/verifiers/v1/harnesses/bash/program.py +++ b/verifiers/v1/harnesses/bash/program.py @@ -1,6 +1,6 @@ # /// script # requires-python = ">=3.10" -# dependencies = ["openai", "mcp", "httpx", "tenacity"] +# dependencies = ["openai", "mcp>=1.24.0,<2", "httpx", "tenacity"] # /// """Secrets arrive through argv so local tool subprocesses do not inherit them.""" diff --git a/verifiers/v1/harnesses/null/program.py b/verifiers/v1/harnesses/null/program.py index 189f55633a..b17b619a1f 100644 --- a/verifiers/v1/harnesses/null/program.py +++ b/verifiers/v1/harnesses/null/program.py @@ -1,6 +1,6 @@ # /// script # requires-python = ">=3.11" -# dependencies = ["openai", "mcp", "httpx", "tenacity"] +# dependencies = ["openai", "mcp>=1.24.0,<2", "httpx", "tenacity"] # /// """The interception endpoint and secret arrive through argv rather than the environment.""" diff --git a/verifiers/v1/harnesses/rlm/harness.py b/verifiers/v1/harnesses/rlm/harness.py index 9bc4194301..8e9b47339f 100644 --- a/verifiers/v1/harnesses/rlm/harness.py +++ b/verifiers/v1/harnesses/rlm/harness.py @@ -94,6 +94,8 @@ async def setup(self, runtime: Runtime) -> None: ensure = shlex.quote(f"[ -x {RLM_BIN} ] || ({install})") guarded = f"mkdir -p {RLM_DIR} && flock {RLM_DIR}/install.lock sh -c {ensure}" env = {**self.config.resolved_env, "RLM_HOME": RLM_HOME} + extra_uv_args = env.get("RLM_EXTRA_UV_ARGS", "") + env["RLM_EXTRA_UV_ARGS"] = f"{extra_uv_args} --with mcp~=1.28".strip() result = await runtime.run(["sh", "-c", guarded], env) if result.exit_code != 0: raise RuntimeError(f"rlm install failed: {result.stderr.strip()[-500:]}")