bookmarks-mcp

bookmarks-mcp

A local, read-only MCP server that makes bookmarks from browsers, read-later apps, and export files accessible to AI assistants, enabling search, triage, and summarization without sending data anywhere.

Category
Visit Server

README

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 saved once and never touched again. AI assistants are the first thing that can actually process a pile like that — summarize, triage, turn it into a to-do list — 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 on Mac, Chrome sync → desktop profile). There is no way for any third-party tool to read Safari bookmarks directly on iOS.

Install

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

Claude Code:

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

Use -s user. The scope defaults to local, which only registers the server for the directory you ran the command in. Your bookmarks aren't tied to one project, 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 its dependency parse-bookmarks (the two directories must be siblings), run npm install in bookmarks-mcp, and point your client at node /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 deep reads, which are tools to try, which feed a project I'm working on, and which should I finally let go? Give me a checklist for this week.

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

Guarantees

  • Read-only. This server never writes to a browser file. There is no delete tool. Your bookmarks cannot be harmed.
  • Zero phone-home. No telemetry, no accounts, and not a single byte sent to 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 will be declined:

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

Roadmap

  • Cloud sources behind user-supplied tokens (Raindrop, Readwise, …) — one adapter 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 both servers and your assistant sees everything. We only cover the places that have no other bridge.

Who makes this

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

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured