bearnotes-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@bearnotes-mcpsearch notes for 'project plan'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
bearnotes-mcp
A tiny local MCP server that lets any local MCP client on macOS — Claude Code, Claude Desktop, Cursor, VS Code — read and edit your Bear notes: search, read, create, append, and overwrite (e.g. tick a checkbox).
No Bear API token is needed. Reads use Bear's local database (opened
read-only); writes use Bear's bear://x-callback-url scheme. Neither requires a
token, and nothing here ever touches the network.
Requirements
macOS with Bear installed and opened at least once (the database only exists after Bear has run).
uv — install with
curl -LsSf https://astral.sh/uv/install.sh | sh(orbrew install uv).
No Python setup, no token.
Related MCP server: Bear App MCP Server
Install — Claude Code
1. Warm the cache (first run downloads ~30 packages — may take a minute; ends with selfcheck ok):
uvx bearnotes-mcp --selfcheck2. Register — one command, at user scope so it's available in every project:
claude mcp add bear -s user -- uvx bearnotes-mcp3. Verify:
claude mcp list # → bear: ✔ ConnectedIf the very first connect times out, just retry (the cache is warm after one attempt), or start Claude once with
MCP_TIMEOUT=60000 claude.
Install — Claude Desktop, Cursor, VS Code
Add an mcpServers entry. Use the full path to uvx — GUI apps don't see
your shell PATH (which uvx, e.g. /opt/homebrew/bin/uvx):
{
"mcpServers": {
"bear": {
"command": "/opt/homebrew/bin/uvx",
"args": ["bearnotes-mcp"]
}
}
}Claude Desktop — Settings → Developer → Edit Config (creates
~/Library/Application Support/Claude/claude_desktop_config.json); paste, then fully quit and restart. Logs:~/Library/Logs/Claude/mcp-server-bear.log.Cursor — same block in
~/.cursor/mcp.json.VS Code (Copilot) —
.vscode/mcp.json, but the top-level key isservers(notmcpServers).Windsurf / Cline / Zed / LM Studio — same stdio pattern; check their docs for the exact file.
Cannot work: claude.ai in the browser, mobile apps, remote/hosted connectors, and non-Mac machines — they can't spawn a local process, and Bear lives only on your Mac.
Latest main without waiting for a release (builds from GitHub each install):
claude mcp add bear -s user -- uvx --from git+https://github.com/samcrudge/bearnotes-mcp bearnotes-mcpClone it to read/hack the code first:
git clone https://github.com/samcrudge/bearnotes-mcp
claude mcp add bear -s user -- uv --directory /absolute/path/to/bearnotes-mcp run bearnotes-mcpTo point at a non-default Bear database, add -e BEAR_DB=/path/to/database.sqlite
to the claude mcp add command.
How it works
Reads — Bear's local SQLite DB, opened read-only (
mode=ro).Writes — Bear's
x-callback-urlscheme (create,add-textinappend/replace_allmode).
The DB is never written directly (that corrupts Bear's sync). Before any
full-body overwrite, the note's current text is snapshotted to
~/.bear-mcp-backups/ as a timestamped .md file.
Tools
Tool | What it does |
| Search non-trashed notes, optional tag filter (incl. subtags); returns id, title, tags, pinned, modified |
| Full note + tags, pinned, and open/done checkbox counts |
| Every tag with its live-note count |
| Notes linking to this one, and notes it links to (Bear |
| Create a new note |
| Append to a note |
| Prepend to a note (after the title line) |
| Overwrite a note's entire text; backs up first |
| Check/uncheck one checkbox line by substring ( |
| Open and focus a note in the Bear app |
Resources (read-only, @-mentionable): bear://notes (index of recent notes) and bear://note/{id} (a note's full text).
What this can access
Once connected, the client can read every non-trashed note (encrypted notes
are refused) and create, append to, or overwrite notes. Everything runs
locally with no network calls; the database is opened strictly read-only;
and before any full-body overwrite the current text is backed up to
~/.bear-mcp-backups/. Tools carry MCP annotations (reads marked read-only,
replace_note marked destructive) so clients can surface the right warnings.
Troubleshooting
First connect times out — retry (cache is warm now), or
MCP_TIMEOUT=60000 claude.Desktop fails instantly —
"command"must be the full path touvx(which uvx).No notes found — open Bear at least once so its database exists.
License
Apache-2.0. See LICENSE.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityCmaintenanceAn MCP server that integrates Bear Note Taking App with Claude Desktop, allowing Claude to read, create, search notes and manage tags directly from Bear.71MIT
- AlicenseAqualityDmaintenanceA Model Context Protocol server that integrates with Bear App, enabling AI assistants to create, search, modify, and organize notes and tags through X-callback-URL scheme.16301ISC
- AlicenseAqualityDmaintenanceA Python-based MCP server that provides read and write access to Bear Notes on macOS using SQLite for data retrieval and x-callback-url for modifications. It enables users to search, create, archive, and manage notes and tags directly through a Model Context Protocol interface.161ISC
- AlicenseAqualityBmaintenanceMCP server for Bear notes via CloudKit. Full CRUD, tags, search, TODOs, attachments, and a context library for curated LLM knowledge bases.3564MIT
Related MCP Connectors
Search, read, and write your Apple Notes from ChatGPT/Claude via a local Mac agent + MCP relay.
Remote MCP server for full read/write access to a Zotero library
MCP-native open-source Notion alternative: read & write pages, databases and kanban boards.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/samcrudge/bearnotes-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server