An MCP server that integrates Bear notes with Claude Code.
This server uses a hybrid approach for best performance and safety:
| Operation | Method | Why |
|---|---|---|
| Read (search, get, list) | SQLite | Fast, reliable, no UI interaction |
| Write (create, append, trash) | URL scheme | Safe, uses Bear's official API |
cd bear-notes-mpc-server
bun installAdd the MCP server using the Claude Code CLI:
claude mcp add --transport stdio --scope user bear -- bun run /absolute/path/to/bear-mcp-server/src/server.tsNote: Replace the path with the actual absolute path to your
bear-mcp-serverdirectory.
Scope options:
--scope user- Available in all Claude Code sessions (recommended)--scope local- Only available in the current project directory--scope project- Creates.mcp.jsonfor team sharing via git
Check configured servers:
claude mcp listView server details:
claude mcp get bearOnce the MCP server is configured, simply start a new Claude session:
claudeClaude will automatically start the Bear MCP server and you'll have access to all Bear tools.
The MCP server runs as a subprocess of Claude Code and automatically stops when you exit Claude.
To permanently remove the server:
claude mcp remove bear| Tool | Description |
|---|---|
bear_create_note |
Create a new note with optional tags |
bear_search |
Search notes by text or tag |
bear_get_note |
Get full content of a note by ID |
bear_append |
Append text to an existing note |
bear_replace_content |
Replace the entire content of an existing note |
bear_list_tags |
List all tags with note counts |
bear_list_by_tag |
List all notes with a specific tag |
bear_trash_note |
Move a note to trash |
Once the server is running, you can ask Claude things like:
- "Search my Bear notes for 'project ideas'"
- "List all my tags in Bear"
- "Create a new note titled 'Meeting Notes' with today's date"
- "Show me all notes tagged with 'work'"
- "Append this summary to my 'Daily Log' note"
The server automatically finds Bear's database in one of these locations:
- iCloud sync:
~/Library/Group Containers/9K33E3U3T4.net.shinyfrog.bear/Application Data/database.sqlite - Local storage:
~/Library/Containers/net.shinyfrog.bear/Data/Documents/Application Data/database.sqlite
Logs are written to stderr, which Claude Code captures automatically.
To enable debug logging, add the server with the --env flag:
claude mcp add --transport stdio --scope user --env BEAR_MCP_LOG_LEVEL=debug bear -- bun run /absolute/path/to/bear-mcp-server/src/server.tsLog levels: debug, info (default), warn, error
On first run, macOS may ask for Automation permissions to allow the server to open Bear URLs.
"Bear database not found"
- Make sure Bear is installed and has been opened at least once
Notes not appearing after create
- Bear may take a moment to sync. The note is created via URL scheme and may not immediately appear in SQLite queries.
Permission denied on database
- The database is opened in read-only mode. If you still get errors, check that Bear isn't currently writing to the database.
MCP server not connecting
- Verify the path in your config is correct
- Run
claude mcp listto check if the server is configured - Ensure Bun is installed and available in your PATH