Bear Notes MCP Server
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






