Fisher521

bookmarks-mcp

Community Fisher521
Updated

Local read-only MCP server: let your AI assistant read your browser bookmarks (Chrome, Edge, Brave, Arc, Vivaldi, Firefox, Safari incl. Reading List) and export files.

bookmarks-mcp

Your bookmarks, wherever they live, readable by your AI.

Everyone saves. Browsers, read-later apps, that Pocket export from 2023 —capture is a solved problem. Processing is not: the average bookmark is savedonce and never touched again. AI assistants are the first thing that canactually process a pile like that — summarize, triage, turn it into a to-dolist — but they can't see it.

This is a local, read-only MCP server that fixes the "can't see it" part.

One command in your MCP client config. Zero accounts. Nothing is ever sent to us.

Sources

Source How Notes
Chrome, Edge, Brave, Arc, Vivaldi, Chromium reads each profile's local Bookmarks file every profile auto-detected
Safari (macOS) reads ~/Library/Safari/Bookmarks.plist includes your Reading List; no extension can do this — Safari's extension API has no bookmarks surface
Firefox reads places.sqlite per profile needs Node ≥ 22.5 (built-in sqlite); degrades gracefully below
Export files Pocket CSV, Instapaper CSV, Raindrop CSV, browser HTML, URL lists via parse-bookmarks

Phone bookmarks: reachable once they sync to your desktop (iCloud → Safari onMac, Chrome sync → desktop profile). There is no way for any third-party toolto read Safari bookmarks directly on iOS.

Install

No account, no API key, no configuration — the server works the moment it'sinstalled.

Claude Code:

claude mcp add -s user bookmarks -- npx -y bookmarks-mcp

Use -s user. The scope defaults to local, which only registers the serverfor the directory you ran the command in. Your bookmarks aren't tied to oneproject, so register it account-wide.

Claude Desktop / Cursor / any MCP client (mcpServers JSON):

{
  "mcpServers": {
    "bookmarks": {
      "command": "npx",
      "args": ["-y", "bookmarks-mcp"]
    }
  }
}

To run from source instead (for development), clone this repo next to itsdependency parse-bookmarks (the two directories must be siblings), runnpm install in bookmarks-mcp, and point your client atnode /absolute/path/to/bookmarks-mcp/src/index.js.

macOS + Safari: the app hosting the server (Claude Desktop, your terminal)needs Full Disk Access (System Settings → Privacy & Security), because~/Library/Safari is protected. Chromium browsers and Firefox need nothing.

Tools

Tool What it does
list_sources every bookmark source found on this machine
list_bookmarks list, with folder filter + pagination
search_bookmarks search titles / URLs / folders / tags
recent_bookmarks "what did I save this week?"
bookmark_stats the state of the pile: counts, age distribution, top domains
parse_export_file parse a Pocket/Instapaper/Raindrop/HTML export from disk
export_bookmarks everything out as Markdown, CSV, JSON, or importable browser HTML
fetch_page_preview a few-hundred-token preview of a page (title, description, headings, excerpt) instead of the raw HTML — for when title/URL alone can't be triaged

Turn the pile into a to-do list

The reason this exists. Ask your assistant:

Look at my bookmark stats, then help me triage: which of these become deepreads, which are tools to try, which feed a project I'm working on, andwhich should I finally let go? Give me a checklist for this week.

Or use the built-in triage_bookmarks prompt, which walks through exactlythat — including asking you to define what your saves usually become, sothe lanes are yours, not ours.

Guarantees

  • Read-only. This server never writes to a browser file. There is nodelete tool. Your bookmarks cannot be harmed.
  • Zero phone-home. No telemetry, no accounts, and not a single byte sentto us. The server talks to exactly two places: your local bookmark files,and — only when you ask it to preview a page — the bookmarked site itself,directly from your machine.
  • Clean output. Tool results are data. No ads, no upsells, ever.

Design boundaries

These are deliberate, not gaps waiting to be filled. PRs that cross them willbe declined:

  • Preview-level extraction only. fetch_page_preview answers "is thisworth my time" — it is not a reader mode and never will be a full-fidelitycontent extractor.
  • Public web pages only. No proxies, no login walls, no special-casingfor X/YouTube/WeChat/etc. If a page needs auth to read, this tool isn't theway in.
  • On-demand only. Nothing fetches in the background, ever. Every networkcall is a direct response to a tool call you made.

Roadmap

  • Cloud sources behind user-supplied tokens (Raindrop, Readwise, …) — oneadapter per service. PRs welcome; an adapter is a single well-defined file.
  • Services that already ship their own MCP server don't need us — run bothservers and your assistant sees everything. We only cover the places thathave no other bridge.

Who makes this

Built by the team behind Burn 451, a read-laterapp. This server is deliberately neutral: it reads your bookmarks for whateverassistant and whatever workflow you choose, and it never writes to them.

License

MIT

MCP Server · Populars

MCP Server · New

    lyc403223157-source

    Knowledge Inbox

    Local-first knowledge ingestion for AI agents and Obsidian

    ipiton

    agent-memory-mcp

    MCP server that gives AI agents persistent memory with semantic search

    Community ipiton
    dialog-tools

    Dialog MCP Server

    Turn Reddit's chaos into structured insights with full citations. MCP server for competitive analysis, customer discovery, and market research. Zero-setup hosted solution with semantic search across 20,000+ subreddits.

    Community dialog-tools
    Bevel-Software

    hexis

    Git-backed skills, tools & context for AI agents

    Community Bevel-Software
    jonashertner

    OpenCaseLaw

    Open Swiss legal corpus + MCP server: 1M+ court decisions (1875–today), 21k laws, 10M-edge citation graph, 42 MCP tools. CC0 data, MIT code. Live at mcp.opencaselaw.ch

    Community jonashertner