Skip to content

mreider/better-bear

Repository files navigation

better bear

Build Release npm License: MIT Buy Me A Coffee

MCP server and CLI for Bear notes via CloudKit. Includes a context library — a curated, synced folder of notes optimized for LLM consumption, inspired by Karpathy's LLM Knowledge Base pattern.

Full docs: better-bear.com

Install

Install the CLI, then connect to Claude:

curl -sL https://raw.githubusercontent.com/mreider/better-bear-cli/main/install.sh | bash
bcli auth
bcli mcp install

This installs the bcli binary, authenticates with iCloud, and sets up the MCP server for both Claude Desktop (via .mcpb bundle) and Claude Code.

Other install methods

Method Command
Claude Desktop only bcli mcp install --desktop-only
Claude Code only bcli mcp install --code-only
Claude Code (direct) claude mcp add better-bear -- npx -y better-bear
Config file bcli mcp install --json
.mcpb bundle Download from latest release and double-click

Manage

bcli mcp status      # check what's configured
bcli mcp uninstall   # remove from Claude Desktop and Claude Code
bcli mcp reinstall   # clean uninstall + install
bcli upgrade         # upgrade bcli binary

CLI

All commands also work standalone from the terminal:

bcli ls                          # list notes
bcli search "query"              # full-text search
bcli create "Title" -b "Body"    # create a note
bcli edit <id> --append "text"   # append to a note
bcli tags                        # list all tags
bcli attach <id> photo.jpg       # attach a file
bcli stats                       # library statistics
bcli health                      # health check

See better-bear.com for the full command reference.

Context Library

Turn a subset of your Bear notes into a synced, curated context folder that Claude can navigate using index-first retrieval. Tag notes with #context in Bear, sync, and Claude reads a compact index to find relevant files — loading only what it needs, not everything.

bcli context init                          # one-time setup
bcli context sync                          # pull qualifying notes
bcli context add <id> --subtag research    # tag a note for inclusion
bcli context status                        # health check

Or tell Claude: "Set up a context library" — and it handles everything via MCP tools.

The architecture follows Karpathy's three-folder pattern: bear/ (synced from CloudKit), external/ (PDFs, exports, shared docs), and inbox/ (drop zone for triage). An index.md manifest maps everything. See better-bear.com for full documentation.

MCP Tools

34 tools covering notes, tags, TODOs, attachments, search, front matter, stats, health checks, and the context library. See the MCP server README for the full list.

Contributors

mreider program247365 asabirov darronz