Skip to main content
Glama
caelum29

chrome-bookmarks-mcp

by caelum29

chrome-bookmarks-mcp

Work in progress — walking skeleton. Tools land slice by slice; see docs/milestones/.

An MCP server that gives Claude read/write access to Chrome (and Brave/Edge) bookmarks for agentic reorganisation: tree analysis, folder-structure proposals, batch move/rename/delete plans with snapshots and rollback, deduplication, dead-link detection, and stale-bookmark detection via Chrome's History database.

Architecture

Claude Desktop / Claude Code
        ⇅ stdio (MCP)
  packages/mcp-server   (Node.js / TypeScript, SDK-free tool seam)
        ⇅ WebSocket on 127.0.0.1:<PORT>   (localhost only)
  packages/extension    (Manifest V3 service worker)
        ⇅ chrome.bookmarks API
  Live Chrome — changes visible instantly, sync-safe

Writes go only through the extension (chrome.bookmarks); Chrome's Bookmarks file is never written. Reads currently parse the Bookmarks file; live reads through the extension arrive with a later milestone.

Related MCP server: Chrome Bookmark MCP Server

Tools

Tool

Kind

What it answers

bookmarks_status

read

browser/profile, Bookmarks file found?, bridge connected?, writes enabled?

bookmarks_tree

read

folder outline with counts (no URLs), from roots or a folder guid, depth-limited

Write tools (planned: plan_*, apply_plan, rollback) are hidden unless BOOKMARKS_ENABLE_WRITE=1; each defaults to dryRun: true and snapshots first. See docs/adr/0002-write-path-and-safety.md.

Quick start (Claude Code, from this repo)

pnpm install && pnpm build

.mcp.json in the repo root registers the server as chrome-bookmarks. Ask: "what's the state of my bookmarks bridge?"bookmarks_status. For live access load the extension: chrome://extensions → Developer mode → Load unpacked → packages/extension/dist.

Config (env): BOOKMARKS_BROWSER (chrome|brave|edge) · BOOKMARKS_PROFILE (Default) · BOOKMARKS_WS_PORT (48765; the extension reads chrome.storage.local.wsPort, default 48765) · BOOKMARKS_ENABLE_WRITE · BOOKMARKS_FILE (override path) · BOOKMARKS_LOG_LEVEL.

Development

./init.sh            # deps, typecheck, build, smoke
pnpm verify          # typecheck + lint + test — the only definition of "done"
make ext             # build the unpacked extension → packages/extension/dist
pnpm -F @chrome-bookmarks-mcp/server inspect   # MCP Inspector

How this repo is developed with agents: CLAUDE.md (rules), CONTEXT.md (vocabulary), docs/adr/ (decisions), docs/milestones/ (the one active plan), docs/blessed-paths/ (recipes), .claude/ (permissions, hooks, subagents, path-scoped rules).

AI attribution

AI-generated lines are tracked with Git AI via git notes (git log --show-notes=ai, git ai stats).

License

MIT

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    An MCP server that allows Claude Desktop to access and manage Raindrop.io bookmarks through natural language commands, supporting operations for collections, raindrops, and tags.
    12
    7
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol (MCP) server implementation that provides seamless integration between Chrome bookmarks and AI assistants. This server enables AI models to access, search, analyze, and manage Chrome bookmarks through a standardized protocol.
    2
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Fully local, privacy-first MCP server that turns exported X/Twitter bookmarks into a searchable, enriched knowledge base for Claude Desktop and Claude Code.
    2
    MIT