agent-mcp-hub 0.5.3 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # agent-mcp-hub
2
2
 
3
3
  One MCP server that bridges multiple CLI coding agents — **Codex**, **Cursor**,
4
- **OpenCode**, and **Claude** — into any MCP client.
4
+ **OpenCode**, **Claude**, and **Antigravity** — into any MCP client.
5
5
 
6
6
  > **stdio only — by design.** The hub ships no Docker image and no HTTP
7
7
  > transport (both were removed during the 0.5.x line). A containerised or remote
@@ -17,6 +17,7 @@ One MCP server that bridges multiple CLI coding agents — **Codex**, **Cursor**
17
17
  | `cursor` | Delegate a prompt to `cursor-agent -p` (prompt piped via stdin) |
18
18
  | `opencode` | Delegate a prompt to `opencode run` |
19
19
  | `claude` | Delegate a prompt to the Claude Code CLI (prompt piped via stdin) |
20
+ | `agy` | Delegate a prompt to Google Antigravity (`agy --print=…`, prompt passed as a flag value) |
20
21
  | `run_all` | Same prompt to all agents in parallel, results side by side |
21
22
  | `list_agents` | Which agent CLIs are installed and on PATH |
22
23
  | `ping` | Health check |
@@ -37,7 +38,7 @@ class and the exact fix:
37
38
  | Class | Example remediation |
38
39
  |---|---|
39
40
  | `not_installed` | install the CLI (e.g. `npm i -g @openai/codex`) / fix PATH |
40
- | `not_authenticated` | `codex login` · `cursor-agent login` · `opencode auth login` · `claude` → `/login` (or set the matching API key) |
41
+ | `not_authenticated` | `codex login` · `cursor-agent login` · `opencode auth login` · `claude` → `/login` · `agy` → sign in on first run (or set the matching API key) |
41
42
  | `not_configured` | set a model/provider in the CLI's config |
42
43
  | `timed_out` | raise `timeoutMs`, or check the agent/model is responsive |
43
44
  | `stream_stalled` | the agent reached the network but its stream keeps dropping (e.g. `cursor` behind a TLS-intercepting proxy) — treat that agent as unavailable; raising `timeoutMs` will not help |
@@ -69,6 +70,22 @@ worktree), optional `model`, `timeoutMs`.
69
70
  (noted in the output).
70
71
  - Complements — does not replace — client-side stop-hooks or PR-time CI review.
71
72
  - The confirm gate (`MCP_CONFIRM`) applies.
73
+ - **The reviewer runs least-privilege — but how much that guarantees depends on the
74
+ agent.** The reviewer's prompt embeds an attacker-influenced diff, so it is run
75
+ read-only rather than with the write grant the runner gets. Only two of the five
76
+ are real restrictions:
77
+
78
+ | Reviewer | Read-only mechanism | Enforced? |
79
+ |---|---|---|
80
+ | `codex` | `-s read-only` | **Yes — OS-level sandbox** |
81
+ | `claude` | `--disallowedTools Write,Edit,…,Bash` | **Yes — harness-level deny** |
82
+ | `cursor` | `--trust --mode plan` (no `--force`) | No — model-advisory only |
83
+ | `agy` | permission grant withheld | Partly — headless auto-deny, not a sandbox |
84
+ | `opencode` | *none available* | **No — unrestricted** |
85
+
86
+ Pick `codex` or `claude` as the reviewer if you want the restriction to be real.
87
+ This is defense-in-depth alongside the nonce-fenced diff and the throwaway temp
88
+ cwd; none of it is a sandbox.
72
89
 
73
90
  ```json
74
91
  {
@@ -90,6 +107,9 @@ Install and authenticate the CLIs you want to use (any subset works):
90
107
  - Cursor: `curl https://cursor.com/install -fsS | bash && cursor-agent login`
91
108
  - OpenCode: `npm i -g opencode-ai && opencode auth login`
92
109
  - Claude Code: `npm i -g @anthropic-ai/claude-code && claude` (first run logs in)
110
+ - Antigravity: install the Antigravity CLI (e.g. `brew install --cask antigravity-cli`),
111
+ then run `agy` once and sign in — it has no `login` subcommand and stores
112
+ credentials in the OS keyring, so there is no API-key env var to set
93
113
 
94
114
  ## Install
95
115
 
@@ -139,7 +159,7 @@ claude mcp add agent-hub -- npx -y agent-mcp-hub@0.5.0
139
159
  ## Configuration
140
160
 
141
161
  **`MCP_AGENTS`** — comma-separated allowlist of the agents to expose
142
- (`codex,cursor,opencode,claude`). Unset or empty exposes all agents. Disabled
162
+ (`codex,cursor,opencode,claude,agy`). Unset or empty exposes all agents. Disabled
143
163
  agents get no tool and are absent from `list_agents`/`run_all`. An unknown name
144
164
  fails at startup with an error listing the valid names, so typos never silently
145
165
  disable an agent.
@@ -199,10 +219,17 @@ fails fast:
199
219
  default **1800000 (30 min)**. A hard upper bound regardless of activity.
200
220
 
201
221
  Whichever fires first kills the agent's process group. **Tradeoff:** the idle reset
202
- assumes the CLI streams intermediate output. `codex` and `opencode` do; `claude -p`
203
- and `cursor-agent -p` may emit only the final result, so a long **silent** task on
204
- those can be idle-killed at 5 min — raise `idleTimeoutMs` / `MCP_AGENT_IDLE_TIMEOUT_MS`
205
- for such tasks, or rely on the total cap.
222
+ assumes the CLI streams intermediate output. `codex` and `opencode` do; `claude -p`,
223
+ `cursor-agent -p` and `agy --print` may emit only the final result, so a long
224
+ **silent** task on those can be idle-killed at 5 min — raise `idleTimeoutMs` /
225
+ `MCP_AGENT_IDLE_TIMEOUT_MS` for such tasks, or rely on the total cap.
226
+
227
+ `agy` is the strongest case here: it emits its entire answer in one flush at the
228
+ end (measured — every line of a 12-line reply arrived at the same instant), and
229
+ the hub raises its internal `--print-timeout` to 48h so that agy's own 5-minute
230
+ default can never truncate a run. The idle timer is therefore agy's only
231
+ protection against a genuine hang; budget `idleTimeoutMs` accordingly for long
232
+ autonomous agy tasks.
206
233
 
207
234
  While an agent runs, the hub emits MCP **progress notifications** to clients that
208
235
  request them (`_meta.progressToken`) — live feedback during long runs. Note: on
@@ -0,0 +1,2 @@
1
+ import type { AgentAdapter } from "../types.js";
2
+ export declare const agyAdapter: AgentAdapter;
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Cap agy applies to its OWN print-mode run. Deliberately ABOVE `MAX_TIMEOUT_MS`
3
+ * (24h, `exec.ts`) so agy's internal timer can never fire before the hub's total/
4
+ * idle timers — the hub stays the single source of timeout truth, exactly as for
5
+ * the other four agents.
6
+ *
7
+ * This flag is load-bearing: `--print-timeout` defaults to **5 minutes**, so
8
+ * without it agy silently kills every longer run with an opaque
9
+ * `Error: timeout waiting for response` (exit 1) no matter what `timeoutMs` the
10
+ * caller asked for — making this tool's documented timeout a lie for this agent.
11
+ */
12
+ const PRINT_TIMEOUT = "48h";
13
+ export const agyAdapter = {
14
+ name: "agy",
15
+ summary: "Google Antigravity (agy) — Gemini-powered autonomous coding agent that reads and edits files to implement, refactor, and fix code.",
16
+ binary: "agy",
17
+ // agy has NO `login` subcommand: it authenticates on first interactive run and
18
+ // stores credentials in the OS keyring. There is therefore no API-key env var,
19
+ // so `apiKeyEnv` stays undefined — which also means every OTHER agent's key is
20
+ // stripped from its environment (see `credentialStripKeys`), same as opencode.
21
+ loginCommand: "agy (then sign in when prompted)",
22
+ // `agy models` prints bare model ids ("gemini-3.1-pro-high"), one per line, and
23
+ // exercises account eligibility rather than merely starting the binary — the
24
+ // same reasoning that makes `opencode models` a better probe than `--version`.
25
+ probeArgs: ["models"],
26
+ probeRequiresOutput: true,
27
+ buildInvocation(prompt, options = {}) {
28
+ // `--new-project` is LOAD-BEARING. Without it agy ignores the process working
29
+ // directory entirely and runs in ~/.gemini/antigravity-cli/scratch, so the
30
+ // hub's `cwd` contract would silently not hold for this agent and it would
31
+ // edit files somewhere the caller never named. Verified against agy 1.1.7.
32
+ const args = ["--new-project", "--print-timeout", PRINT_TIMEOUT];
33
+ // Headless agy cannot prompt for tool permission, so it auto-DENIES and then
34
+ // exits 0 with EMPTY stdout — a failure that reads as success. Auto-approving
35
+ // is what lets agy actually read and edit files (cursor's `--force` plays the
36
+ // same role). Withheld only when the run is JUDGING attacker-controlled
37
+ // content — the `review_change` reviewer passes `permissionMode: "read-only"`.
38
+ // `--sandbox` is NEVER emitted: upstream #36 reports that combining it with
39
+ // the skip flag lets the agent auto-approve its own sandbox escape, and alone
40
+ // it does not produce a usable read-only mode.
41
+ if (options.permissionMode !== "read-only")
42
+ args.push("--dangerously-skip-permissions");
43
+ if (options.model)
44
+ args.push("--model", options.model);
45
+ // The prompt is the GLUED value of `--print`. Glued (`--print=x`) rather than
46
+ // `-p x` on purpose: the value is physically part of a single argv token, so
47
+ // it can never be re-parsed as a flag regardless of how agy's flag library
48
+ // treats a dash-leading value now or in a future release. That makes the
49
+ // dash-prompt guarantee a property of OUR argv, not of a third-party parser —
50
+ // which is why this adapter needs no opencode-style dash-guard.
51
+ // No stdin: agy takes the prompt here, not on stdin.
52
+ args.push(`--print=${prompt}`);
53
+ return { args };
54
+ },
55
+ };
56
+ //# sourceMappingURL=agy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agy.js","sourceRoot":"","sources":["../../src/adapters/agy.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,MAAM,aAAa,GAAG,KAAK,CAAC;AAE5B,MAAM,CAAC,MAAM,UAAU,GAAiB;IACtC,IAAI,EAAE,KAAK;IACX,OAAO,EACL,oIAAoI;IACtI,MAAM,EAAE,KAAK;IACb,+EAA+E;IAC/E,+EAA+E;IAC/E,+EAA+E;IAC/E,+EAA+E;IAC/E,YAAY,EAAE,mCAAmC;IACjD,gFAAgF;IAChF,6EAA6E;IAC7E,+EAA+E;IAC/E,SAAS,EAAE,CAAC,QAAQ,CAAC;IACrB,mBAAmB,EAAE,IAAI;IACzB,eAAe,CAAC,MAAc,EAAE,UAA2B,EAAE;QAC3D,8EAA8E;QAC9E,2EAA2E;QAC3E,2EAA2E;QAC3E,2EAA2E;QAC3E,MAAM,IAAI,GAAG,CAAC,eAAe,EAAE,iBAAiB,EAAE,aAAa,CAAC,CAAC;QACjE,6EAA6E;QAC7E,8EAA8E;QAC9E,8EAA8E;QAC9E,wEAAwE;QACxE,+EAA+E;QAC/E,4EAA4E;QAC5E,8EAA8E;QAC9E,+CAA+C;QAC/C,IAAI,OAAO,CAAC,cAAc,KAAK,WAAW;YAAE,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QACxF,IAAI,OAAO,CAAC,KAAK;YAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACvD,8EAA8E;QAC9E,6EAA6E;QAC7E,2EAA2E;QAC3E,yEAAyE;QACzE,8EAA8E;QAC9E,gEAAgE;QAChE,qDAAqD;QACrD,IAAI,CAAC,IAAI,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC;QAC/B,OAAO,EAAE,IAAI,EAAE,CAAC;IAClB,CAAC;CACF,CAAC"}
@@ -6,6 +6,25 @@ export const claudeAdapter = {
6
6
  apiKeyEnv: "ANTHROPIC_API_KEY",
7
7
  buildInvocation(prompt, options = {}) {
8
8
  const args = ["-p", "--output-format", "text"];
9
+ if (options.permissionMode === "read-only") {
10
+ // Deny rules are evaluated BEFORE the tool runs and hold in every permission
11
+ // mode, so this is a genuine harness-level restriction rather than advice —
12
+ // the strongest read-only lever of the five after codex's OS sandbox.
13
+ // Verified live: with this list the Write/Edit/Bash tools are absent from the
14
+ // session entirely, while normal verdict output is unaffected.
15
+ //
16
+ // GLUED (`--disallowedTools=<list>`) on purpose: the flag is variadic
17
+ // (`<tools...>`), so as a separate token it greedily consumes following
18
+ // non-flag argv entries — observed swallowing a positional prompt and
19
+ // killing the run. Gluing makes correctness a property of OUR argv rather
20
+ // than of argument order.
21
+ //
22
+ // Every name here must be a REAL tool: an unknown one only prints
23
+ // `Permission deny rule "X" matches no known tool` and silently protects
24
+ // nothing. `MultiEdit` was in this list and does not exist in current
25
+ // Claude Code — do not re-add a name without checking for that warning.
26
+ args.push("--disallowedTools=Write,Edit,NotebookEdit,Bash");
27
+ }
9
28
  if (options.model)
10
29
  args.push("--model", options.model);
11
30
  // No positional prompt: claude reads it from piped stdin in print mode.
@@ -1 +1 @@
1
- {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/adapters/claude.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAiB;IACzC,IAAI,EAAE,QAAQ;IACd,OAAO,EACL,kGAAkG;IACpG,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE,uBAAuB;IACrC,SAAS,EAAE,mBAAmB;IAC9B,eAAe,CAAC,MAAc,EAAE,UAA2B,EAAE;QAC3D,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC;QAC/C,IAAI,OAAO,CAAC,KAAK;YAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACvD,wEAAwE;QACxE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IACjC,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/adapters/claude.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAiB;IACzC,IAAI,EAAE,QAAQ;IACd,OAAO,EACL,kGAAkG;IACpG,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE,uBAAuB;IACrC,SAAS,EAAE,mBAAmB;IAC9B,eAAe,CAAC,MAAc,EAAE,UAA2B,EAAE;QAC3D,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC;QAC/C,IAAI,OAAO,CAAC,cAAc,KAAK,WAAW,EAAE,CAAC;YAC3C,6EAA6E;YAC7E,4EAA4E;YAC5E,sEAAsE;YACtE,8EAA8E;YAC9E,+DAA+D;YAC/D,EAAE;YACF,sEAAsE;YACtE,wEAAwE;YACxE,sEAAsE;YACtE,0EAA0E;YAC1E,0BAA0B;YAC1B,EAAE;YACF,kEAAkE;YAClE,yEAAyE;YACzE,sEAAsE;YACtE,wEAAwE;YACxE,IAAI,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,OAAO,CAAC,KAAK;YAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACvD,wEAAwE;QACxE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IACjC,CAAC;CACF,CAAC"}
@@ -8,6 +8,14 @@ export const codexAdapter = {
8
8
  const args = ["exec", "--skip-git-repo-check"];
9
9
  if (options.model)
10
10
  args.push("--model", options.model);
11
+ // LOAD-BEARING. `codex exec` defaults to a **read-only** sandbox, so without
12
+ // an explicit `-s` this tool silently reported success while writing nothing
13
+ // — verified live: it answered "DONE" and created no file anywhere on disk.
14
+ // `workspace-write` is the least-privilege setting that still delivers what
15
+ // the tool description promises. `--dangerously-bypass-approvals-and-sandbox`
16
+ // is deliberately NEVER emitted: it nullifies `--sandbox` entirely.
17
+ // Emitted BEFORE the "-" sentinel so the prompt is never taken positionally.
18
+ args.push("-s", options.permissionMode === "read-only" ? "read-only" : "workspace-write");
11
19
  // "-" = read the prompt from stdin (documented Codex CLI sentinel).
12
20
  args.push("-");
13
21
  return { args, stdin: prompt };
@@ -1 +1 @@
1
- {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/adapters/codex.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,YAAY,GAAiB;IACxC,IAAI,EAAE,OAAO;IACb,OAAO,EACL,qIAAqI;IACvI,MAAM,EAAE,OAAO;IACf,YAAY,EAAE,aAAa;IAC3B,SAAS,EAAE,gBAAgB;IAC3B,eAAe,CAAC,MAAc,EAAE,UAA2B,EAAE;QAC3D,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;QAC/C,IAAI,OAAO,CAAC,KAAK;YAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACvD,oEAAoE;QACpE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACf,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IACjC,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/adapters/codex.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,YAAY,GAAiB;IACxC,IAAI,EAAE,OAAO;IACb,OAAO,EACL,qIAAqI;IACvI,MAAM,EAAE,OAAO;IACf,YAAY,EAAE,aAAa;IAC3B,SAAS,EAAE,gBAAgB;IAC3B,eAAe,CAAC,MAAc,EAAE,UAA2B,EAAE;QAC3D,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;QAC/C,IAAI,OAAO,CAAC,KAAK;YAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACvD,6EAA6E;QAC7E,6EAA6E;QAC7E,4EAA4E;QAC5E,4EAA4E;QAC5E,8EAA8E;QAC9E,oEAAoE;QACpE,6EAA6E;QAC7E,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,cAAc,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAC1F,oEAAoE;QACpE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACf,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IACjC,CAAC;CACF,CAAC"}
@@ -17,13 +17,27 @@ export const cursorAdapter = {
17
17
  /^retriable\s*error:\s*connection stalled\b/i,
18
18
  ],
19
19
  buildInvocation(prompt, options = {}) {
20
- // --force: cursor-agent otherwise blocks on an interactive permission prompt
21
- // ("Workspace Trust Required" / command approval) in any directory it has not
22
- // seen before, which for a server invoked against arbitrary cwds is most of
23
- // them. There is no stdin to answer it with in print mode, so the run would
24
- // hang until the timeout kills it. (`--trust` is NOT a cursor-agent flag —
25
- // passing it makes the CLI exit 1 with "unknown option '--trust'".)
26
- const args = ["-p", "--output-format", "text", "--force"];
20
+ const args = ["-p", "--output-format", "text"];
21
+ if (options.permissionMode === "read-only") {
22
+ // Reviewer role. `--mode plan` answers without editing, and `--trust` is
23
+ // REQUIRED alongside it: without a trust/force flag cursor-agent refuses to
24
+ // proceed in an unfamiliar directory, printing "Pass --trust, --yolo, or -f
25
+ // if you trust this directory" and returning NO answer at all (exit 0).
26
+ // `--force` is deliberately omitted here — it is the write grant.
27
+ // ADVISORY ONLY: plan mode is not an enforced sandbox (Cursor staff have
28
+ // confirmed "plan mode is not respected"), so do not describe a cursor
29
+ // reviewer as sandboxed. It narrows behavior; it does not guarantee it.
30
+ args.push("--trust", "--mode", "plan");
31
+ }
32
+ else {
33
+ // --force: cursor-agent otherwise blocks on an interactive permission prompt
34
+ // ("Workspace Trust Required" / command approval) in any directory it has not
35
+ // seen before, which for a server invoked against arbitrary cwds is most of
36
+ // them. There is no stdin to answer it with in print mode, so the run would
37
+ // hang until the timeout kills it. Verified live: with `--force` on a normal
38
+ // path the agent does create files.
39
+ args.push("--force");
40
+ }
27
41
  if (options.model)
28
42
  args.push("--model", options.model);
29
43
  // No positional prompt: cursor-agent reads it from piped stdin in print mode.
@@ -1 +1 @@
1
- {"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../src/adapters/cursor.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAiB;IACzC,IAAI,EAAE,QAAQ;IACd,OAAO,EACL,oIAAoI;IACtI,MAAM,EAAE,cAAc;IACtB,YAAY,EAAE,oBAAoB;IAClC,SAAS,EAAE,gBAAgB;IAC3B,kFAAkF;IAClF,kFAAkF;IAClF,2EAA2E;IAC3E,qEAAqE;IACrE,SAAS,EAAE,CAAC,QAAQ,CAAC;IACrB,+EAA+E;IAC/E,0EAA0E;IAC1E,eAAe,EAAE;QACf,4DAA4D;QAC5D,yBAAyB;QACzB,6CAA6C;KAC9C;IACD,eAAe,CAAC,MAAc,EAAE,UAA2B,EAAE;QAC3D,6EAA6E;QAC7E,8EAA8E;QAC9E,4EAA4E;QAC5E,4EAA4E;QAC5E,2EAA2E;QAC3E,oEAAoE;QACpE,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QAC1D,IAAI,OAAO,CAAC,KAAK;YAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACvD,8EAA8E;QAC9E,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IACjC,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../src/adapters/cursor.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAiB;IACzC,IAAI,EAAE,QAAQ;IACd,OAAO,EACL,oIAAoI;IACtI,MAAM,EAAE,cAAc;IACtB,YAAY,EAAE,oBAAoB;IAClC,SAAS,EAAE,gBAAgB;IAC3B,kFAAkF;IAClF,kFAAkF;IAClF,2EAA2E;IAC3E,qEAAqE;IACrE,SAAS,EAAE,CAAC,QAAQ,CAAC;IACrB,+EAA+E;IAC/E,0EAA0E;IAC1E,eAAe,EAAE;QACf,4DAA4D;QAC5D,yBAAyB;QACzB,6CAA6C;KAC9C;IACD,eAAe,CAAC,MAAc,EAAE,UAA2B,EAAE;QAC3D,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC;QAC/C,IAAI,OAAO,CAAC,cAAc,KAAK,WAAW,EAAE,CAAC;YAC3C,yEAAyE;YACzE,4EAA4E;YAC5E,4EAA4E;YAC5E,wEAAwE;YACxE,kEAAkE;YAClE,yEAAyE;YACzE,uEAAuE;YACvE,wEAAwE;YACxE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,6EAA6E;YAC7E,8EAA8E;YAC9E,4EAA4E;YAC5E,4EAA4E;YAC5E,6EAA6E;YAC7E,oCAAoC;YACpC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,CAAC;QACD,IAAI,OAAO,CAAC,KAAK;YAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACvD,8EAA8E;QAC9E,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IACjC,CAAC;CACF,CAAC"}
@@ -13,6 +13,14 @@ export const opencodeAdapter = {
13
13
  // dash-leading prompt could be parsed as a flag by its CLI.
14
14
  throw new Error("opencode cannot safely run prompts that start with '-' (its CLI may parse them as flags). Rephrase the prompt to start with a word, e.g. \"explain --help ...\".");
15
15
  }
16
+ // NOTE: `permissionMode` is deliberately IGNORED here — opencode exposes no
17
+ // read-only lever on `run`. `--agent <name>` could point at a restricted
18
+ // agent, but that agent must already exist in the operator's own config, so
19
+ // this adapter cannot rely on it. `--auto` is also never emitted: opencode
20
+ // already writes files without it (verified), so it would only widen
21
+ // permissions. Consequence: an opencode REVIEWER is not restricted. That gap
22
+ // is documented rather than papered over — see the enforcement table in
23
+ // AGENTS.md.
16
24
  const args = ["run"];
17
25
  if (options.model)
18
26
  args.push("--model", options.model);
@@ -1 +1 @@
1
- {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../src/adapters/opencode.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,eAAe,GAAiB;IAC3C,IAAI,EAAE,UAAU;IAChB,OAAO,EACL,mMAAmM;IACrM,MAAM,EAAE,UAAU;IAClB,+EAA+E;IAC/E,+EAA+E;IAC/E,SAAS,EAAE,CAAC,QAAQ,CAAC;IACrB,mBAAmB,EAAE,IAAI;IACzB,YAAY,EAAE,qBAAqB;IACnC,eAAe,CAAC,MAAc,EAAE,UAA2B,EAAE;QAC3D,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,oEAAoE;YACpE,4DAA4D;YAC5D,MAAM,IAAI,KAAK,CACb,kKAAkK,CACnK,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,IAAI,OAAO,CAAC,KAAK;YAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO,EAAE,IAAI,EAAE,CAAC;IAClB,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../src/adapters/opencode.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,eAAe,GAAiB;IAC3C,IAAI,EAAE,UAAU;IAChB,OAAO,EACL,mMAAmM;IACrM,MAAM,EAAE,UAAU;IAClB,+EAA+E;IAC/E,+EAA+E;IAC/E,SAAS,EAAE,CAAC,QAAQ,CAAC;IACrB,mBAAmB,EAAE,IAAI;IACzB,YAAY,EAAE,qBAAqB;IACnC,eAAe,CAAC,MAAc,EAAE,UAA2B,EAAE;QAC3D,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,oEAAoE;YACpE,4DAA4D;YAC5D,MAAM,IAAI,KAAK,CACb,kKAAkK,CACnK,CAAC;QACJ,CAAC;QACD,4EAA4E;QAC5E,yEAAyE;QACzE,4EAA4E;QAC5E,2EAA2E;QAC3E,qEAAqE;QACrE,6EAA6E;QAC7E,wEAAwE;QACxE,aAAa;QACb,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,IAAI,OAAO,CAAC,KAAK;YAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO,EAAE,IAAI,EAAE,CAAC;IAClB,CAAC;CACF,CAAC"}
@@ -65,6 +65,6 @@ export type ResolveBinary = (binary: string) => string | undefined;
65
65
  * Probes one adapter. Never throws: a probe failure is data, not an exception.
66
66
  * The probe command is per-adapter because the CLIs disagree — `opencode models`
67
67
  * lists models, `codex models` is not a subcommand at all — so there is no single
68
- * command that proves usability across all four.
68
+ * command that proves usability across every wrapped CLI.
69
69
  */
70
70
  export declare function checkAvailability(adapter: AgentAdapter, exec: Exec, resolve?: ResolveBinary): Promise<AgentAvailability>;
package/dist/registry.js CHANGED
@@ -1,12 +1,13 @@
1
1
  import { accessSync, constants, statSync } from "node:fs";
2
2
  import { delimiter, isAbsolute, join } from "node:path";
3
+ import { agyAdapter } from "./adapters/agy.js";
3
4
  import { claudeAdapter } from "./adapters/claude.js";
4
5
  import { codexAdapter } from "./adapters/codex.js";
5
6
  import { cursorAdapter } from "./adapters/cursor.js";
6
7
  import { opencodeAdapter } from "./adapters/opencode.js";
7
8
  import { classifyFailure } from "./failure.js";
8
9
  export function allAdapters() {
9
- return [codexAdapter, cursorAdapter, opencodeAdapter, claudeAdapter];
10
+ return [codexAdapter, cursorAdapter, opencodeAdapter, claudeAdapter, agyAdapter];
10
11
  }
11
12
  /**
12
13
  * Union of every adapter's credential env var, DERIVED from the adapter list so a
@@ -122,7 +123,7 @@ function result(name, installed, usable, reason) {
122
123
  * Probes one adapter. Never throws: a probe failure is data, not an exception.
123
124
  * The probe command is per-adapter because the CLIs disagree — `opencode models`
124
125
  * lists models, `codex models` is not a subcommand at all — so there is no single
125
- * command that proves usability across all four.
126
+ * command that proves usability across every wrapped CLI.
126
127
  */
127
128
  export async function checkAvailability(adapter, exec, resolve = resolveOnPath) {
128
129
  if (resolve(adapter.binary) === undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
package/dist/server.js CHANGED
@@ -33,7 +33,10 @@ async function runAdapter(adapter, exec, params, onActivity) {
33
33
  try {
34
34
  // Inside the try so a buildInvocation throw (e.g. opencode's dash-guard) is
35
35
  // audited too, rather than escaping with no run-log trace.
36
- const invocation = adapter.buildInvocation(params.prompt, { model: params.model });
36
+ const invocation = adapter.buildInvocation(params.prompt, {
37
+ model: params.model,
38
+ permissionMode: params.permissionMode,
39
+ });
37
40
  const result = await exec(adapter.binary, invocation.args, {
38
41
  cwd: params.cwd,
39
42
  timeoutMs: params.timeoutMs,
@@ -449,6 +452,14 @@ resolve = resolveOnPath) {
449
452
  model,
450
453
  cwd: reviewerCwd,
451
454
  timeoutMs,
455
+ // The reviewer only needs to READ the fenced diff and return a verdict,
456
+ // yet its prompt is the most attacker-influenced input in the server.
457
+ // So it runs least-privilege. How much that actually BUYS differs per
458
+ // CLI — codex gets an OS sandbox, claude gets harness-level deny rules,
459
+ // cursor/agy get advisory narrowing, and opencode gets nothing at all.
460
+ // Defense-in-depth alongside the nonce fence and the temp cwd; for three
461
+ // of the five this is narrowing, not a guarantee. See AGENTS.md.
462
+ permissionMode: "read-only",
452
463
  });
453
464
  }
454
465
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,5 +1,23 @@
1
+ /**
2
+ * How much the agent is allowed to do on this run.
3
+ *
4
+ * - `"write"` — the agent may edit files and run commands in `cwd`. The default.
5
+ * - `"read-only"` — the agent should only read and answer. Used by the
6
+ * `review_change` REVIEWER, whose prompt embeds an attacker-controlled diff
7
+ * and which only needs to return a verdict.
8
+ *
9
+ * **Enforcement differs per CLI and must not be overstated.** Only `codex`
10
+ * (`--sandbox`, OS-level) and `claude` (deny rules, harness-level) genuinely
11
+ * restrict the agent. `cursor --mode plan` is model-advisory; `agy` simply has
12
+ * its permission grant withheld, which makes headless runs auto-deny write and
13
+ * command tools — narrowing, not a sandbox; and `opencode` has no CLI lever at
14
+ * all, so for it `read-only` is a documented no-op. Table in AGENTS.md.
15
+ */
16
+ export type PermissionMode = "read-only" | "write";
1
17
  export interface AgentRunOptions {
2
18
  model?: string;
19
+ /** Defaults to `"write"` when undefined, so existing call sites are unchanged. */
20
+ permissionMode?: PermissionMode;
3
21
  }
4
22
  export interface AgentInvocation {
5
23
  /** argv passed to the binary (no shell involved). */
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "agent-mcp-hub",
3
- "version": "0.5.3",
4
- "description": "One MCP server bridging the Codex, Cursor, OpenCode, and Claude CLI agents",
3
+ "version": "0.6.0",
4
+ "description": "One MCP server bridging the Codex, Cursor, OpenCode, Claude, and Antigravity CLI agents",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "git+https://github.com/blackaxgit/agent-mcp-hub.git"
@@ -18,6 +18,8 @@
18
18
  "cursor",
19
19
  "opencode",
20
20
  "claude",
21
+ "antigravity",
22
+ "agy",
21
23
  "coding-agent",
22
24
  "stdio"
23
25
  ],