@anvailabs/agentbrowser-mcp 1.8.18 → 1.8.19

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
@@ -15,22 +15,57 @@ input — are deliberately not exposed.
15
15
 
16
16
  ## Tool surface
17
17
 
18
- | Tool | Purpose |
19
- |---|---|
20
- | `browser_create` | Create an isolated session (also creates the first page; accepts seed cookies for authenticated re-entry) |
21
- | `browser_close` | Close a session, invalidating its refs |
22
- | `browser_navigate` | Navigate a page to an http(s) URL |
23
- | `browser_observe` | Semantic observation with stable element refs (`e<revision>_<ordinal>`) |
24
- | `browser_snapshot` | Self-contained page payload (url, title, revision, mode, `fields`) — one call to plan a whole form |
25
- | `browser_plan` | Execute an ordered batch of fill/click/press/scroll steps in one call; stale refs self-heal, with a role+label guard under churn |
26
- | `browser_act` | click / fill / select / scroll / press / dialogs — by ref, never by selector |
27
- | `browser_extract` | Structured page extraction |
28
- | `browser_screenshot` | Capture optional visual evidence |
29
- | `browser_pdf` | Page-to-PDF capture |
30
- | `browser_cookies` | Export session cookies — persist and seed `browser_create` to re-enter an authenticated session |
31
-
32
- The fast path for multi-field forms is `browser_snapshot` → `browser_plan`:
33
- one call to read the page, one call to act on it — see the
18
+ See the [generated tool catalog](../../docs/mcp-tool-catalog.md) for unbound and delegated
19
+ surfaces, required arguments and output contracts. It comes from actual `tools/list`
20
+ responses, with a digest over complete descriptions and schemas. The existing release
21
+ artifact check rejects drift. Regenerate after building with
22
+ `node scripts/mcp-catalog-docs.mjs --write`.
23
+
24
+ Delegated mode replaces create/close/cookies with `browser_session` (current control
25
+ and pages) and `browser_operation` (operation status). `AGENTBROWSER_MODE` fixes one
26
+ profile for the lifetime of the bridge connection. Reconnect to change profiles;
27
+ clients may cache catalogs. Obtain the effective catalog from your own connection
28
+ with `tools/list`; metadata never enlarges a session grant, and the service rejects a
29
+ tool call that the bearer grant's profile does not allow even if a mismatched bridge
30
+ advertises it.
31
+
32
+ `qa`, `operations`, `appsec`, `bounty`, and `forms` currently project the complete
33
+ browser catalog. `audit` omits bulk autofill. `application` exposes only delegated
34
+ operation reconciliation until T4 publishes typed application tools. These deliberate
35
+ duplicates avoid fictional context savings; the generated catalog records exact result
36
+ bytes for every profile and binding.
37
+
38
+ ### Protocol and result compatibility
39
+
40
+ The foundation candidate supports MCP `2024-11-05` and `2025-06-18`. Explicit legacy
41
+ clients keep text JSON and catalogs without output schemas/annotations. Newer or
42
+ unknown requested versions are offered `2025-06-18`; clients must support that returned
43
+ version or disconnect. Missing initialization retains historical text behavior; clients
44
+ should always perform the handshake. A connection cannot renegotiate while calls run.
45
+
46
+ Under `2025-06-18`, `browser_autofill` and `browser_plan` advertise canonical
47
+ `urn:agentbrowser:autofill-report:v1` and `urn:agentbrowser:plan-report:v1` schemas and return validated
48
+ `structuredContent` **plus identical serialized JSON text**. Plan retains optional mode/revision metadata to preserve the existing SDK contract;
49
+ the current server always supplies it. Other tools still return
50
+ text JSON; no unqualified output schemas are invented. Both tools' annotations explicitly
51
+ state that it mutates and is not safe to repeat. Hints are not authorization or proof
52
+ of browser/backend support. The [MCP tools specification](https://modelcontextprotocol.io/specification/2025-06-18/server/tools)
53
+ defines the structured/text compatibility behavior.
54
+
55
+ Failed autofill and plan reports (`ok: false`) now set `isError: true` in both protocols
56
+ while retaining complete receipt/result JSON. This changes error signaling from 1.8.18;
57
+ clients should inspect the retained report and must not treat it as a retry instruction.
58
+ Successful `verify: none` reports do not establish verification or application commit.
59
+ Invalid upstream bulk reports return a sanitized text error with uncertainty
60
+ instructions, never a fabricated structured success or an automatic second write.
61
+ Errors before a valid report exists remain text diagnostics without structured content.
62
+
63
+ This transport qualification does not yet certify structured-result consumption by
64
+ installed Victor, Codex or Claude clients. That remains T8 harness acceptance.
65
+
66
+ For qualified native forms, prefer `browser_autofill`; inspect each field's verification
67
+ receipt and preserve uncertain writes. For explicit heterogeneous steps use
68
+ `browser_snapshot` → `browser_plan` — see the
34
69
  [main README](../../README.md#the-fast-path-for-forms-snapshot-then-plan).
35
70
 
36
71
  ## Running it
@@ -69,6 +104,8 @@ node packages/mcp-server/dist/bin.js
69
104
  |---|---|
70
105
  | `AGENTBROWSER_BASE_URL` | AgentBrowser server to proxy to (default `http://localhost:5709`) |
71
106
  | `AGENTBROWSER_API_KEY` | Bearer key for the service, when it has `AGENTBROWSER_API_KEYS` configured |
107
+ | `AGENTBROWSER_SESSION_ID` | Operator-configured delegated session binding; use its current delegated credential as the API key |
108
+ | `AGENTBROWSER_MODE` | Fixed mode profile for this connection: `qa` (default), `operations`, `audit`, `appsec`, `bounty`, `forms`, or `application` |
72
109
  | `AGENTBROWSER_MCP_VERSION` | Override the reported `serverInfo.version` (debugging; the binary is otherwise stamped at build time from `package.json`) |
73
110
 
74
111
  ## Building and gating the binary