A local MCP server for searching, reading, creating, and updating Bear Notes from compatible AI clients.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag โ we're steadily working through the catalog.
๐ก Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Claude Desktop Extension Bear Notes.
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

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.
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.
Prerequisites: Bear app must be installed and Claude Desktop must be installed.
Download the latest bear-notes-mcpb-*.mcpb extension file from Releases
Make sure your Claude Desktop is running (start if not)
Doubleclick on the extension file โ Claude Desktop should show you the installation prompt
If doubleclick does not work for some reason, then open Claude -> Settings -> Extensions -> Advanced Settings -> click "Install Extension".
DONE!
Ask Claude to search your Bear notes with a query like "Search my Bear notes for 'meeting'" - you should see your notes appear in the response!
Want to use this Bear Notes MCP server with Claude Code, Cursor, Codex, or other AI assistants?
Requirements: Node.js 24.13.0+
Add to your MCP configuration file:
More installation options and local development setup โ NPM.md
bear-open-note - Read the full text content of a Bear note by its ID or title, including OCR'd text from attached images and PDFsbear-create-note - Create a new note in your Bear library with optional title, content, and tagsbear-search-notes - Find notes by relevance across titles, body, and OCR-extracted text from attached images and PDFs. Use a phrase or a few keywords describing what you're looking for; results are ranked by relevance and each includes a context snippet. Also supports tag, date-range, and pinned-only filters โ combine with a search term or use them on their own to browse.bear-add-text - Insert text at the beginning or end of a Bear note, or within a specific section identified by its header. Requires the note's current revision token (the Revision: N line from your last response that referenced it); writes against a stale revision are rejected with an instruction to re-read with bear-open-note before retrying.bear-replace-text - Replace content in an existing Bear note โ either the full body or a specific section. Requires the note's current revision token (the Revision: N line from your last response that referenced it); writes against a stale revision are rejected with an instruction to re-read with bear-open-note before retrying.bear-add-file - Attach a local file (image, PDF, document) to an existing Bear note by its ID or title. Bear extracts text from images and PDFs via OCR, making attachment content searchable. Requires the note's current revision token (the Revision: N line from your last response that referenced it); writes against a stale revision are rejected with an instruction to re-read with bear-open-note before retrying.bear-list-tags - List all tags in your Bear library as a hierarchical tree with note countsbear-find-untagged-notes - Find notes in your Bear library that have no tags assignedbear-add-tag - Add one or more tags to an existing Bear note. Requires the note's current revision token (the Revision: N line from your last response that referenced it); writes against a stale revision are rejected with an instruction to re-read with bear-open-note before retrying.bear-archive-note - Archive a Bear note to remove it from active lists without deleting itbear-rename-tag - Rename a tag across all notes in your Bear librarybear-delete-tag - Delete a tag from all notes in your Bear library without affecting the notesbear-capabilities - Report the current server mode (read-only or Edit Mode) and how to unlock additional capabilitiesEnable verbose logging for troubleshooting.
UI_DEBUG_TOGGLE=trueBy default, Bear places tags at the bottom of a note when created via API. Enable this option to place tags right after the title instead, separated by a horizontal rule.
[!TIP] This convention is disabled by default โ it's opt-in so existing behavior is preserved.
UI_ENABLE_NEW_NOTE_CONVENTION=trueExample standalone configuration with the convention enabled:
Factual signals from GitHub, npm, and our automated checks โ not a rating.
No reviews yet โ be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/vasylenko-claude-desktop-extension-bear-notes)<a href="https://allmcps.com/mcp/vasylenko-claude-desktop-extension-bear-notes"><img src="https://allmcps.com/api/badge/vasylenko-claude-desktop-extension-bear-notes?style=directory" alt="Claude Desktop Extension Bear Notes on AllMCPs" /></a>