claude-desktop-bridge
v1.0.0
Published
Shared local knowledge vault MCP server for Claude Desktop (Chat + Code)
Readme
Claude-Desktop-Bridge
Built for Claude Desktop users. If you only use the standalone
claudeCLI or Claude.ai in a browser, this isn't for you — skip to Where this works for the one exception.
The problem
Claude Desktop's Chat tab and Code tab live in the same app, one click apart. But they don't share a single byte of context.
Ask Claude something in Chat, switch to Code to actually build it — Claude in Code has no memory the conversation ever happened. Spend an hour in Code working through a decision, hop to Chat to think out loud about what's next — Chat starts from zero. Two tabs, one window, and no connection between them at all.
So close, yet so far. The workaround is re-explaining yourself every time you switch tabs — burning tokens and patience re-deriving context that existed ten seconds ago, one tab over.
The solution
Claude-Desktop-Bridge is a small local MCP server, installed once into Claude Desktop, that gives Chat and Code a shared, persistent knowledge vault. Save a note while working in Code, read it back in Chat five minutes later. Research something in Chat, recall it in Code without repeating yourself.
It's deliberately not a context dump. Instead of pasting whole documents or files into the conversation, Claude gets five narrow tools — save, retrieve, search, update, delete — so it pulls in only what's actually relevant, on demand, instead of loading everything every time.
| 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 can be tagged with an optional project field, so if you work across multiple codebases, the vault doesn't turn into one undifferentiated pile — each project's notes can be filtered independently.
Install
- Download
claude-desktop-bridge.mcpbfrom Releases. - Drag it onto the Claude Desktop window — or Settings → Extensions → Advanced settings → Install Extension…
- That's it. No configuration screen, nothing to fill in. The vault lives at
~/.claude-bridge/vault.db.
Use it
Once installed, just talk normally in either tab — Claude calls save_note, get_notes, search_notes, etc. on its own when it's useful, the same way it uses any other tool. You don't invoke anything manually.
A few things worth knowing:
- It's proactive, not automatic-automatic. Claude decides when something's worth saving or worth searching for — it's not logging every message. If you want something remembered, it helps to say so ("remember this for later").
- Tag by project if you work across multiple codebases. Ask Claude to filter by
projectwhen recalling notes, so a search in one repo's context doesn't surface notes from an unrelated one. - Chat tab "Projects" (claude.ai-style, with Custom Instructions) don't auto-link to a Code tab folder. There's no protocol-level way for Chat to know which codebase it corresponds to. If you want a Chat Project to stay in sync with a specific repo's notes, say so explicitly in that Project's Custom Instructions — e.g. "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, no filesystem/network access from the cloud) |
Chat and the Desktop Code tab both connect through the same install automatically — nothing extra to configure there.
The standalone terminal CLI (claude run directly, without the Desktop app open) doesn't read Desktop's extension config, so it won't see Claude-Desktop-Bridge unless you register it explicitly:
# macOS or WSL — imports every MCP server Desktop has configured
claude mcp add-from-claude-desktop
# Any platform, including Linux — register Claude-Desktop-Bridge directly,
# pointed at 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, not just the one you ran the command from. Once added, claude mcp list should show claude-desktop-bridge connected — and it reads from the same ~/.claude-bridge/vault.db the Desktop extension uses, so notes saved from the terminal and notes saved from Desktop are the same vault.
Want notes to cost fewer tokens? cdb-companion is a small companion skill that compresses content before it hits
save_note/update_note— drop it alongside this extension for a leaner vault.
Building from source
npm install
npm run build # bundles src/index.ts -> server/index.js
npm run pack # produces claude-desktop-bridge.mcpbRequires Node.js 22+ (for the built-in node:sqlite module). Claude Desktop's own built-in Node.js runtime is used automatically when the installed extension runs — end users don't need Node installed separately.
Privacy Policy
Claude-Desktop-Bridge runs entirely on your own machine and makes no network requests.
- Data collection: Claude-Desktop-Bridge does not collect any data. No analytics, telemetry, or crash reporting of any kind.
- Usage and storage: Notes you save (titles, content, tags, and project labels) are stored exclusively in a local SQLite database at
~/.claude-bridge/vault.dbon the device where the extension is installed. - Third-party sharing: No data is ever transmitted anywhere. Claude-Desktop-Bridge has no server component and makes no outbound network connections.
- Data retention: Notes persist in the local database until you delete them (via the
delete_notetool) or delete the database file yourself. Uninstalling the extension does not delete the database file. - Contact: For questions about this policy, open an issue on this repository.
License
MIT
