logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

mcp-browser-toolkit

A Machine Control Protocol (MCP) Server facilitating interaction between AI agents and locally installed web browsing environments.

Author

MCP Server

ndthanhdev

No License

Quick Info

GitHub GitHub Stars 34
NPM Weekly Downloads 0
Tools 1
Last Updated 2026-02-19

Tags

automationbrowserbrowsersmcp browserbrowser automationautomation web

The MCP Browser Instrumentation Suite

Build Status Check Verified via Biome Quality Assurance Rating

This MCP apparatus provides a bridge allowing intelligent assistants to manipulate and observe running web browsers situated on the host machine.

Crucial Warning: To mitigate risks of transmitting confidential information to third-party AI service providers, it is strongly advised to employ a distinct, isolated browser profile or a dedicated browser instance when utilizing this component.

https://github.com/user-attachments/assets/1fbf87fd-06d1-42bf-a06f-cc2bbdf375a8

Implementation Guide

  1. Integrate the Browser Toolkit into your MCP Client configuration:

{ "mcpServers": { "browser-kit": { "command": "npx", "args": ["@mcp-browser-kit/server"] } } }

  1. Ascertain the appropriate extension package matching your browser:

  2. Consult the Browser Compatibility Matrix hereafter to determine suitability between M2 and M3 variants.

  3. Preference should be given to the M2 build, as it exposes a wider array of capabilities over the M3 build, provided your browser version is supported.

  4. Retrieve and decompress the most recent compatible distribution package from The Latest Release Artifacts.

  5. Install the extension into a compliant browser instance and activate it (refer to the Extension Loading Procedure).

  6. Initiate a refresh cycle on all currently open browsing tabs to ensure the injection of extension scripts is complete.

  7. Commence directive issuance via your MCP Client, for example:

Direct browser-kit to favorite the most recently viewed repository on my active GitHub tab

Browser Compatibility Matrix

The M2 release offers superior functional breadth compared to the M3 release.

Naming convention for extension archives:

  • M2 package: mcp_browser_kit_m2-[version].zip (Example: mcp_browser_kit_m2-5.0.0.zip)
  • M3 package: mcp_browser_kit_m3-[version].zip (Example: mcp_browser_kit_m3-5.0.0.zip)
Browser Platform M2 Support M3 Support
Chrome
Brave
Edge
Firefox
Safari

Extension Loading Procedure

  • For Chromium-derived platforms (Chrome, Brave, Edge):
  • Navigate to chrome://extensions/
  • Toggle the setting labeled Developer mode ON
  • Select the button Load unpacked
  • Point to the extracted extension directory
  • For Firefox:
  • Access about:debugging#/runtime/this-firefox
  • Engage the control labeled Load Temporary Add-on
  • Specify the manifest.json file situated within the extracted extension root directory
  • For Safari:
  • Open the application menu path: Develop > Show Extension Builder
  • Click the addition symbol (+) and choose Add Extension
  • Designate the unpacked extension directory
  • Execute the Install action to finalize integration

WIKIPEDIA: A headless browser operates without a visible graphical user interface. These environments permit programmatic manipulation of a web page, mirroring the functionality of standard browsers but controlled via command-line invocation or network protocols. They are especially valuable for rigorous quality assurance of web assets, as they accurately interpret rendering elements—including visual layout, chromatic schemes, typography, and the execution of dynamic scripts like JavaScript and Ajax—which are often inaccessible through conventional testing utilities. Native remote control capabilities were introduced starting with Chrome version 59 and Firefox version 56, rendering previous workarounds, such as PhantomJS, largely obsolete.

== Primary Applications == The chief applications for employing headless browser technology include:

Automated verification within contemporary web application frameworks (i.e., web testing) Generating rasterized images (screenshots) of rendered web content Executing scripted tests for JavaScript libraries Programmatic orchestration of user interactions with web interfaces

=== Secondary Utilities === Headless agents are also beneficial for sophisticated web data extraction (scraping). Google proposed in 2009 that utilizing a headless agent could enhance search engine indexing of content dynamically loaded via Ajax. Conversely, these tools have been susceptible to misuse, such as:

Launching distributed denial-of-service attacks against web properties Artificially inflating advertisement impression counts Automating platform functions contrary to intended use (e.g., bulk credential testing) Nevertheless, a 2018 traffic analysis indicated that malicious actors do not exhibit a measurable bias towards headless environments over standard browser interfaces for activities like DDoS, SQL injection, or cross-site scripting exploits.

== Control Mechanisms == Given that major browser engines now natively support a headless execution mode via specialized Application Programming Interfaces (APIs), several software frameworks exist to abstract and unify browser automation tasks. These include:

Selenium WebDriver – An implementation adhering to W3C WebDriver specifications Playwright – A Node.js toolkit designed for automating Chromium, Firefox, and WebKit engines Puppeteer – A Node.js module focused on controlling Chrome or Firefox instances

=== Quality Assurance Integration === Certain automated testing suites integrate headless browser capabilities directly into their verification apparatus.

Capybara employs headless browsing, utilizing either WebKit or Headless Chrome, to simulate user actions within its protocol execution. Jasmine defaults to Selenium but can be configured to use WebKit or Headless Chrome for running browser-based tests. Cypress, a specialized frontend testing framework. QF-Test, a software solution for graphical user interface program validation that supports headless browser utilization for testing purposes.

=== Alternative Methodologies === An alternative strategy involves leveraging software that exposes browser-like APIs directly. For instance, Deno incorporates browser APIs into its core design. For the Node.js ecosystem, jsdom stands out as the most comprehensive implementation. While these libraries often manage core browser functionalities (like HTML parsing, cookie handling, XHR requests, and limited JavaScript execution), they typically forgo full DOM rendering and possess constrained support for simulating DOM events. Consequently, they generally execute faster than their full-fledged browser counterparts.

See Also

`