Claude-Desktop-Bridge
# 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
1. Download `claude-desktop-bridge.mcpb` from [Releases](https://github.com/KiMiGuel/Indepentest-CDB/releases/latest).
2. Drag it onto the Claude Desktop window — or Settings → Extensions → Advanced settings → Install Extension…
3. 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-repo` codebase; use Claude-Desktop-Bridge with `project: '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:
```bash
# 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](https://github.com/KiMiGuel/indepentest-skills/tree/main/cdb-companion) compresses content before it hits `save_note`/`update_note`.
## Building from source
```bash
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 via `delete_note` or 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
TDQS
Scored across 5 tools
Each tool has a distinct role: save creates, get_notes lists/retrieves by metadata, search_notes handles full-text lookup, update edits, and delete removes. The boundary between get_notes and search_notes is explicitly clarified in the descriptions.
All tools follow a clear verb_note/notes pattern with lowercase snake_case. The only minor inconsistency is singular 'note' for create/update/delete versus plural 'notes' for read/search, but the convention remains predictable.
Five tools is a well-scoped set for a note vault, covering all essential operations without redundancy or bloat. Each tool serves a necessary function.
The tool surface provides full CRUD coverage for notes, plus search for discovery. There are no obvious missing operations for the stated domain of persisting and retrieving shared notes.