feat: promote BrowserOS as MCP with UI improvements#541
Merged
shivammittal274 merged 1 commit intomainfrom Mar 23, 2026
Merged
Conversation
- Add MCP promo banner on AI providers page with "New" badge and "66+ tools" highlight, linking to /settings/mcp - Add Quick Setup section on MCP settings page with copy-paste commands for Claude Code, Gemini CLI, Codex, Claude Desktop, OpenClaw - Consolidate MCP settings: move restart button inline with server URL, remove separate MCP Server Settings card - Add analytics event for promo banner clicks
Contributor
Greptile SummaryThis PR promotes BrowserOS as an MCP server by adding a dismissible promo banner on the AI providers page and a new "Quick Setup" section on the MCP settings page with tabbed copy-paste commands for Claude Code, Gemini CLI, Codex, Claude Desktop, and OpenClaw. It also consolidates MCP settings by moving the restart button inline with the server URL and removing the Key changes:
Confidence Score: 4/5
Important Files Changed
Sequence DiagramsequenceDiagram
participant User
participant AISettingsPage
participant McpPromoBanner
participant MCPSettingsPage
participant MCPServerHeader
participant QuickSetupSection
participant BrowserOSAdapter
participant ServerHealth
User->>AISettingsPage: Opens AI Providers page
AISettingsPage->>McpPromoBanner: Render (session-local dismissed state)
User->>McpPromoBanner: Clicks "Set up"
McpPromoBanner->>MCPSettingsPage: navigate('/settings/mcp') + track event
MCPSettingsPage->>MCPServerHeader: serverUrl, isLoading, onServerRestart
MCPSettingsPage->>QuickSetupSection: serverUrl
Note over QuickSetupSection: Renders tabbed CLI/JSON snippets<br/>with copy buttons per client
User->>MCPServerHeader: Clicks Restart button
MCPServerHeader->>BrowserOSAdapter: setPref(RESTART_SERVER, true)
loop every 2s up to 60s
MCPServerHeader->>ServerHealth: sendServerMessage('checkHealth')
ServerHealth-->>MCPServerHeader: { healthy: boolean }
end
MCPServerHeader-->>User: toast success / error
MCPServerHeader->>MCPSettingsPage: onServerRestart() → reload URL + tools
Prompt To Fix All With AIThis is a comment left during a code review.
Path: packages/browseros-agent/apps/agent/entrypoints/app/mcp-settings/MCPSettingsPage.tsx
Line: 7
Comment:
**Dead file: `ServerSettingsCard.tsx` not deleted**
`ServerSettingsCard.tsx` is no longer imported anywhere in the codebase after this change, but the file itself was not deleted. Per the project's dead-code policy, unused files should be removed rather than left orphaned. The file contains ~320 lines of now-unreachable component code.
Please delete `packages/browseros-agent/apps/agent/entrypoints/app/mcp-settings/ServerSettingsCard.tsx`.
**Rule Used:** Remove unused/dead code rather than leaving it in ... ([source](https://app.greptile.com/review/custom-context?memory=9b045db4-2630-428c-95b7-ccf048d34547))
**Learnt From**
[browseros-ai/BrowserOS-agent#126](https://github.com/browseros-ai/BrowserOS-agent/pull/126)
How can I resolve this? If you propose a fix, please make it concise.
---
This is a comment left during a code review.
Path: packages/browseros-agent/apps/agent/lib/constants/analyticsEvents.ts
Line: 75-81
Comment:
**Dead analytics event constants**
`MCP_EXTERNAL_ACCESS_ENABLED_EVENT` and `MCP_EXTERNAL_ACCESS_DISABLED_EVENT` are now exclusively referenced by `ServerSettingsCard.tsx`, which is itself dead code after this PR. These constants should be removed along with the dead file to avoid confusion about whether external access toggling is still a supported feature.
```suggestion
```
(Remove lines 75–81 entirely once `ServerSettingsCard.tsx` is deleted.)
**Rule Used:** Remove unused/dead code rather than leaving it in ... ([source](https://app.greptile.com/review/custom-context?memory=9b045db4-2630-428c-95b7-ccf048d34547))
**Learnt From**
[browseros-ai/BrowserOS-agent#126](https://github.com/browseros-ai/BrowserOS-agent/pull/126)
How can I resolve this? If you propose a fix, please make it concise.
---
This is a comment left during a code review.
Path: packages/browseros-agent/apps/agent/entrypoints/app/mcp-settings/MCPServerHeader.tsx
Line: 150-163
Comment:
**Restart fires without confirmation**
The old `ServerSettingsCard` prompted users with an `AlertDialog` before restarting ("It may take 10–30 seconds… any active connections will be temporarily interrupted"). The new inline button calls `handleRestart` directly on click with no confirmation step. Users with active MCP sessions can accidentally interrupt them by mis-clicking the icon button adjacent to the copy button.
Consider adding a `title="Restart server"` tooltip (already present ✓) and either a confirmation dialog or at minimum a debounce/double-click guard to prevent accidental restarts.
How can I resolve this? If you propose a fix, please make it concise.Reviews (1): Last reviewed commit: "feat: promote BrowserOS as MCP with UI i..." | Re-trigger Greptile |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
/settings/mcp0.0.0.0)settings.mcp_promo_banner.clickedanalytics eventTest plan
/settings/mcp🤖 Generated with Claude Code