Skip to main content
Glama
lukewilson2002

bear-mcp

README.md
# bear-mcp

MCP server for the [Bear](https://bear.app) note-taking app on macOS. Lets Claude read, search, create, and manage your Bear notes.

**Architecture**: Reads from Bear's SQLite database directly (fast, no UI interruption). Writes through Bear's `x-callback-url` scheme (safe for iCloud sync). No API token required.

## Requirements

- macOS with [Bear](https://bear.app) installed (tested with v2.6.7)
- [Bun](https://bun.sh) runtime

## Setup

```bash
git clone https://github.com/lukewilson/bear-mcp.git
cd bear-mcp
bun install
```

### Claude Code

Add to your project's `.mcp.json`:

```json
{
  "mcpServers": {
    "bear": {
      "command": "bun",
      "args": ["run", "/path/to/bear-mcp/src/index.ts"]
    }
  }
}
```

### Claude Desktop

Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "bear": {
      "command": "bun",
      "args": ["run", "/path/to/bear-mcp/src/index.ts"]
    }
  }
}
```

## Tools

| Tool | Description |
|------|-------------|
| `get_note` | Get full note content by UUID or title |
| `search_notes` | Search notes by keyword |
| `list_notes` | List notes with optional tag/status filters |
| `list_tags` | List all tags with note counts |
| `create_note` | Create a new note |
| `edit_note` | Append, prepend, or replace note content |
| `trash_note` | Move a note to trash |
| `archive_note` | Archive a note |
| `rename_tag` | Rename a tag across all notes |
| `delete_tag` | Delete a tag from all notes |

## Development

```bash
bun run dev          # Run with hot reload
bun run inspect      # Open MCP Inspector
bun run typecheck    # Type check
```