Bear Notes MCP Server
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
An unofficial, opinionated MCP server for Bear Notes — built around relevance-ranked search instead of substring matching. Results come ranked across titles, bodies, and hierarchical tags, with snippets and combinable filters (tag, date, pinned). Reads run direct against Bear's SQLite database — no Bear app required for queries.
Writes route through Bear's own URL handler — atomic and validated by Bear. Offline-first: no network calls, no telemetry, all processing on your Mac. Works with any MCP client — Claude Desktop, Claude Code, Codex, Gemini, Cursor. Ships as a one-click **.mcpb extension** or a standalone **npm package**.
Example prompts:
> Find the deep-dive I wrote on export pipelines, somewhere under #engineering/
> Append today's decisions to the 'Decisions' section of my Weekly Ops note
> Pull every note under #research/llm-evals into a survey outline
> Find my notes tagged #blog/drafts and draft this week's post outline
✨ Key Features
- **Read-only by default — flip Edit Mode for writes.** 4 tools always on (search, open, find untagged, list tags); 8 more in Edit Mode for create, edit, attach, tag, archive
- **Relevance-ranked search** across titles, bodies, and tags — finds the right note, not just the ones that contained your literal words
- **Date-based search** with relative dates ("yesterday", "last week", "start of last month")
- **Hierarchical tag management** — view tags as a tree with note counts; rename or delete a tag across the whole library
- **Surgical writes** — append at a specific heading or replace a section without rewriting the whole note
- **File attachments** — attach images, PDFs, and documents up to 25 MB; symlinks rejected for safety
- **New note convention** (opt-in) — place tags right after the title instead of at the bottom
- **Local-first** — direct read-only SQLite reads, native node:sqlite, no network calls, no telemetry
> [!NOTE]
> Complete privacy (except the data you send to your AI provider when using an AI assistant, of course): this server makes no external connections. All processing happens locally on your Mac using Bear's own database and API. There is no extra telemetry, usage statistics or anything like that.
👤 Who is this for
This is an unofficial, opinionated alternative to the native Bear MCP. It fits when:
- **You have years of notes and substring search isn't enough.** Search ranks results by relevance — titles, bodies, and tag matches across the whole library — so the right note rises to the top, even when your phrasing has drifted.
- **You bounce between MCP clients.** Stdio transport works with Claude Desktop, Claude Code, Codex CLI, Gemini, Cursor, Windsurf — anything that speaks MCP. No per-client glue code, no lock-in.
- **You want to query without pulling Bear forward.** Reads run straight against Bear's SQLite database. No need to keep Bear open — or even running — for a quick lookup mid-conversation. (Writes still route through Bear, atomically.)
- **You manage tags across the whole library.** Rename or delete a tag everywhere it appears, atomically. Hierarchical tag matching in search rolls up subtags automatically — work that's tedious through Bear's UI alone.
- **You care about supply-chain hygiene.** Native node:sqlite — no unsigned third-party binaries, no Gatekeeper hassles. Network-free server: no remote-fetch tools, no prompt-injection surface.
If you have a small library and just want a quick notes integration, you may not need this yet.
📦 Installation
Claude Desktop Extension
**Prerequisites**: Bear app must be installed and Claude Desktop must be installed.
1. Download the latest bear-notes-mcpb-*.mcpb extension file from Releases
2. Make sure your Claude Desktop is running (start if not)
3. Doubleclick on the extension file – Claude Desktop should show you the installation prompt