MCP servers / @agentdeskai/browser-tools-mcp

MCP tool changes

@agentdeskai/browser-tools-mcp

No tool definition changed across the 3 releases that started, up to 2.0.2.

npm package · npm page · recorded on 24 October 2026 on a clean machine with placeholder settings; only tools/list was sent. A changed description is not a vulnerability. Method and limits.

Release by release

2.0.1 → 2.0.2

patch release, 12 August 2026

No tool definition changed.

2.0.0 → 2.0.1

patch release, 11 August 2026

No tool definition changed.

Releases tried: 2.0.0 (2026-08-10); 2.0.1 (2026-08-11); 2.0.2 (2026-08-12).

Tools in 2.0.2

The pin is the SHA-256 of the tool's name, description and input schema, as verfy.lock records it. The same pin in your lock means your agent reads this exact definition.

Tools in 2.0.2
ToolDescriptionPin
listBrowserTabsEvery browser tab that currently has DevTools open, with the tabId you can pass to any other tool. Call this when a result reported otherTabs above 0, or when the user mentions a page other than the one you have been reading. The tab marked isCurrent is the one every other tool uses when you do not pass tabId.368222805b6a
getConsoleLogsConsole output from the current tab. Use keywords and limit to keep responses small — an unfiltered read can be large. Pass tabId for a different tab, or allTabs to read every tab; the result reports which tab it came from.349cabeebaa6
getConsoleErrorsOnly error-level console output and uncaught exceptions from the current tab. Start here when diagnosing a failure. Pass tabId for a different tab, or allTabs to read every tab.8d00aa1f9632
getNetworkLogsXHR and fetch requests from the current tab, including status and timing. Credential headers are redacted. Pass tabId for a different tab, or allTabs to read every tab.1c244a7e964a
getNetworkErrorsOnly requests that failed or returned a 4xx/5xx status. An empty result means there were no failures, which is a success, not an error.1eb2bdfaae91
getSelectedElementThe DOM element the user has selected in the Chrome DevTools Elements panel, with its attributes and markup.693f5964638a
getPageInfoWhich page the browser is currently on. Call this before reading telemetry so you know what the logs describe. If connectedTabs is above 1, call listBrowserTabs before assuming this is the page the user means.32bfb10c3666
getConnectionStatusWhether the Chrome extension is connected and how much telemetry has been captured. Call this first when something returns nothing.db8e85e2f984
takeScreenshotCaptures the visible area of the current tab and returns the image directly, plus the path it was saved to and the url captured. Pass tabId to capture a different tab.b184567737c7
refreshBrowserReloads the inspected tab. Useful for capturing a clean reproduction after calling wipeLogs.1e2f5372f3e3
getBrowserStorageLists localStorage, sessionStorage and cookie entries for the current page. Values are withheld unless includeValues is set, because they routinely contain session tokens.09f085b5355a
wipeLogsDiscards captured console and network entries for every tab, or one tab if you name it. Use before reproducing a problem so the next read contains only relevant output.50f7854b1d0d
runAccessibilityAuditLighthouse accessibility audit of the current page: contrast, labels, semantics and screen-reader support. Takes up to a minute and launches a separate headless browser.94d3cb88fcdc
runPerformanceAuditLighthouse performance audit of the current page, including Core Web Vitals. Takes up to a minute and launches a separate headless browser.a754e1c12569
runSEOAuditLighthouse SEO audit of the current page: metadata, indexability and crawlability. Takes up to a minute and launches a separate headless browser.616ace3c55d1
runBestPracticesAuditLighthouse best-practices audit of the current page: security, deprecated APIs and modern-web hygiene. Takes up to a minute and launches a separate headless browser.396ac52ec429

Lock these tools

Pin what @agentdeskai/browser-tools-mcp serves you today, commit the lock, and a pull request fails when a tool changes, with the text before and after. Pin the package version in your MCP config as well.

$ pip install verfy
$ verfy lock check --update   # shows each tool, then writes verfy.lock
$ git add verfy.lock
# .github/workflows/verfy.yml, after actions/checkout
- uses: anvarbekovjavohir277-dot/verfy-action@v1

Maintain this server? Run the same check on your releases and add the Locked by Verfy badge to your README.