Browser Use
Lets AI do web tasks for you, such as filling forms, searching and extracting data, in the maker’s cloud browsers or on your computer.
Description from the maker (original English)
Work visual annotations on a live webpage: watch, acknowledge, resolve, reply, or leave your own.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
MARKLAYER_ROOM, MARKLAYER_API_BASE, MARKLAYER_AGENTYou need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"marklayer": {
"command": "npx",
"args": [
"-y",
"marklayer-mcp"
],
"env": {
"MARKLAYER_ROOM": "your-value",
"MARKLAYER_API_BASE": "your-value",
"MARKLAYER_AGENT": "your-value"
}
}
}
}Run this in your terminal
claude mcp add marklayer --env MARKLAYER_ROOM=your-value --env MARKLAYER_API_BASE=your-value --env MARKLAYER_AGENT=your-value -- npx -y marklayer-mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"marklayer": {
"command": "npx",
"args": [
"-y",
"marklayer-mcp"
],
"env": {
"MARKLAYER_ROOM": "your-value",
"MARKLAYER_API_BASE": "your-value",
"MARKLAYER_AGENT": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"marklayer": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"marklayer-mcp"
],
"env": {
"MARKLAYER_ROOM": "your-value",
"MARKLAYER_API_BASE": "your-value",
"MARKLAYER_AGENT": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
MARKLAYER_ROOM envMARKLAYER_API_BASE envMARKLAYER_AGENT envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026
The registry name was verified with the GitHub account thevrus, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.6.1) reached the registry 6 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Browser Use, Chrome DevTools MCP, MCP Server Browser
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Lets AI do web tasks for you, such as filling forms, searching and extracting data, in the maker’s cloud browsers or on your computer.
Lets AI use Chrome’s developer tools to inspect pages, find what makes them slow and spot errors. Made by the Chrome DevTools team.
MCP server for browser use access
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
MCP (Model Context Protocol) server that bridges MarkLayer annotations to AI coding agents.
When users annotate any webpage with MarkLayer, your agent receives the comments as a structured work queue: it can acknowledge, resolve, dismiss, and reply to each one — and the human sees the status updates live. It also works the other way: point an agent at a room and ask it to review the page, and it can leave its own comments and copy-edit suggestions for the human to triage.
You may not need to. Every MarkLayer share link is already a remote MCP server at the same address plus /mcp, so a client that supports remote (Streamable HTTP) servers connects with nothing installed:
claude mcp add --transport http marklayer https://marklayer.app/s/abc123/mcp
Append ?agent=cursor, or any name, so the people in the room see who is working; it defaults to agent. That endpoint is bound to its room, so it has every tool below except marklayer_connect_room.
This package is the stdio version of the same tools, with no Claude-specific wiring. Use it when a client cannot reach remote servers, or when you want one install that covers every room (Claude Code, Cursor, Windsurf, VS Code, Codex CLI, etc.):
# Claude Code:
claude mcp add marklayer -- npx -y marklayer-mcp
claude mcp add marklayer -- npx -y marklayer-mcp --room https://marklayer.app/s/abc123
For any other MCP client, add a stdio server entry pointing at the same command (adjust the config file/key to your client — Cursor's ~/.cursor/mcp.json, Windsurf's mcp_config.json, VS Code's .vscode/mcp.json, etc.):
{
"mcpServers": { "marklayer": { "command": "npx", "args": ["-y", "marklayer-mcp"], "env": { "MARKLAYER_AGENT": "cursor" } } } }
Set MARKLAYER_AGENT (or --agent) to identify which agent this is — it's what humans see as the comment author and the "assigned to" badge, so a non-Claude client should not leave it at the default.
In your agent prompt:
Watch my MarkLayer annotations. For each one, acknowledge it, make the fix, then resolve it with a summary.
The agent will call marklayer_watch_annotations in a loop and process incoming feedback as it arrives.
| Tool | Description |
|---|---|
marklayer_connect_room | Connect to a room by share URL or bare id. |
marklayer_room_info | Page URL, viewport width, timestamps. |
marklayer_read_page | The page's headings, text, links and controls, with selectors. Lets the agent review a page nobody has annotated yet. |
marklayer_list_annotations | List annotations, optionally filtered by status. |
marklayer_get_annotation | Full detail + reply thread for one annotation. |
marklayer_watch_annotations | Block until new annotations arrive, return a batch. |
marklayer_acknowledge | Mark in-progress and tag with this agent. |
marklayer_resolve | Mark resolved, optionally posting a reply with the summary. |
marklayer_dismiss | Mark dismissed with a reason the human will see. |
marklayer_reply | Post a reply without changing status (e.g. clarifying questions). |
marklayer_create_annotation | Leave a new comment yourself — proactive feedback rather than a response. |
marklayer_suggest_edit | Propose an exact copy/grammar fix for a piece of text, as a diff the human can accept. |
marklayer_share_preview | Open a new review room on a URL you built and connect to it. Same repo + branch as the room you are in (or previous) makes it the next version. |
marklayer_set_next_steps | Publish an ordered checklist, each step linked to annotation ids. Replaces the previous list. |
marklayer_complete_next_step | Tick a step off; reviewers see it live. |
marklayer_ask | Put a 2-6 option poll to the room. One vote per reviewer, revotable. |
marklayer_get_feedback | One read: annotation counts by status, open annotations, checklist progress, poll tallies. |
--room <url-or-id> Connect at startup; otherwise call marklayer_connect_room.
--api-base Override worker URL (default https://marklayer.app). --agent Identifier shown to humans (default "claude-code").
Equivalent env vars: MARKLAYER_ROOM, MARKLAYER_API_BASE, MARKLAYER_AGENT.
"Connection closed" on first start. npx -y downloads the package on the first run, and a cold download can outlast the MCP client's startup timeout. Prime the cache once (npx -y marklayer-mcp --help) and reconnect, or install it up front with npm i -g marklayer-mcp and point the client at the binary.
Tools return "room is not connected". The WebSocket dropped — rooms are held open by a Durable Object and a long-idle agent can be disconnected. Call marklayer_connect_room with the same URL to reattach.
This server *consumes* an existing share link. To *mint* one (or many) from code — e.g. seed a room per page in a batch of URLs before pointing the agent at it — POST directly to the public HTTP API:
curl -X POST https://marklayer.app/api/$ID \
-H 'Content-Type: application/json' \ -d '{"ops":[],"url":"https://example.com/page-1","width":1440,"expires_in":2592000}'
For a review room on a preview build, POST /api/$ID/preview takes { url, title, repo?, branch?, sha?, note?, questions?, previous? } and never overwrites an existing id. Versions chain only through previous, a room you already hold: two rooms are never linked by repo and branch alone, because the version switcher shows each room's neighbours. marklayer_share_preview calls this route over stdio; over HTTP (/s/:id/mcp) it creates the room in the Worker, chains from the room in the URL, and returns an mcpUrl to reconnect to, since that endpoint stays bound to its own room.
$ID is caller-supplied (use nanoid / crypto.randomUUID() — it's the access token). No auth, no SDK. Full details: https://marklayer.app/llms-full.txt