MCP Bear MCP Server

Local setup required. This server has to be cloned and prepared on your machine before you register it in Claude Code.
1

Set the server up locally

Run this once to clone and prepare the server before adding it to Claude Code.

Run in terminal
pip install mcp-bear
2

Register it in Claude Code

After the local setup is done, run this command to point Claude Code at the built server.

Run in terminal
claude mcp add mcp-bear -- node "<FULL_PATH_TO_MCP_BEAR>/dist/index.js"

Replace <FULL_PATH_TO_MCP_BEAR>/dist/index.js with the actual folder you prepared in step 1.

README.md

Access and manage Bear Notes via the Model Context Protocol

MCP Bear

A Python-based Model Context Protocol (MCP) server that provides access to Bear Notes.

Bear stores notes in a SQLite database. This MCP server provides both read and write access to your notes. See: https://bear.app/faq/where-are-bears-notes-located

Features

Read Operations

  • Read all notes (active and archived) from Bear's SQLite database
  • Search notes by text content, tag, or unique ID
  • List all tags
  • Get notes by specific tag
  • Get archived notes separately

Note Management

  • Create new notes with title, content, and tags
  • Append, prepend, or replace text in existing notes
  • Archive/unarchive notes for organization
  • Move notes to trash

Tag Management

  • Add tags to existing notes
  • Rename tags across all notes
  • Open Bear showing notes with specific tag

Bear Integration

  • Open specific notes in Bear
  • Search within Bear app
  • All operations integrate seamlessly with Bear's UI

Write operations use Bear's official x-callback-url API for safe, reliable modifications.

Requirements

  • Python 3.10 or higher (tested with 3.14)
  • Bear note application (macOS)
  • Access to Bear database

Installation

Development Setup

# Clone the repository
git clone https://github.com/maxim-ist/mcp-bear.git
cd mcp-bear

# Install dependencies (using mise for Python version management)
mise install
mise exec -- python -m venv .venv
.venv/bin/pip install -e .

Install via pip (when published)

pip install mcp-bear

Claude Desktop Configuration

Add this to your claude_desktop_config.json:

Using Python directly

{
  "mcpServers": {
    "bear": {
      "command": "python",
      "args": [
        "-m",
        "mcp_bear.server"
      ],
      "env": {
        "PYTHONPATH": "/Users/YOUR_USERNAME/Work/mcp-bear/src"
      }
    }
  }
}

Using installed package

{
  "mcpServers": {
    "bear": {
      "command": "mcp-bear"
    }
  }
}

Available Tools

When the server is started, the following MCP tools become available:

Read Operations (Basic)

  • get_notes: Retrieves all non-archived notes
  • get_tags: Lists all tags
  • get_notes_like: Searches for notes containing specific text

Read Operations (Advanced)

  • get_note_by_id: Get a specific note by its unique identifier
  • get_notes_by_tag: Get all notes with a specific tag
  • get_archived_notes: Get all archived notes

Note Management

  • create_note: Create a new note with optional title, text, tags, and pin status
  • add_text: Add text to an existing note (append, prepend, or replace)
  • trash_note: Move a note to trash
  • archive_note: Archive a note (removes from main list, keeps searchable)
  • unarchive_note: Unarchive a note

Tag Management

  • add_tags: Add tags to an existing note
  • open_tag: Open Bear and show all notes with a specific tag
  • rename_tag: Rename a tag across all notes

Bear Integration

  • open_note: Open a specific note in Bear
  • search_bear: Open Bear and show search results for a term

All write operations use Bear's official x-callback-url scheme, which requires Bear to be installed and running.

Configuration

You can override the default Bear database path by setting the DB_ROUTE environment variable:

export DB_ROUTE="/path/to/custom/database.sqlite"

Development

Running the server directly

cd /Users/borag/Work/mcp-bear
.venv/bin/python -m mcp_bear.server

Testing with MCP Inspector

# Install the MCP inspector
pip install mcp-inspector

# Run the inspector
mcp-inspector python -m mcp_bear.server

Architecture

  • mcp_bear/server.py: Main MCP server implementation
  • mcp_bear/database.py: SQLite database access for read operations
  • mcp_bear/bear_url.py: Bear x-callback-url operations for write operations
  • Uses Python's built-in sqlite3 module (no native dependencies)

Security Note

This server uses parameterized SQL queries to prevent SQL injection attacks, improving upon the original TypeScript implementation.

License

ISC

Author

Bora Gonul me@boragonul.com

Tools (16)

get_notesRetrieves all non-archived notes
get_tagsLists all tags
get_notes_likeSearches for notes containing specific text
get_note_by_idGet a specific note by its unique identifier
get_notes_by_tagGet all notes with a specific tag
get_archived_notesGet all archived notes
create_noteCreate a new note with optional title, text, tags, and pin status
add_textAdd text to an existing note (append, prepend, or replace)
trash_noteMove a note to trash
archive_noteArchive a note
unarchive_noteUnarchive a note
add_tagsAdd tags to an existing note
open_tagOpen Bear and show all notes with a specific tag
rename_tagRename a tag across all notes
open_noteOpen a specific note in Bear
search_bearOpen Bear and show search results for a term

Environment Variables

DB_ROUTEPath to custom Bear database file

Configuration

claude_desktop_config.json
{"mcpServers": {"bear": {"command": "mcp-bear"}}}

Try it

Find all notes tagged with 'project-ideas' and summarize them.
Create a new note titled 'Meeting Notes' with the content from our current chat.
Search my Bear notes for any mention of 'budget' and list the titles.
Append the current summary to my 'Daily Journal' note.

Frequently Asked Questions

What are the key features of MCP Bear?

Read and write access to Bear Notes via SQLite and x-callback-url. Search notes by content, tag, or unique ID. Manage note lifecycle including creation, archiving, and trashing. Bulk tag management including adding and renaming tags. Deep integration with Bear app UI for opening notes and search results.

What can I use MCP Bear for?

Automating the creation of daily journal entries from AI-generated summaries. Quickly searching and retrieving specific project documentation stored in Bear. Organizing notes by programmatically adding or renaming tags across a large collection. Archiving old notes based on content analysis to keep the workspace clean.

How do I install MCP Bear?

Install MCP Bear by running: pip install mcp-bear

What MCP clients work with MCP Bear?

MCP Bear works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep MCP Bear docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare