Skip to content

agent: a bundle's saved tool list opens a sandbox MCP connector without dialing it - #479

Merged
jaredLunde merged 2 commits into
mainfrom
browser-lazy-tools
Oct 23, 2026
Merged

jaredLunde merged 2 commits into
mainfrom
browser-lazy-tools

Conversation

@jaredLunde

Copy link
Copy Markdown
Contributor

A bundled session whose browser MCP server lives in the sandbox had to run `tools/list` at open to build its prompt, so the VM was created before the model asked for anything.

A bundle may now carry `.mcp-tools.json` (`{"": [CachedTool]}`) at its root. For a `sandbox: true` grant connector with a saved list, the tools are advertised through the cached-manifest path with no exec or MCP request at open. The first call dials the server (creating the VM), and the existing `Relist` replaces the saved list if the live one differs. No file, or a non-sandbox connector: unchanged. Bounds: the file is read through the bundle with a 1 MiB cap, a server listing over 256 tools is ignored, and the lists live in the session's dial and are freed with it; nothing is written to disk.

Tests (failed before): `serve_service_bundle_mcp_tools.rs` proves 0 MCP and 0 exec requests at open with the saved tool advertised and that the first call dials once; and that a differing live list replaces the saved one (the saved `ghost` goes, the live `fail` arrives).

🤖 Generated with Claude Code

https://claude.ai/code/session_01JimHGjsfk2Ktm5GxyZJKKk

…ut dialing it

A bundled session with a sandbox-routed MCP server (a browser in the sandbox) had to run
tools/list at open to build its prompt, which woke or created the sandbox before the model asked
for anything. A bundle may now carry .mcp-tools.json, a saved tools/list per connector. Those tools
are advertised at open with no exec or MCP request; the first call dials the server, and a live
list that differs replaces the saved one.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JimHGjsfk2Ktm5GxyZJKKk
@jaredLunde
jaredLunde enabled auto-merge October 23, 2026 22:22
…w argument

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JimHGjsfk2Ktm5GxyZJKKk
@jaredLunde
jaredLunde added this pull request to the merge queue Oct 23, 2026
Merged via the queue into main with commit 289e7d7 Oct 23, 2026
14 checks passed
@jaredLunde
jaredLunde deleted the browser-lazy-tools branch October 23, 2026 23:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant