{"_id":"@mseep/better-bear-mcp","name":"@mseep/better-bear-mcp","dist-tags":{"latest":"0.3.0"},"versions":{"0.3.0":{"name":"@mseep/better-bear-mcp","version":"0.3.0","description":"MCP server for Bear notes app via CloudKit","type":"module","license":"MIT","keywords":["mcp","bear","notes","cloudkit","claude","macos","mseep","mcp-server"],"engines":{"node":">=20.5.0"},"main":"./dist/index.js","exports":{".":"./dist/index.js"},"bin":{"better-bear-mcp":"dist/index.js"},"scripts":{"build":"tsup","test":"tsx --test tests/**/*.test.ts","lint":"eslint src scripts","lint:fix":"eslint src scripts --fix","postinstall":"node dist/postinstall.js"},"dependencies":{"@modelcontextprotocol/sdk":"^1.26.0","execa":"^9.6.1","zod":"^3.25.0"},"devDependencies":{"@eslint/js":"^10.0.1","@types/node":"^25.2.3","eslint":"^10.0.0","tar":"^7.0.0","tsup":"^8.5.1","tsx":"^4.21.0","typescript":"^5.9.3","typescript-eslint":"^8.56.0"},"publisher":"mseep","_id":"@mseep/better-bear-mcp@0.3.0","gitHead":"f992483606cba64f151e0afa408f71e83fdde770","_nodeVersion":"18.20.8","_npmVersion":"10.8.2","dist":{"integrity":"sha512-1DuhAuT/Oxp1oKJTZe8wHThtOunk06fRdYk0jxJieS2ogs1+8l2hiYtI03yxJgqbhZoayRsXDw710kXaaXJ10w==","shasum":"9cdc01806f4c790ab04488147f47ac96cd2ee647","tarball":"https://registry.npmjs.org/@mseep/better-bear-mcp/-/better-bear-mcp-0.3.0.tgz","fileCount":5,"unpackedSize":141921,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDEOdZWCwrlAMf+ODMCd0i10jiVKpBbEkcG6a4K+oLWEQIhAPUxacsP/ffJXJogEP+bbyCn6GdGXRaoAcyAhIS9WQoL"}]},"_npmUser":{"name":"skydeckai","email":"support@skydeck.ai"},"directories":{},"maintainers":[{"name":"skydeckai","email":"support@skydeck.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/better-bear-mcp_0.3.0_1782108206023_0.9439816887416861"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-22T06:03:25.873Z","0.3.0":"2026-06-22T06:03:26.154Z","modified":"2026-06-22T06:03:26.397Z"},"maintainers":[{"name":"skydeckai","email":"support@skydeck.ai"}],"description":"MCP server for Bear notes app via CloudKit","keywords":["mcp","bear","notes","cloudkit","claude","macos","mseep","mcp-server"],"license":"MIT","readme":"# better-bear-mcp\n\nMCP server that gives Claude access to your Bear notes.\n\nPowered by [better-bear-cli](https://github.com/mreider/better-bear-cli) (bcli), it exposes Bear's note operations as MCP tools over stdio transport.\n\n## Prerequisites\n\n- macOS (Bear is macOS-only)\n- [Bear](https://bear.app) installed with iCloud sync enabled\n- Node.js 20+\n- An iCloud account (for CloudKit authentication)\n\n## Installation\n\n**For Claude Desktop users** — just add the config below. `npx` handles the rest.\n\n**For development:**\n\n```bash\ngit clone https://github.com/darronz/better-bear-mcp.git\ncd better-bear-mcp\nnpm install\nnpm run build\n```\n\n## Authentication\n\nBear stores notes in iCloud via CloudKit. To access them, bcli needs a one-time CloudKit authentication token from Apple Sign-In.\n\n### Setup\n\n1. Run `bcli auth` in a terminal\n2. A browser window opens for Apple Sign-In — sign in with your iCloud account\n3. Terminal shows \"Authenticated successfully.\" when done\n4. Token is saved at `~/.config/bear-cli/auth.json` and persists across sessions\n\n### Alternative: Authenticate from Claude\n\nThe `bear_auth` MCP tool can trigger authentication directly from a Claude conversation. It opens the same browser flow without leaving your chat.\n\n### Headless / SSH environments\n\nIf you're running over SSH (no browser available), authenticate with a token directly:\n\n```bash\nbcli auth --token '<your-ckWebAuthToken>'\n```\n\n### Token expiry\n\nIf Bear operations start failing with \"Not authenticated\" or \"Auth token expired\" errors, re-run `bcli auth` or use the `bear_auth` tool.\n\n## Claude Desktop Setup\n\nAdd this to `~/Library/Application Support/Claude/claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"better-bear\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"better-bear-mcp\"]\n    }\n  }\n}\n```\n\nRestart Claude Desktop after editing the config.\n\n**For local development**, use the built output directly:\n\n```json\n{\n  \"mcpServers\": {\n    \"better-bear\": {\n      \"command\": \"node\",\n      \"args\": [\"/absolute/path/to/better-bear-mcp/dist/index.js\"]\n    }\n  }\n}\n```\n\n## Available Tools\n\n| Tool | Description |\n|------|-------------|\n| `bear_get_note` | Retrieve a note's full content by ID |\n| `bear_list_notes` | List notes with optional tag filter and limit |\n| `bear_search_notes` | Search notes by text query |\n| `bear_list_tags` | List all tags |\n| `bear_create_note` | Create a new note with title, body, and tags |\n| `bear_edit_note` | Append text to an existing note |\n| `bear_trash_note` | Soft-delete (trash) a note |\n| `bear_export_notes` | Export notes as Markdown files |\n| `bear_auth` | Trigger Apple Sign-In authentication |\n\n## Troubleshooting\n\n**\"Not authenticated\" or \"Auth token expired\"**\nRun `bcli auth` in a terminal or use the `bear_auth` tool.\n\n**Claude Desktop can't find the server**\nCheck that Node.js is in your PATH. The `npx` method is recommended — it handles installation automatically.\n\n**\"bcli binary not found\"**\nRun `npm install` to trigger the postinstall script that downloads bcli.\n\n## License\n\nMIT\n","readmeFilename":"README.md","_rev":"1-35fe6f112cd66f212128c0e633c2414c"}