# Claude Desktop Bridge

> Save, search, and recall notes in the shared Claude-Desktop-Bridge knowledge vault (MCP tools save_note, get_notes, search_notes, update_note, delete_note) that both the Chat tab and Code tab read from. Use whenever the user asks to remember/save something for later, recall past research or decisions, or wants continuity across chat and code sessions. Also handles /claude-desktop-bridge as a quick "what's in the vault" command.

- Skill: `kimiguel/claude-desktop-bridge` (Agent Skill)
- Install (CLI): `npx skillmds@latest add kimiguel/claude-desktop-bridge`
- Raw SKILL.md: https://api.skillmd.com/api/skills/kimiguel/claude-desktop-bridge/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: KiMiGuel (https://skillmd.com/u/kimiguel)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/kimiguel/claude-desktop-bridge

---


Claude-Desktop-Bridge is a local MCP server (tools prefixed `mcp__Claude_Desktop_Bridge__` or similar depending on client) backing a shared SQLite vault at `~/.claude-bridge/vault.db`. Both the Chat tab and Code tab connect to the same server, so a note saved in one is immediately readable from the other.

## When to use it proactively

- **Before starting non-trivial research or repeating a topic**: call `search_notes` first to check whether relevant context already exists, instead of re-deriving it or asking the user to re-explain.
- **After landing on a decision, finding, or piece of context worth persisting** (not routine task chatter): call `save_note` with a short, specific `title` and a `content` body that stands alone without the current conversation for context.
- **Tags**: keep them short, kebab-case, and reuse existing ones — check `get_notes` (no filters) for a sense of what tags already exist before inventing new ones.
- Don't save routine/ephemeral task details, only things worth recalling in a future session.

## The `project` field

`save_note`, `get_notes`, `search_notes`, and `update_note` all accept an optional `project` string, used to scope notes to a specific codebase instead of dumping everything into one global pile.

- **In Claude Code (Code tab or CLI)**: fill it in yourself from context you already have — the current working directory's folder name, or the git repo name if that's more meaningful (e.g. `git remote get-url origin` basename). Do this automatically, without asking the user.
- **In Chat/Cowork (no working directory)**: omit `project` unless the user names one explicitly, or you're clearly continuing work on a specific codebase discussed earlier in the conversation.
- When browsing or searching for something the user described as related to "this project," pass `project` to narrow results.

## When invoked as `/claude-desktop-bridge`

- No argument: call `get_notes` with a small `limit` (e.g. 10) and present the results as a short list (title, tags, date).
- With an argument: treat it as a search query, call `search_notes`, and present matches.

## Tool reference

- `save_note({ title, content, tags?, project? })` → `{ id, title, created_at }`
- `get_notes({ id?, tags?, project?, limit?, offset? })` → single note (if `id` given) or a list, most recently updated first
- `search_notes({ query, project?, limit? })` → full-text search over title + content
- `update_note({ id, title?, content?, tags?, project? })` → partial update
- `delete_note({ id })` → permanent delete

