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)
Search and read the web pages and highlights you saved with the Markpin Chrome extension.
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.
You 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": {
"markpin": {
"command": "npx",
"args": [
"-y",
"@markpin/mcp",
"--dir",
"your-value"
]
}
}
}Run this in your terminal
claude mcp add markpin -- npx -y @markpin/mcp --dir your-valueThis one needs values on its command line, so copy the settings and fill them in.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"markpin": {
"command": "npx",
"args": [
"-y",
"@markpin/mcp",
"--dir",
"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 needs values on its command line, so copy the settings and fill them in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"markpin": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@markpin/mcp",
"--dir",
"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.
These 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 against the domain markpin.dev (the registry checks domain ownership)
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.10.0) reached the registry 7 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 server for a Markpin folder. Markpin is a Chrome extension that saves web pages and clips as Markdown files in a folder you own — this server lets an AI client (Claude Code, Claude Desktop, Cursor, Codex, Gemini CLI, VS Code, Windsurf, Zed, or any other MCP client) search and read those files, and optionally edit them with your confirmation.
--allow-write and a confirmation dialog for every change.node -v).npx -y @markpin/mcp --dir "<your Markpin folder>"
Options:
| Flag | Meaning | ||||||
|---|---|---|---|---|---|---|---|
--dir | Required. The Markpin folder (the one that contains pages/). ~ is expanded. | ||||||
--allow-write | Registers the fourteen write tools. Without it the server is read-only. | ||||||
| `--lang ko\ | en\ | ja\ | es\ | pt-BR\ | de\ | fr` | Language of the confirmation dialog. Default: taken from your system locale (pt* → pt-BR), otherwise en. The Markpin extension's setup guide fills this in from your Chrome language. |
On success the server logs serving N pages from to stderr. stdout carries the MCP protocol, so all logs go to stderr — that line is the quickest way to check the path.
The folder must contain a pages/ directory. If it doesn't, the extension hasn't uploaded anything there yet — save a page in Chrome first.
Local folder — the folder you picked in Markpin settings.
Google Drive — Drive for Desktop mirrors your Drive to disk. The Markpin folder sits at the top of *My Drive*, whose name follows your Google account language — My Drive (en), 내 드라이브 (ko), マイドライブ (ja), Mi unidad (es), Meu Drive (pt-BR), Meine Ablage (de), Mon Drive (fr):
~/Library/CloudStorage/GoogleDrive- /My Drive/MarkpinG:\My Drive\Markpin (the drive letter can differ — check File Explorer)The Markpin settings page in Chrome has an MCP setup guide button that fills these paths (and --lang) in for you.
Replace with your folder path. Add --allow-write at the end of the arguments if you want the write tools.
claude mcp add -s user markpin -- npx -y @markpin/mcp --dir "<dir>"
-s user registers it for every project; drop the flag to keep it to the current directory only.
Then claude mcp list should show markpin: … - ✓ Connected.
Edit the config file (Claude → Settings → Developer → Edit Config):
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
{
"mcpServers": { "markpin": { "command": "npx", "args": ["-y", "@markpin/mcp", "--dir", " "] } } }
Windows (Claude Desktop spawns without a shell, so npx needs cmd /c; escape backslashes in the path):
{
"mcpServers": { "markpin": { "command": "cmd", "args": ["/c", "npx", "-y", "@markpin/mcp", "--dir", "G:\\My Drive\\Markpin"] } } }
Restart Claude Desktop. The hammer/plug icon in the chat box lists the Markpin tools.
Add the same JSON to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project), then enable the server in Cursor Settings → MCP.
codex mcp add markpin -- npx -y @markpin/mcp --dir "/path/to/Markpin"
All three share ~/.codex/config.toml. Check with codex mcp list.
gemini mcp add markpin npx -- -y @markpin/mcp --dir "/path/to/Markpin"
Server flags go after -- so Gemini doesn't read them as its own options. Saved to ~/.gemini/settings.json; check with gemini mcp list.
.vscode/mcp.json in the project, or the user mcp.json opened by MCP: Open User Configuration. Note the key is servers and stdio needs type:
{
"servers": { "markpin": { "type": "stdio", "command": "npx", "args": ["-y", "@markpin/mcp", "--dir", "/path/to/Markpin"] } } }
Same JSON as Claude Desktop (mcpServers) in ~/.codeium/windsurf/mcp_config.json (Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json), then refresh under Settings → MCP.
~/.config/zed/settings.json (Windows: %APPDATA%\Zed\settings.json). The key is context_servers, hand-added servers need source: "custom", and the command is nested:
{
"context_servers": { "markpin": { "source": "custom", "command": { "path": "npx", "args": ["-y", "@markpin/mcp", "--dir", "/path/to/Markpin"] } } } }
Anything that speaks MCP over stdio works. Paste the same command (npx) and args (-y @markpin/mcp --dir …) into that client's MCP settings. On Windows, clients that spawn without a shell need cmd /c npx … (see the Claude Desktop note above).
Each page is one Markdown file. The frontmatter holds only the human-facing keys (title, url, savedAt, tags, summary, readAt, deletedAt) so note apps such as Obsidian show a clean Properties panel. Everything Markpin needs internally (id, rev, updatedAt, clips with their anchors, bookmark) lives in a one-line JSON block at the very end of the file:
Do not edit that block by hand. Files written before 0.7.0 (markpin: 1 in the frontmatter) are still read; they are rewritten in the new shape the next time anything changes them.
markpin.json (Markdown template)The extension writes markpin.json at the folder root when you pick a Markdown template or turn on .trash/ in its options. This server reads it on start and on every rescan, and renders the files it writes with the same template (default or obsidian, or a custom template string), so pages saved through MCP look like the ones saved from the browser. Only the body below the frontmatter changes; the frontmatter is always Markpin's own. Moving deleted files to .trash/ is done by the extension, not by this server.
--allow-writeWithout --allow-write the server exposes four read tools and cannot change any file. With it, fourteen write tools are added. Every write passes three gates:
delete_pages as destructive), so clients such as Claude Code ask before each call.delete_pages) are applied without the dialog and carry "gate": "trusted"; it resets when the client restarts, and the client's own permission prompts are unaffected. If the client cannot show that dialog, the result carries "gate": "client" so the assistant can tell you that the client's own prompt was the only confirmation.When one request needs several writes — merging tags, clipping three passages — the assistant is told to use retag or batch so you confirm once with a numbered list instead of once per write.
The confirmation waits up to 10 minutes. A save_page fetch happens only after you accept, so a declined URL is never requested.
Read (always):
| Tool | What it does |
|---|---|
search | Full-text search over titles, content, clipped text, notes and tags. Empty query = most recent, optionally filtered by tags. bookmarked: true = only pages with a reading bookmark. |
get_page | One page in full by id or URL: metadata, tags, summary, content, clips with notes and colors, bookmark, file path, image paths. |
list_recent | Most recently updated pages. bookmarked: true = pages with a reading bookmark, newest bookmark first. |
list_tags | Every tag with its page count. |
Write (--allow-write):
| Tool | What it does |
|---|---|
save_page | Saves a URL as a new page (fetches and extracts the article unless you pass content). Takes an optional summary (one or two sentences) and tags — the assistant is asked to supply both whenever it has read the page, since Markpin's built-in AI only runs for pages saved from the browser. One page per URL — an existing page is returned unchanged. |
update_tags | Adds and/or removes tags on one or more pages. |
retag | Renames, merges or removes tags across every page in one confirmation: changes: [{ from, to? }], applied in order; omit to to remove the tag. Matching ignores case. |
batch | Runs up to 50 write tools (any except batch) in order after one confirmation that lists every change. Every op is validated and planned first; one bad op rejects the whole batch. Stops at the first failure and returns each op's result plus completed; an op that would change nothing is not run and comes back as skipped: true. Ops must reference pages that already exist. |
add_clip | Adds a quoted text clip, with an optional note, highlight color (amber, green, blue, pink), reaction mark kind (question, insight, disagree, star) and pen shape (highlight, underline, wavy, double, strike, box, circle, lasso), to a page. |
set_clip_note | Replaces the note on a clip (empty clears it). |
set_summary | Replaces a page's summary (empty clears it). Handy for pages saved without one. |
set_note | Sets the reader's own one-line note on a page (frontmatter note; empty clears it). |
mark_skimmed | Marks a page as skimmed (skimmedAt); removes its bookmark and read mark. |
delete_pages | Marks pages deleted. The Markpin extension keeps them for 30 days and can restore them; this server never deletes files. |
restore_pages | Brings back pages deleted within the last 30 days. |
set_bookmark | Puts the reading bookmark on a page — from the start, or at a quote from the content to resume there. Replaces any existing bookmark and clears the read mark. |
clear_bookmark | Removes the bookmark without marking the page read. |
mark_read | Marks a page as read and removes its bookmark. |
Every write returns a note and a gate field ("elicitation" when you confirmed in the dialog, "trusted" when you had ticked *Don't ask again on this connection*, "client" when only the client's prompt stood between the assistant and the write). update_tags, retag, set_clip_note, set_summary and set_note also return before/after; the others return the affected page(s). batch returns { results, completed, gate }, where results lists each op in order as { tool, ok: true, result }, { tool, ok: true, skipped: true } or { tool, ok: false, error } (nothing after a failed op), and completed counts the ops that ran and succeeded.
drive.file scope), so save_page writes new pages to inbox.jsonl in your Markpin folder and the extension turns them into page files on its next sync. The extension creOnly the beginning is shown; read the rest in the repo