Claude-Desktop-Bridge
Local MCP server that gives Claude Desktop's Chat and Code tabs a shared, persistent note vault. Claude pulls only what it needs via five tools — save_note, get_notes, search_notes, update_note, delete_note — instead of re-deriving context after every tab switch.
Install
- Download
claude-desktop-bridge.mcpbfrom Releases. - Drag it onto the Claude Desktop window — or Settings → Extensions → Advanced settings → Install Extension…
- No configuration. The vault lives at
~/.claude-bridge/vault.db.
Tools
| Tool | Description |
|---|---|
save_note | Save a new note (title, content, optional tags, optional project) |
get_notes | Retrieve notes by id, tags, or project, most recent first |
search_notes | Full-text search over note titles and content |
update_note | Update an existing note's title, content, tags, or project |
delete_note | Permanently delete a note by id |
Notes carry an optional project field, so work across multiple codebases stays separated — each project's notes filter independently.
Use it
Talk normally in either tab — Claude calls the tools on its own when useful. You never invoke anything manually.
- Proactive, not automatic-automatic. Claude decides what's worth saving or searching — it's not logging every message. Say "remember this for later" when you want something kept.
- Tag by project when working across codebases, so a search in one repo's context doesn't surface another's notes.
- Chat tab "Projects" don't auto-link to a Code tab folder. Put it in that Project's Custom Instructions: "This project corresponds to the
my-repocodebase; use Claude-Desktop-Bridge withproject: 'my-repo'."
Where this works
| Surface | Works out of the box? |
|---|---|
| Claude Desktop — Chat tab | ✅ Yes |
| Claude Desktop — Code tab (local sessions) | ✅ Yes |
Standalone claude CLI (terminal, Desktop not required) | ⚠️ Needs one extra step |
| Claude Code on the Web / cloud sessions | ❌ Not available (local-only server) |
The standalone CLI doesn't read Desktop's extension config. Register it explicitly:
# macOS or WSL — imports every MCP server Desktop has configured
claude mcp add-from-claude-desktop
# Any platform, including Linux — register this repo's built server:
claude mcp add --scope user claude-desktop-bridge -- node /path/to/claude-desktop-bridge/server/index.js
--scope user makes it available in every terminal project. It reads the same ~/.claude-bridge/vault.db as the Desktop extension, so notes are shared.
Want notes to cost fewer tokens? cdb-companion compresses content before it hits
save_note/update_note.
Building from source
npm install
npm run build # bundles src/index.ts -> server/index.js
npm run pack # produces claude-desktop-bridge.mcpb
Requires Node.js 22+ (built-in node:sqlite). Claude Desktop's own Node runtime runs the extension — end users need no Node install. Gates: npm ci + npm test (see .github/workflows/npm-project.yml).
Configuration
- Vault →
~/.claude-bridge/vault.db(local SQLite). Uninstalling the extension keeps the file; notes persist until deleted viadelete_noteor by removing the file. - Network → none. No server component, no outbound requests, no analytics or telemetry.
Contribute
Open an issue to discuss before a PR. Edit src/index.ts — server/index.js is generated. PRs must pass npm ci + npm test.
License
MIT