Skip to content

Remove dead MCP tools, pin the tool count to 69, and finish retiring background agents - #161

Closed
LakshmanTurlapati wants to merge 3 commits into
mainfrom
LakshmanTurlapati/lakshmanturlapati/awesome-agent-native-pr
Closed

LakshmanTurlapati wants to merge 3 commits into
mainfrom
LakshmanTurlapati/lakshmanturlapati/awesome-agent-native-pr

Conversation

@LakshmanTurlapati

@LakshmanTurlapati LakshmanTurlapati commented Oct 21, 2026 •

Copy link
Copy Markdown
Member

Summary

Two pieces of cleanup that kept showing up as "debt" when FSB was described to outsiders.

1. The MCP tool count is 69 everywhere, and a test keeps it that way.
Published counts disagreed: the server registered 72 tools, both READMEs said 69, and the website, llms files and onboarding said 68. Three of the 72 did nothing useful:

  • start_visual_session and end_visual_session have only returned a TOOL_REMOVED error since 0.9.0.
  • back duplicated go_back, and was the last tool left in the retired background-agents module.

They are no longer registered, so the server lists exactly 69 tools. tests/mcp-version-parity.test.js now counts the tools the built server registers and fails if any published claim differs: both READMEs and their per-category tables, extension onboarding, the showcase pages and every translation, and the llms files. The README tables also gain the three task-outcome tools (complete_task, partial_task, fail_task) they never listed.

2. Background agents are actually gone, not just switched off.
They were retired in v0.9.45rc1, but their data and code stayed:

  • On extension update, background.js now deletes bgAgents, fsb_sync_queue, the old notice flag and any fsb_agent_* alarms.
  • The control-panel list of old agent names is removed, along with extension/agents/ and the commented-out agent code in the extension and both dashboards (about 4,700 lines), plus the unused executeAutomationTask.
  • showcase/server no longer mounts /api/agents or the agent-only /api/stats, and server-py loses its agents, stats and SSE routers. The agents and agent_runs tables are kept, so previously synced rows are untouched.
  • The "Background agents have moved" notes in the Sync tab and on both dashboards stay, since they point people to OpenClaw and Claude Routines.

Compatibility

  • MCP clients that still call start_visual_session, end_visual_session or back get their host's unknown-tool error. go_back is the replacement for back.
  • The extension keeps its routes for those three names, so an older MCP server talking to a newer extension still works.
  • No version is bumped here. Merging a new mcp/package.json version publishes to npm automatically, so the release is a separate step; removing tools makes it a minor version.

Tests

Run locally on Node 24:

  • Root test chain (pretest, validate:extension, every npm test command, test:mcp-smoke and the drift smoke), each run separately so one failure can't hide the rest: 321 commands, all green. The one failure during the run, mcp-bridge-background-dispatch, pinned the deleted commented-out listAgents case; it was fixed and passes 413/0.
  • Website job, every CI step: locale sync, lint:i18n, translation drift and quality, the translation-tool, marketing-SEO and video-sitemap fixtures, test:ci (93 specs), the production build, hreflang (848), video SEO, marketing i18n SEO (28 pages), bundle budgets, and the ng extract-i18n no-diff check.
  • mcp-version-parity: 293/0. Before the docs were updated it flagged every stale 68 (in sources and in each translation) and nothing else.
  • Follow-up: the first version of the count check missed claims with markup or other wording ("68 MCP tools", "68 granular tools", "68 available"). It now strips markup, reads those forms, and fails if a source stops stating a readable count. It failed on exactly the five stale sources and four catalog units, which now say 69; it passes 359/0.
  • Unscripted tests that read changed files (35): three fail, dashboard-analytics-refresh, foreground-audit and trigger-cap-settings-ui. All three fail the same way on a clean origin/main worktree.
  • Tests that guarded the old "keep the leftovers" invariants were rewritten to assert the opposite rather than deleted. Three unscripted tests for deleted code (back-tool, agent-manager-start-mode, test-agent-scheduler-cron) were removed; they already failed on main.

Not in this PR

  • The privacy page still discloses that the server stores agent definitions and run metrics. That remains true because the tables are kept, but the "if you opt into legacy sync" wording is now dated. Rewording legal text in 7 languages is left for a separate change.
  • Some shared tool-registry descriptions still mention a token "returned by start_visual_session". The registry is hash-pinned, so that is left for a follow-up.

…background agents

The server registered 72 tools while the READMEs said 69 and the website,
llms files and onboarding said 68. start_visual_session and
end_visual_session have only returned TOOL_REMOVED since 0.9.0, and back
duplicated go_back, so all three are gone and the server lists exactly 69.
mcp-version-parity now counts the built server's tools and fails when any
published claim disagrees: both READMEs and their per-category tables,
onboarding, the showcase pages and every translation, and the llms files.

Background agents were retired in v0.9.45rc1 but their data and code
stayed. On extension update, background.js now deletes bgAgents,
fsb_sync_queue, the old notice flag and any fsb_agent_* alarms. The
control-panel list of old agent names, extension/agents/, about 4,700
lines of commented-out agent code across the extension and both
dashboards, and the unused executeAutomationTask are removed. The server
drops /api/agents and the agent-only /api/stats; server-py drops its
agents, stats and SSE routers. The agents and agent_runs tables stay.
@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ⚠️ Failed 2026-10-21T16:32:06.157233Z
We couldn’t complete this review. Comment @codex review to try again.
a36d3de PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits.
Credits must be used to enable repository wide code reviews.

The count check only read "N tools", "N MCP tools", "N registered (MCP)
tools" and "N-tool" in raw text, and a file with no matches passed. Five
live strings still said 68: the onboarding "68 available" row, "68 MCP
tools" on the home and agents pages (with MCP wrapped in a span), "68 MCP
browser tools" in the agents schema, and "68 granular tools" in the
support FAQ, plus their translations in every catalog.

The check now strips markup before matching, also reads "granular",
"MCP browser" and "Tools ... N available" claims, and fails when a source
that should state the count no longer contains one it can read. Before the
strings were fixed it failed on exactly those five sources and four
catalog units; now all of them say 69.
LakshmanTurlapati added a commit that referenced this pull request Oct 22, 2026
… into the multilingual UI branch

start_visual_session, end_visual_session and back leave the server in
fsb-mcp-server 0.11.5, which stays a patch release; both changelogs fold
#161's notes into the 0.11.5 and 0.9.95 entries. The conflicts were where
this branch had translated text or code that #161 edits or deletes:

- The popup and side panel keep their locale boot block, which shared a
  hunk with the deleted agent comments.
- Onboarding keeps its catalog lookups, and its four tool-count messages
  read 69 in all seven catalogs.
- The support FAQ, its seven xlf units and the llms sources keep this
  branch's wording with 69 tools.
- The six catalog keys used only by the removed sunset notice and agent
  comments are gone from every catalog and key map.
LakshmanTurlapati added a commit that referenced this pull request Oct 22, 2026
…ultilingual UI branch

Adds mind2web/ unchanged: the Claude Code + FSB MCP harness, the WebJudge
judge and calibration scripts, configs, and the published result folders.
Nothing outside mind2web/ changes. config/fsb-tool-names.json still lists
the 72 tools the benchmark ran against, including the three #161 removes,
because it records the surface the published runs used. The harness tests
give the same result as on #162 alone: 357 pass, 0 fail, 24 skipped.
…shmanturlapati/awesome-agent-native-pr

# Conflicts:
#	showcase/angular/public/llms-full.txt
#	showcase/angular/public/llms.txt
#	showcase/angular/scripts/llms-full.source.md
#	showcase/angular/src/app/pages/home/home-page.component.html
#	showcase/angular/src/locale/messages.de.xlf
#	showcase/angular/src/locale/messages.es.xlf
#	showcase/angular/src/locale/messages.ja.xlf
#	showcase/angular/src/locale/messages.ko.xlf
#	showcase/angular/src/locale/messages.xlf
#	showcase/angular/src/locale/messages.zh-CN.xlf
#	showcase/angular/src/locale/messages.zh-TW.xlf
@LakshmanTurlapati

Copy link
Copy Markdown
Member Author

Merged into #150 via 3d170bf, which carries this PR's commits a36d3de and 006bbeb unchanged. The later 56fbf12 only merges main (#163) into this branch; #150 picks up #163 when it is updated with main. The tool removals ship in fsb-mcp-server 0.11.5 (kept as a patch) and the background-agent cleanup in extension 0.9.95 when #150 merges. The conflicts were with #150's translations; the four onboarding tool counts now say 69 in all seven extension catalogs, and #150's "Merged #161 and #162" section lists the details. Keeping the branch until then.

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