This release includes 3 breaking changes for platform teams planning a safe upgrade.
✓ No known CVEs patched in this version
Summary
AI summaryBroad release touches Post-action change_report, Multi-Agent Tab Concurrency, back MCP tool, and run_task` return-on-completion.
Full changelog
Milestone: Multi-Agent Tab Concurrency -- pairs with FSB extension v0.9.60.
Note: the npm package was published manually on 2026-05-07. The
mcp-v0.8.0tag and this release are catching up so the GitHub release matches the npm registry.
Install / Update
npx -y [email protected]
Or install globally:
npm i -g [email protected]
Install into MCP clients:
npx fsb-mcp-server install --all
What's new
Multi-Agent Tab Concurrency
- New per-session/task
agent_idminted by FSB viacrypto.randomUUID(). MCP callers cannot supply IDs; the server captures viaagent:registeron first tool dispatch. - Tab-ownership enforcement on every MCP tool dispatch with typed errors:
TAB_NOT_OWNED,TAB_INCOGNITO_NOT_SUPPORTED,TAB_OUT_OF_SCOPE,AGENT_CAP_REACHED,NO_OWNED_TAB,AMBIGUOUS_TAB. - Per-bindTab
ownership_token(fresh UUID per binding) prevents tab-ID-reuse exploitation. - Forced-new-tab pooling, lock release on disconnect (10s grace), no idle timeout.
- SW-eviction recovery via
chrome.storage.sessionwrite-through + hydrate-time reconciliation. - End-to-end coverage in
tests/multi-agent-regression.test.js(6 cases, 6/6 green).
back MCP tool (BACK-01..05)
- Ownership-gated single-step browser-history back on the agent's owned tab.
- Returns
{ status, resultingUrl, historyDepth }where status is one ofok | no_history | cross_origin | bf_cache | fragment_only. pageshow-based 2s settle verification; cross-origin BF-cache resilience reuses the v0.9.11 path.- Background-tab compatible.
run_task return-on-completion (Phase 239)
- Returns when automation actually completes (via
fsbAutomationLifecycleBus), not at an arbitrary timer ceiling. - 600s safety net (was 300s) at both
mcp/src/tools/autopilot.tsandextension/ws/mcp-bridge-client.js. - 30s heartbeat ticks via
notifications/progress, carryingalive,step,elapsed_ms,current_url,ai_cycles,last_actionunderparams._meta. MCP host clients (Claude Code, Cursor, Codex, OpenClaw) no longer hit per-tool timeouts on long automations. - Task lifecycle persisted in
chrome.storage.sessionkeyed bytask_id. On SW eviction, server emitspartial_outcomewithdisposition: 'sw_evicted'if the bridge cannot recover.
Tool description updates (MCP-07)
- Every manual tool description now documents that
agent_idis FSB-issued,tab_idis agent-scoped, the cap is configurable, ownership is enforced, and the typed error codes the tool can return are enumerated. run_task,start_visual_session,end_visual_session,back,stop_task,get_task_statuscarry the full multi-agent contract block.
Post-action change_report (Phase 245)
- Every action tool returns a compact
change_reportdescribing what the action mutated, so the agent doesn't need to follow up withread_page/get_dom_snapshot. - Read-only/info/wait tools EXCLUDED from the
change_reportfield. - 2400-byte cap (~600 tokens) with top-N truncation.
Agent-scoped tab resolution + open_tab background-default (Phase 246)
read-only.ts,vault.ts,manual.ts,visual-session.ts,autopilot.ts, andagents.tsall threadagentIdand optionaltab_idthrough the bridge payload.- Optional
tab_idadded to all 6 read-only tool MCP schemas,start_visual_session, and 35 action-tool input schemas. Auto-resolves when omitted; enforces ownership when provided. - Schema bridge transforms (
schema-bridge.ts) explicitly forwardtab_idforpress_key,drag_drop,click_at,drag,fill_sheet. open_tabdefaults to background. Foreground requires explicitactive: true.mcp/ai/tool-definitions.cjsis byte-identical toextension/ai/tool-definitions.js(~74,845 bytes), validated by a permanent canary test (tests/tool-definitions-parity.test.js).
Dependencies
@modelcontextprotocol/sdk^1.29.0ws^8.19.0zod^3.24.0
Compatibility
- Pairs with FSB Chrome extension v0.9.60 (released separately).
- Tested against MCP host clients: Claude Code, Cursor, Codex, Windsurf, OpenClaw.
Full per-feature changelog: mcp/CHANGELOG.md. Milestone audit: .planning/milestones/v0.9.60-MILESTONE-AUDIT.md.
Breaking Changes
- `back` tool now requires tab ownership; returns typed errors `TAB_NOT_OWNED`, `TAB_INCOGNITO_NOT_SUPPORTED`, `TAB_OUT_OF_SCOPE`.\n
- `run_task` waits for actual automation completion (600 s safety net) instead of a fixed timer, emitting heartbeat metadata.
- All action‑tool schemas now accept an optional `tab_id`; omission auto‑resolves to the agent’s owned tab but enforces ownership when supplied.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About LakshmanTurlapati/FSB
All releases →Related context
Beta — feedback welcome: [email protected]