← Back to directory
F

FSB MCP Server

Community
Control the FSB browser extension from any MCP client for DOM-first AI browser automation.
Category
Browser #3 of 32
Stars
★ 191 Very popular
Transport
stdio (local process) · Streamable HTTP
Runtime
Node.js · Hosted (no local runtime)
Credentials
No credential needed
License
MIT
Last commit
Tools
30
66FMRS · C

FSB MCP Server provides powerful browser control for MCP clients, using a DOM-first architecture that outperforms vision-based approaches. It supports multiple clients and offers a rich toolset. However, it requires installing a browser extension and automation needs supervision with security considerations.

Strongest · Documentation 15/20 Weakest · Reliability 10/20

Reliability
10/20
Security and permissions
14/20
Maintenance
15/20
Documentation
15/20
Setup experience
12/20
Why each score
Reliability 10/20
Evidence: The repository includes CI workflows (.github/workflows/ci.yml and deploy.yml) that run extension validation, Node tests, MCP smoke tests, and showcase build. Root package.json lists commands like validate:extension, test, test:mcp-smoke. However, the provided README and manifest do not explicitly show that these tests cover the MCP server's key paths (e.g., tool listing, command execution). The README claims 66 registered MCP tools, but there is no evidence of verification that these tools match real behavior. Therefore, happy path seems plausible, but test coverage and error handling are thin, so reliability is capped at 12.
Security and permissions 14/20
Evidence: API keys are encrypted with AES-GCM in Chrome storage; there is a secure config layer and vault unlock flows; sensitive path and origin denylists; upload_file tool has sensitive-path denylist and audit logging (no path persistence); DOM output sanitized with DOMPurify; capability invocation gated by signature, audit, denylist. This shows a fairly comprehensive security posture. However, the actual implementation is not directly verified from source, and there are potentially high-risk operations (execute_js, upload_file) whose permissions and confirmation mechanisms are only described in docs, not confirmed in code. Thus, security score is moderate, and no red lines triggered.
Maintenance 15/20
Evidence: Repository is not archived, has 1 open issue, version 0.10.0 (README shows 0.9.90, minor inconsistency). License is NOASSERTION (README claims BSL 1.1, but no license text verified). CI workflows exist, indicating continuous integration. However, there is no evidence of release frequency, issue response time, or dependency update policy. Thus, maintenance activity appears active but with governance/versioning gaps.
Documentation 15/20
Evidence: README provides comprehensive overview including quick start, MCP installation commands, client config examples (Claude Code, Codex, VS Code), troubleshooting table, security notes, and architecture diagram. It references mcp/README.md for full tool reference. However, documentation relies on README claims and does not provide source-verified details on tool parameters, limitations, or cost breakdown. The install examples do not contain real tokens. Documentation quality is high but lacks in-depth disclosure of limitations and costs.
Setup experience 12/20
Evidence: README provides one-command install for MCP server (e.g., npx -y fsb-mcp-server install --claude-code) and manual config examples (Claude Code, Codex, VS Code). Extension installation requires loading from Chrome Web Store or unpacked. Since this review does not execute installations, and CI tests do not show automated verification of MCP install, setup score is capped at 15. Steps seem clear but rely on external extension installation, which could be fragile.

Static review · not runListed 2026-08-07

Read the FMRS scoring method →

Fit and risk

What it can accessWrites / deletes local filesRuns commands or codeUses the networkControls a browser

Best for

  • Developers who want AI clients to directly control the browser
  • Scenarios requiring DOM-level understanding and low-latency automation (50-200 ms)
  • Multi-client support (Claude Code, Cursor, VS Code, etc.)
  • Internal tools or automation scripts needing browser interaction

Not for

  • Headless browser or server-side monitoring
  • Bypassing website restrictions or unsupervised automation
  • Automation on sensitive pages without human supervision
  • Complex scenarios that require visual understanding (e.g., screenshots)

Required permissions

  • Requires installing the Chrome extension, which requests permissions for active tab, debugger, storage, etc.
  • MCP server needs to connect to the extension via WebSocket (default ws://localhost:7225)
  • Optional Streamable HTTP mode requires allowing connections to http://127.0.0.1:7226/mcp
  • Uploading files requires providing absolute local paths

Risks and side effects

  • Browser automation can be unpredictable on complex or sensitive sites; supervision is required
  • Credentials and payment info are stored in a vault but require user unlock flows
  • API keys are encrypted in Chrome storage, but clients may send page context to model providers
  • MCP server is a local process, posing local security risks
  • Capability catalog allows most non-denied origins but is gated by multiple checks

Setup

Before you start

Runtime:Node.js · Hosted (no local runtime)

  1. Install the Chrome extension: get FSB from the Chrome Web Store.\n2. Install the MCP server: For Claude Code, run npx -y fsb-mcp-server install --claude-code; for Claude Desktop, --claude-desktop; for Cursor, --cursor; for VS Code, --vscode; for Windsurf, --windsurf; for Codex, --codex.\n3. Restart the client for the server to appear.\n4. Try a task from the client, e.g., 'Search for cats on Google'.
claude_desktop_config.json
{
  "servers": {
    "fsb": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "fsb-mcp-server"]
    }
  }
}

Shown for Claude Desktop. Other clients may use a different file or key (VS Code uses "servers") — the configurator below converts it.

.vscode/mcp.json
{
  "servers": {
    "fsb": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "fsb-mcp-server"
      ]
    }
  }
}

Goes in your project's .vscode/mcp.json (VS Code uses a "servers" key).

Terminal
claude mcp add fsb -- npx -y fsb-mcp-server

Run it in a terminal; replace any <…> placeholders with your own values first.

Check that it works

Run npx -y fsb-mcp-server doctor, restart the client, and confirm the fsb tools (e.g. read_page, get_dom_snapshot) appear in the client's tool list; or ask the client to read and summarize the current page to prove the extension bridge is connected.

Troubleshooting

  1. Run `npx -y fsb-mcp-server doctor` to check connection and status
  2. Run `npx -y fsb-mcp-server status --watch` to monitor extension status
  3. Ensure Chrome and the extension are open, and the active tab is a normal webpage, not a browser-internal page
  4. Restart the client to load the MCP server
  5. Check that content scripts are re-injected after extension reload

Things to try

Once connected, you can ask your AI assistant things like:

  • Search for cats on Google and list the top result titles
  • Read this page and summarize it
  • Click the first search result
  • Take a DOM snapshot of the current page and identify the form controls

Tools 30

run_task writes
Run a natural language task using FSB's own automation loop.
stop_task writes
Stop the current running task.
get_task_status read-only
Get the status of the current task.
back writes
Navigate back to the previous page.
trigger writes
Set a watch on a page element for future changes and report.
stop_trigger writes
Stop a specified trigger watch.
get_trigger_status read-only
Get the status of a trigger watch.
list_triggers read-only
List all active trigger watches.
Show 22 more tools
execute_js writes
Execute safe JavaScript in the page context for DOM reads or simple clicks.
navigate writes
Navigate to a specified URL.
click writes
Perform a click on a selected selector.
type_text writes
Type text into an input element.
press_key writes
Send keyboard key events.
drag writes
Perform a drag operation.
upload_file writes
Upload a local file to a file input via CDP.
read_page read-only
Read the current page's accessible text and structure.
get_dom_snapshot read-only
Get a snapshot of the current DOM, including selectors and forms.
get_page_snapshot read-only
Get a snapshot of the page, including visual and structural info.
get_site_guide read-only
Get the site guide for the current site, including selectors and tips.
read_sheet read-only
Read spreadsheet or table data.
search_capabilities read-only
Search the capability catalog for available first-party API capabilities.
invoke_capability writes
Invoke a verified API capability.
list_sessions read-only
List historical sessions.
get_logs read-only
Get action logs.
search_memory read-only
Search long-term memory.
list_credentials read-only
List saved credentials.
fill_credential writes
Autofill a credential.
use_payment_method destructive
Use a saved payment method.
start_visual_session writes
Start a visual session.
end_visual_session writes
End a visual session.

Use cases

Natural language browser automation: search, click, fill forms
QA and regression checks: repeat page flows, collect action logs
Research: navigate pages, extract visible info, summarize results
Data entry: handle structured forms, dropdowns, table inputs
Ecommerce: compare product pages, inspect prices, monitor availability
Finance and dashboards: read charts and tables
Trigger watchers: monitor page elements for changes
Developer workflows: drive GitHub, issue trackers, etc.

Supported clients

Claude Desktop
Claude Code
Cursor
VS Code
Windsurf
Codex

Listed from the project's documentation, not tested by this site.

Overview

FSB MCP Server is a local MCP server that allows external AI clients (e.g., Claude Code, Cursor, VS Code) to control the FSB Chrome extension. It exposes 66 registered tools covering manual browser control, read-only inspection, autopilot, trigger watchers, capability search/invoke, vault, and observability. The server communicates with the extension via a WebSocket bridge and supports both stdio and Streamable HTTP transports.

Similar servers

Source revision 61dc55df06ad Data synced 2026-10-12 Read the FMRS scoring method