MCP server de FSB
Commit 14 nov 2026Permite que los clientes de IA realicen automatización de navegadores interactuando directamente con el DOM a través de una extensión de Chrome y un MCP server.
También conocido como fullselfbrowsing/FSB
- Stars
- 204
- Herramientas
- —
- Descargas, 30 días
- —
- Última versión
- —
- Último commit
- 14 nov 2026
- Licencia
- MIT
¿Qué es FSB MCP?
FSB es un MCP server. Permite que los clientes de IA realicen automatización de navegadores interactuando directamente con el DOM a través de una extensión de Chrome y un MCP server.
Resumen generado a partir del README del proyecto
Acerca del MCP server de FSB
FSB permite a desarrolladores e investigadores automatizar tareas de navegación web mediante lenguaje natural. Al interactuar directamente con el DOM en lugar de depender de capturas de pantalla visuales, este sistema ofrece una latencia más rápida y una mejor comprensión de elementos ocultos o formularios complejos. Funciona como un puente entre los clientes de IA y una extensión de Chrome, permitiendo que los modelos lean estructuras de páginas, ejecuten clics, escriban texto y naveguen por sitios web utilizando inteligencia estructural.
Los usuarios pueden conectar varios clientes MCP como Claude Desktop, Cursor, VS Code o Windsurf usando un solo comando. Debido a que el razonamiento es gestionado por el cliente de IA conectado, no se requiere una API key específica de FSB para la conexión MCP. El servidor proporciona un conjunto de herramientas que incluye snapshots del DOM, verificación de acciones y espera inteligente para asegurar que las tareas se completen con precisión. Para uso independiente a través de la extensión, es compatible con múltiples proveedores como Anthropic, OpenAI y Gemini.
Escrito a partir del README del proyecto. Cada caso de uso se verifica con una cita del mismo.
Verificaciones automáticas
Ejecutado 13 nov 2026Informe completo →Aún no verificado. Un servidor necesita una puntuación de 80, ningún hallazgo grave y suficientes datos para que podamos revisarlo. Cómo funcionan las verificaciones
- Repositorio de origen vinculado y accesiblefullselfbrowsing/fsb is public and reachablegithub.com/fullselfbrowsing/fsb ↗Aprobado
- El paquete cita este repositorio como fuenteNo verificado
- Procedencia de la compilación (atestación Sigstore)No verificado
- Licencia de código abierto (OSI)MITspdx.org/licenses/MIT.html ↗Aprobado
- Commit o lanzamiento en el último añoLast commit or release 2026-11-12github.com/fullselfbrowsing/fsb ↗Aprobado
- OpenSSF ScorecardNo verificado
- El nombre del paquete no es similar a un paquete popularNo verificado
- Sin avisos críticos en el paquete ni en sus dependenciasNo verificado
- Sin instrucciones ocultas para el modelo0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersAprobado
- Las herramientas destructivas están etiquetadasNo verificado
- El endpoint remoto responde al handshake MCPNo verificado
README
Ver en GitHubFSB v0.9.92 Full Self Browsing
AI-powered browser automation through natural language. Tell it what to do, and watch it browse for you.
Pure structural intelligence. Zero vision. Zero guessing.
Benchmark · What's New · Quick Start · MCP Server · Architecture · Providers · Development
Benchmark
Average success rates on Online-Mind2Web, with FSB included.
| # | Agent | Average success rate |
|---|---|---|
| 01 | Hark | 97.7% |
| 02 | Navigator (n1.5) | 97.3% |
| 03 | ACT-2 | 92.7% |
| 04 | FSB | 92.3% |
| 05 | Navigator (n1-preview) | 78.7% |
| 06 | Google Computer Use | 69.0% |
| 07 | Operator | 61.3% |
| 08 | ACT-1 (Aug 2025) | 57.3% |
| 09 | Claude Computer Use | 56.3% |
| 10 | ACT-1 (Jul 2025) | 45.7% |
FSB: AI-reviewed result (277/300).
Overview
FSB (Full Self Browsing) is an open source Chrome extension for AI powered browser automation. Describe a task in plain English; FSB reads the live DOM, builds a plan, executes browser actions, verifies results, and reports progress through the popup, side panel, or MCP.
FSB v0.9.92 is functional and production ready for supervised automation. Browser automation can still behave unpredictably on complex or sensitive sites, so monitor actions and test on non critical pages first.
Why DOM First
Project Mariner, Claude Computer Use, and OpenAI Operator rely heavily on visual page understanding. FSB uses page structure directly.
| Metric | Vision based agents | FSB |
|---|---|---|
| Page understanding | Screenshots | DOM, selectors, ARIA, forms |
| Hidden elements | Often invisible | Available in structure |
| Typical per step latency | 1 to 3 seconds | 50 to 200 ms |
| Token/cost profile | Image heavy | Text/structure heavy |
Quick Start TL;DR
FSB shines when your AI client drives it directly. Install the MCP server for your client of choice — one command, no manual config edits, and no FSB API key needed (your MCP client's model handles the reasoning):
| Client | One-command install |
|---|---|
| Claude Code | npx -y fsb-mcp-server@latest install --claude-code |
| Claude Desktop | npx -y fsb-mcp-server@latest install --claude-desktop |
| Cursor | npx -y fsb-mcp-server@latest install --cursor |
| VS Code | npx -y fsb-mcp-server@latest install --vscode |
| Windsurf | npx -y fsb-mcp-server@latest install --windsurf |
| Codex | npx -y fsb-mcp-server@latest install --codex |
| All at once | npx -y fsb-mcp-server@latest install --all |
Preview before writing: append --dry-run. Sanity check with npx -y fsb-mcp-server@latest doctor. Restart the client so the new MCP server appears.
Then install the browser side (the MCP bridge talks to the extension):
- Get FSB from the Chrome Web Store.
- From your MCP client, try:
Search for cats on GoogleorRead this page and summarize it.
Want to run FSB standalone from the extension popup/side panel? Open settings, paste an API key (xAI, Gemini, OpenAI, Anthropic, OpenRouter, LM Studio, or custom), and start there — no MCP needed.
On OpenClaw? Install FSB directly from ClawHub. That is the fastest onboarding route. If you need the manual fallback, the FSB skill in skills/fsb/ still prints the canonical OpenClaw stdio config block and runs the doctor flow. The bare --openclaw install flag stays manual because OpenClaw's MCP config schema is unstable across builds.
On Hermes? Use the same skill at skills/fsb/. Run node skills/fsb/scripts/print-hermes-yaml.mjs to print the canonical ~/.hermes/config.yaml mcp_servers.fsb block, or run node skills/fsb/scripts/install-host.mjs to detect a local Hermes config and gate the install on consent.
On Grok Bot? The marketplace wrapper lives in plugins/grok-bot/, with a pinned npm MCP server and one FSB skill. It uses Chrome on Bot's own computer; see its setup and privacy disclosures. Marketplace listing is pending publisher review.
What It Does
- Runs natural language browser tasks from the popup or side panel.
- Supports xAI, Gemini, OpenAI, Anthropic, OpenRouter, LM Studio, and custom OpenAI-compatible endpoints.
- Discovers live provider model lists and falls back to bundled defaults.
- Uses 57 shared definitions (53 browser tools plus 4 trigger tools) and 69 registered MCP tools for external clients.
- Provides DOM snapshots, action verification, smart waiting, stuck detection, visual feedback, and session logs.
- Searches a 128-app capability catalog and invokes verified signed, audited, denylist-gated first-party API capabilities through the MCP capability surface.
- Uploads real local files to file inputs through the supervised
upload_filetool with sensitive-path safeguards. - Maintains long term memory for past sites, workflows, selectors, and task outcomes.
- Includes secure credential and payment vault flows for supervised autofill.
- Exposes a local MCP server so Claude Code, Codex, Cursor, VS Code, Windsurf, and other MCP clients can drive the browser.
Background agents are retired. Existing chrome.storage.local['bgAgents'] data is preserved for users who had old agents, but scheduled or recurring automation is no longer an active FSB feature.
Common Use Cases
- QA and regression checks: repeat page flows, click through states, fill forms, and collect action logs.
- Research: navigate pages, extract visible information, and summarize results without relying on screenshots.
- Data entry: move through structured forms with validation, dropdowns, custom controls, and table inputs.
- Ecommerce: compare product pages, inspect prices, monitor availability manually, and prepare carts under supervision.
- Finance and dashboards: read charts, tables, and current page state when a human remains in control.
- Trigger watchers: watch one page element for changes, threshold crossings, or availability while Chrome and the extension stay open.
- Developer workflows: drive GitHub, issue trackers, documentation sites, coding platforms, and browser-based tools.
- Accessibility and DOM inspection: expose structure, labels, selectors, forms, and hidden controls for debugging.
FSB is most reliable when the task can be expressed as page structure and user actions. It is intentionally not a stealth browser, scraper farm, or unsupervised account operator.
Feature Detail
| Area | Current behavior |
|---|---|
| DOM analysis | Captures visible and structural page data, element refs, selectors, forms, ARIA labels, and DOM deltas. |
| Action execution | Supports clicks, typing, keys, scrolling, navigation, tabs, spreadsheet ranges, coordinate tools, direct JavaScript, and real file uploads. |
| Capability catalog | Searches the 128-app catalog and invokes verified signed, audited, denylist-gated T1/T1b first-party API capabilities through search_capabilities and invoke_capability. Catalog-tail hits remain learn-pending, discovery-pending, or guarded fail-closed until proven. Sensitive origins are flagged, while denylisted origins remain blocked. |
| Verification | Checks post-action state, loading behavior, DOM stability, and stuck-action repetition. |
| UI surfaces | Popup chat, persistent side panel, options/control panel, logs, analytics, memory, vault, and sync controls. |
| Model support | Hosted providers, OpenRouter routing, LM Studio local models, custom endpoints, and live model discovery. |
| Output rendering | Markdown, sanitized HTML, Mermaid diagrams, Chart.js charts, and task progress messages. |
| Observability | Session history, action logs, token/cost accounting, diagnostics ring buffer, and MCP status probes. |
| Security | Encrypted keys, vault unlock flows, redaction helpers, DOMPurify, capability signature/audit gates, origin denylisting, upload-path denylisting, and restricted-tab recovery messaging. |
| Trigger watchers | MCP callers can arm one-element watches with blocking or detached reporting, plus status/list/stop companions. |
| DOM live preview | PhantomStream-backed capture, renderer, protocol, media mirroring, and relay compatibility with FSB-owned pairing, task status, overlays, and remote-control ownership. |
The core design goal is to keep the browser as the source of truth. The model receives structured page context, makes a tool decision, and the extension verifies what changed before moving to the next step.
What's New
Native Capability Catalog: first-party API execution. Beyond DOM automation, FSB can search a capability catalog covering 128 apps and invoke verified API capabilities with search_capabilities and invoke_capability. Verified capabilities run through a router that checks the origin, verifies the recipe signature, checks the denylist, serializes the action, and logs an audit record that never includes secrets. Capabilities that are not yet verified are clearly labeled instead of being presented as ready to use. Every origin is allowed by default unless it is on the denylist, and denylisted origins stay blocked. Sensitive origins are flagged in the interface and the audit trail, and reading data through network capture on a sensitive origin still asks for extra confirmation. The API integration model is inspired by OpenTabs (see Acknowledgements). Capability execution is fully supported and has been tested, including live browser testing. The automated test suite is green.
upload_file: real file input uploads. MCP clients and FSB autopilot can now call upload_file(selector, file_path, tab_id?) to set an absolute local disk path on a real <input type="file"> through CDP DOM.setFileInputFiles, including inputs hidden behind styled dropzones. Uploads pass through one shared background chokepoint with a sensitive-path denylist and audit logging that does not persist disk paths. drop_file remains for synthetic drag/drop cases and pure drag-only zones.
PhantomStream 0.2.1 media mirroring. Dashboard DOM live preview now consumes the published PhantomStream media side channel in reference mode, so progressive <video> and <audio> nodes can mirror alongside DOM snapshots. Adaptive HLS/DASH discovery remains deferred because it would require a new webRequest permission; MCP tool schemas, pairing, auth, and dashboard ownership behavior are unchanged.
Engineering milestone 0.11.0 — Trigger Tool (reactive DOM monitoring). MCP callers can arm a watch on one page element with trigger and manage it with stop_trigger, get_trigger_status, and list_triggers. Watches support live-observe and refresh-poll modes, threshold/delta/regex/compound conditions, blocking or detached reporting, and a configurable concurrency cap. See Trigger Watchers for the full contract.
Showcase and ecosystem pages. full-selfbrowsing.com added pages for Lattice (capability runtime SDK), PhantomStream (DOM-native browser mirroring), Prometheus (the autonomous browser build behind FSB), and a community Site Maps hub, plus a live stats page with an anonymized active-regions globe, a legal posture page, and an interactive knowledge-graph viewer on About.
Full history is in CHANGELOG.md; the MCP package keeps its own log in mcp/CHANGELOG.md.
Repository Layout
| Path | Purpose |
|---|---|
extension/ |
Chrome extension package. Load this directory as an unpacked MV3 extension. |
mcp/ |
npm package fsb-mcp-server, the local MCP bridge for external AI clients. |
skills/fsb/ |
OpenClaw + Hermes skill: doctor + stdio/YAML printers + consent gated install for multiple hosts. |
showcase/ |
Marketing and dashboard site for full-selfbrowsing.com. Angular 20 static prerender + Express relay. |
showcase/server/ |
Node/Express deploy backend for pairing, PhantomStream-compatible relay, auth, and dashboard data. |
server-py/ |
Legacy Python/FastAPI-style backend prototype retained for reference. |
tests/ |
Node tests for extension modules, MCP contracts, bridge behavior, and regression coverage. |
scripts/ |
Repo maintenance and validation scripts. |
Top level deploy and validation files:
package.json- root commands for validation, tests, packaging, and showcase helpers.Dockerfile,fly.toml- production deploy for the showcase server on fly.io..github/workflows/ci.yml- validates extension, MCP smoke tests, and showcase build..github/workflows/deploy.yml- deploys the production site onmainpushes.
Screenshots
Dashboard and Analytics
API Configuration
Passwords Manager
Memory and Site Explorer
Intelligence Knowledge Graph
Quick Start
Prerequisites
- Chromium 116+ in a supported stable desktop browser: Chrome, Edge, Brave, or Chromium.
- One AI provider setup:
- xAI API key: https://x.ai/api
- Gemini API key: https://aistudio.google.com/app/apikey
- OpenAI API key: https://platform.openai.com/api-keys
- Anthropic API key: https://console.anthropic.com/account/keys
- OpenRouter API key: https://openrouter.ai/keys
- LM Studio local server running at
http://localhost:1234 - A custom OpenAI-compatible chat completions endpoint
Install The Extension
git clone https://github.com/fullselfbrowsing/FSB.git
cd FSB
- Open
chrome://extensions/. - Enable Developer mode.
- Click Load unpacked.
- Select the
extension/directory. - Click the FSB toolbar icon, open settings, configure a provider, and test the API connection.
Start with simple tasks such as:
Scroll downSearch for cats on GoogleClick the first search resultRead this page and summarize it
Reload the extension from chrome://extensions/ after local code changes. Reload open tabs after the extension reloads so content scripts re-inject.
For an unpacked build, record the ID on chrome://extensions/. A different install path or profile can produce a different ID; if doctor reports ORIGIN_PIN_MISMATCH, run npx -y fsb-mcp-server@latest pair --reset and pair the new installation. One browser profile attaches to the local bridge at a time. doctor and status show the attached extension ID, version, install instance, connection time, and normal-window count. The MCP server and extension have independent versions. Branded Chrome 137 removed the --load-extension flag; use Load unpacked in Chrome, or use Chrome for Testing or Chromium when a command-line flag is required.
First Run Checklist
- Open the FSB control panel from the extension.
- Select a provider and model.
- Enter the matching API key or local endpoint.
- Use Test API to confirm the model can answer.
- Open a normal webpage, not a browser-internal page.
- Try a read-only task first, then a simple click or type task.
- Keep the visual overlay enabled while evaluating behavior.
If a site uses heavy client rendering, custom canvas controls, or unusual shadow DOM, start by asking FSB to read the page and identify available controls. That gives the model a better first snapshot and makes failures easier to debug.
Quick Troubleshooting
| Problem | Check |
|---|---|
| Extension does not appear | Confirm Chrome loaded extension/, not the repo root. |
| API test fails | Confirm the selected provider, key, endpoint, and model belong together. |
| Page reads fail | Move away from browser-internal pages such as chrome:// or extension pages. |
| Clicks miss targets | Refresh the DOM snapshot, scroll the target into view, or use coordinate tools. |
| Typed text does not stick | Prefer type_text over JavaScript value assignment on controlled inputs. |
| MCP tools are missing | Restart the host client and run npx -y fsb-mcp-server@latest doctor. |
| MCP tools time out | Check status --watch, active tab readiness, and whether another task is queued. |
Most failures are recoverable by inspecting the current page, refreshing selectors, or restarting the local MCP bridge. Reinstalling the MCP config should be the last step, not the first.
Local Development Setup
You do not need a build step to load the extension in Chrome. You only need npm dependencies when running tests, building MCP, or building the showcase site.
npm install
npm --prefix mcp install
npm --prefix showcase/angular install
The extension reads bundled scripts directly from extension/. The MCP package is TypeScript and must be built before smoke tests or npm publishing. The showcase is a normal Angular app with static prerender output served by the production Express backend.
MCP Server
FSB ships fsb-mcp-server, a local MCP server that lets external AI clients control the same browser extension. It exposes 69 registered tools across visual sessions, trigger watchers, manual browser control, Developer/UAT capture, capability search/invoke, read-only page inspection, autopilot, vault, and observability.
The extension connects to the MCP bridge on:
ws://localhost:7225
Optional Streamable HTTP mode exposes:
http://127.0.0.1:7226/mcp
The HTTP endpoint binds to loopback only and rejects requests with an Origin header or a foreign Host. Use the printed local endpoint from an MCP client. If a tab stops responding, page reads return PAGE_UNRESPONSIVE; navigate and close_tab remain available. Inspect page state before repeating any action reported as outcome: "unknown" and mayHaveExecuted: true.
One Command Install
npx -y fsb-mcp-server@latest install --claude-desktop
npx -y fsb-mcp-server@latest install --claude-code
npx -y fsb-mcp-server@latest install --cursor
npx -y fsb-mcp-server@latest install --vscode
npx -y fsb-mcp-server@latest install --windsurf
npx -y fsb-mcp-server@latest install --codex
npx -y fsb-mcp-server@latest install --all
Preview without writing:
npx -y fsb-mcp-server@latest install --all --dry-run
npx -y fsb-mcp-server@latest install --list
Manual Examples
Claude Code:
claude mcp add --scope user fsb -- npx -y fsb-mcp-server@latest
Codex (~/.codex/config.toml):
[mcp_servers.fsb]
command = "npx"
args = ["-y", "fsb-mcp-server@latest"]
VS Code (mcp.json):
{
"servers": {
"fsb": {
"type": "stdio",
"command": "npx",
"args": ["-y", "fsb-mcp-server@latest"]
}
}
}
Diagnostics:
npx -y fsb-mcp-server@latest doctor
npx -y fsb-mcp-server@latest status --watch
npx -y fsb-mcp-server@latest wait-for-extension
See mcp/README.md for the full tool reference and client-specific setup notes.
OpenCode and OpenClaw are supported through manual or unsupported fallback setup paths; after editing host configuration, refresh or reload the client if FSB tools do not appear.
Preguntas sobre FSB MCP
¿Requiere FSB una API key para funcionar con clientes MCP?
No, al usar un cliente MCP como Claude Desktop o Cursor, el modelo de tu cliente se encarga del razonamiento y no es necesaria una API key de FSB.
¿En qué se diferencia FSB de los agentes de navegador basados en visión?
A diferencia de los agentes que dependen de capturas de pantalla, FSB utiliza la estructura de la página (DOM, selectores, ARIA y formularios) directamente, lo que resulta en una menor latencia y menores costos de tokens.
¿Puede FSB subir archivos locales durante la automatización?
Sí, incluye una herramienta de upload_file supervisada que permite subir archivos locales reales a campos de entrada de archivos con protecciones de rutas sensibles.
¿Qué modelos de IA puedo usar con la extensión FSB?
La extensión es compatible con xAI, Gemini, OpenAI, Anthropic, OpenRouter, LM Studio y endpoints personalizados compatibles con OpenAI.