by 404softwarelabs | 2025-11-08 13:48:53+00:00
I was not happy with existing MCPs for browsers, so I decided to write my own.

What's the problem?

1. Official MCPs (Playwright and Chrome dev tools) spawns new browser instance in headless mode, without existing sessions, easily detectable as bots. So if you want to automate something behind authentication, you have to do it in every session. 2. Browser MCP which is top in Chrome store is Playwright under the hood with browser extension. 3. All 3 operate on snapshots sending huge dumps, which do not fit limit of MCP answer. Even if it fits, it eats conext quickly. Without snapshot it is not possible to interact with page. 4. There is a bunch of less known mcp tools, with way less functionality.

This makes them pretty useless for automation or debugging. Honestly I don't understand how Browser MCP got so many users, it fails on simple tasks for me.

So I decided to make my own MCP + extension. Currently for Chromium-based browsers and Firefox (with some limitations).

The idea is to allow to operate on pure css selectors (with :has-text() extension). So now LLM can make a screenshot, see there is a "Submit" button, and simply use click tool on selector button:has-text("Submit").

It supports screenshot with lower quality, and partial screenshots (it can make a screenshot of some area or some css-selector). It turns out that if you want to debug some part of the page, partial screenshots work better (I understand there is some image-to-text under the hood, and on big images it may simply not describe the area you are interested in).

There are also many other tricks that helps LLM to work more efficiently. Like listing scrollable areas, detecting tech stack on current page, presence of iframes, setting pseudo states, listing css styles on element and many more.

It turned out, that it easier for me to use my mcp and the browser with session to read Jira tasks, rather than use official Jira MCP, which requires re-authentication every day and constantly hangs.

It also solved a vicious loop "there is a bug - llm says fixed - you check it does not work - llm says fixed - you check it does not work". Now it can check results and see if it works. There are tools to extract logs, network requests, so it can debug frontend-side problems efficiently.

Long story short, here it is. Extensions links: Chrome: https://chromewebstore.google.com/detail/blueprint-mcp-for-c... Firefox: https://addons.mozilla.org/ru/firefox/addon/blueprint-mcp-fo...

Released just yesterday, so not reviews or users stats yes.

It is completely free and open source on both ends (extension and mcp server). All works locally, no external calls or telemetry or analytics collection.

There is optional paid relay service. It allows you to have multiple simultaneous connections, including on different machines (and probably with mobile browser, firefox on android supports extensions, though I did not check it yet). But then requests/anwers go through my relay. No data is logged or analysed, but you must be aware.

Also I plan to make Safari extension, but it is much harder to debug.

If you ever tried browser automation and it failed - give a try to my extensions.

If you have some samples of when LLM fails on browser automation for some reason - drop in comments, so I can see if I can help you with that.