claude-desktop-extension-bear-notes

作者 vasylenko已验证

Claude Desktop extension with bundled MCP Server for Bear note taking app

151
Stars
12
Forks
TypeScript
语言
2026/8/23
添加时间

⚠️ 第三方软件声明

本 Skill 为第三方开源软件,独立托管于 GitHub。SkillTip 仅为信息目录,不控制或维护底层仓库。所显示的安全检查为自动化且范围有限,安装前请自行审查源码。

阅读服务条款

安装

添加到你的 Claude Code skills 目录:

# Add to your Claude Code skills
git clone https://github.com/vasylenko/claude-desktop-extension-bear-notes

快速入门

使用 claude-desktop-extension-bear-notes 等 Skills 的指南。

安全报告

已验证

上次扫描:—

{
  "status": "PASSED",
  "issues": []
}

README.md

Supply Chain Ask DeepWiki bear-notes-mcp MCP server

Buy Me a Coffee

Bear Notes MCP Server

An unofficial, opinionated MCP server for Bear Notes — built around relevance-ranked search instead of substring matching. Results come ranked across titles, bodies, and hierarchical tags, with snippets and combinable filters (tag, date, pinned). Reads run direct against Bear's SQLite database — no Bear app required for queries.

Writes route through Bear's own URL handler — atomic and validated by Bear. Offline-first: no network calls, no telemetry, all processing on your Mac. Works with any MCP client — Claude Desktop, Claude Code, Codex, Gemini, Cursor. Ships as a one-click .mcpb extension or a standalone npm package.

Example prompts:

Find the deep-dive I wrote on export pipelines, somewhere under #engineering/

Append today's decisions to the 'Decisions' section of my Weekly Ops note

Pull every note under #research/llm-evals into a survey outline

Find my notes tagged #blog/drafts and draft this week's post outline

✨ Key Features

  • Read-only by default — flip Edit Mode for writes. 4 tools always on (search, open, find untagged, list tags); 8 more in Edit Mode for create, edit, attach, tag, archive
  • Relevance-ranked search across titles, bodies, and tags — finds the right note, not just the ones that contained your literal words
  • Date-based search with relative dates ("yesterday", "last week", "start of last month")
  • Hierarchical tag management — view tags as a tree with note counts; rename or delete a tag across the whole library
  • Surgical writes — append at a specific heading or replace a section without rewriting the whole note
  • File attachments — attach images, PDFs, and documents up to 25 MB; symlinks rejected for safety
  • New note convention (opt-in) — place tags right after the title instead of at the bottom
  • Local-first — direct read-only SQLite reads, native node:sqlite, no network calls, no telemetry

[!NOTE] Complete privacy (except the data you send to your AI provider when using an AI assistant, of course): this server makes no external connections. All processing happens locally on your Mac using Bear's own database and API. There is no extra telemetry, usage statistics or anything like that.

👤 Who is this for

This is an unofficial, opinionated alternative to the native Bear MCP. It fits when:

  • You have years of notes and substring search isn't enough. Search ranks results by relevance — titles, bodies, and tag matches across the whole library — so the right note rises to the top, even when your phrasing has drifted.

  • You bounce between MCP clients. Stdio transport works with Claude Desktop, Claude Code, Codex CLI, Gemini, Cursor, Windsurf — anything that speaks MCP. No per-client glue code, no lock-in.

  • You want to query without pulling Bear forward. Reads run straight against Bear's SQLite database. No need to keep Bear open — or even running — for a quick lookup mid-conversation. (Writes still route through Bear, atomically.)

  • You manage tags across the whole library. Rename or delete a tag everywhere it appears, atomically. Hierarchical tag matching in search rolls up subtags automatically — work that's tedious through Bear's UI alone.

  • You care about supply-chain hygiene. Native node:sqlite — no unsigned third-party binaries, no Gatekeeper hassles. Network-free server: no remote-fetch tools, no prompt-injection surface.

If you have a small library and just want a quick notes integration, you may not need this yet.

📦 Installation

Claude Desktop Extension

Prerequisites: Bear app must be installed and Claude Desktop must be installed.

  1. Download the latest bear-notes-mcpb-*.mcpb extension file from Releases

  2. Make sure your Claude Desktop is running (start if not)

  3. Doubleclick on the extension file – Claude Desktop should show you the installation prompt

    If doubleclick does not work for some reason, then open Claude -> Settings -> Extensions -> Advanced Settings -> click "Install Extension".

  4. DONE!

Ask Claude to search your Bear notes with a query like "Search my Bear notes for 'meeting'" - you should see your notes appear in the response!

Standalone MCP Server

Want to use this Bear Notes MCP server with Claude Code, Cursor, Codex, or other AI assistants?

Requirements: Node.js 24.13.0+

Claude Code (one command)

claude mcp add -s user bear-notes -- npx -y bear-notes-mcp@latest

Other AI Assistants

Add to your MCP configuration file:

{
  "mcpServers": {
    "bear-notes": {
      "command": "npx",
      "args": ["-y", "bear-notes-mcp@latest"]
    }
  }
}

More installation options and local development setup — NPM.md

🛠️ Tools

  • bear-open-note - Read the full text content of a Bear note by its ID or title, including OCR'd text from attached images and PDFs
  • bear-create-note - Create a new note in your Bear library with optional title, content, and tags
  • bear-search-notes - Find notes by relevance across titles, body, and OCR-extracted text from attached images and PDFs. Use a phrase or a few keywords describing what you're looking for; results are ranked by relevance and each includes a context snippet. Also supports tag, date-range, and pinned-only filters — combine with a search term or use them on their own to browse.
  • bear-add-text - Insert text at the beginning or end of a Bear note, or within a specific section identified by its header. Requires the note's current revision token (the Revision: N line from your last response that referenced it); writes against a stale revision are rejected with an instruction to re-read with bear-open-note before retrying.
  • bear-replace-text - Replace content in an existing Bear note — either the full body or a specific section. Requires the note's current revision token (the Revision: N line from your last response that referenced it); writes against a stale revision are rejected with an instruction to re-read with bear-open-note before retrying.
  • bear-add-file - Attach a local file (image, PDF, document) to an existing Bear note by its ID or title. Bear extracts text from images and PDFs via OCR, making attachment content searchable. Requires the note's current revision token (the Revision: N line from your last response that referenced it); writes against a stale revision are rejected with an instruction to re-read with bear-open-note before retrying.
  • bear-list-tags - List all tags in your Bear library as a hierarchical tree with note counts
  • bear-find-untagged-notes - Find notes in your Bear library that have no tags assigned
  • bear-add-tag - Add one or more tags to an existing Bear note. Requires the note's current revision token (the Revision: N line from your last response that referenced it); writes against a stale revision are rejected with an instruction to re-read with bear-open-note before retrying.
  • bear-archive-note - Archive a Bear note to remove it from active lists without deleting it
  • bear-rename-tag - Rename a tag across all notes in your Bear library
  • bear-delete-tag - Delete a tag from all notes in your Bear library without affecting the notes
  • bear-capabilities - Report the current server mode (read-only or Edit Mode) and how to unlock additional capabilities

⚙️ Configuration

Debug Logging

Enable verbose logging for troubleshooting.

  • Claude Desktop: Settings → Extensions → Configure (next to Bear Notes) → toggle "Debug Logging" → Save → Restart Claude
  • Standalone MCP server: set environment variable UI_DEBUG_TOGGLE=true

New Note Convention

By default, Bear places tags at the bottom of a note when created via API. Enable this option to place tags right after the title instead, separated by a horizontal rule.

See note structure with this convention enabled
┌──────────────────────────────┐
│ # Meeting Notes              │  ← Note title
│ #work #meetings              │  ← Tags right after title
│                              │
│ ---                          │  ← Separator
│                              │
│ Lorem Ipsum...               │  ← Note body
└──────────────────────────────┘

[!TIP] This convention is disabled by default — it's opt-in so existing behavior is preserved.

  • Claude Desktop: Settings → Extensions → Configure (next to Bear Notes) → toggle "New Note Convention" → Save → Restart Claude
  • Standalone MCP server: set environment variable UI_ENABLE_NEW_NOTE_CONVENTION=true

Example standalone configuration with the convention enabled:

{
  "mcpServers": {
    "bear-notes": {
      "command": "npx",
      "args": ["-y", "bear-notes-mcp@latest"],
      "env": {
        "UI_ENABLE_NEW_NOTE_CONVENTION": "true"
      }
    }
  }
}

Edit Mode

Edit Mode unlocks all 8 write tools: create notes, add or replace text (full body or by section header), attach files, manage tags, archive. When off, the server is fully read-only — tools/list returns the 4 read tools (bear-open-note, bear-search-notes, bear-find-untagged-notes, bear-list-tags) plus bear-capabilities (a discovery tool that surfaces this unlock guidance for clients that drop the MCP instructions field). The LLM cannot mutate your library by mistake.

[!TIP] Edit Mode is off by default so the server is provably read-only out of the box. Turn it on when you're ready for writes — and only when.

  • Claude Desktop: Settings → Extensions → Configure (next to Bear Notes) → toggle "Edit Mode" → Save → Restart Claude
  • Standalone MCP server: set environment variable UI_ENABLE_CONTENT_REPLACEMENT=true

Example standalone configuration with Edit Mode enabled:

{
  "mcpServers": {
    "bear-notes": {
      "command": "npx",
      "args": ["-y", "bear-notes-mcp@latest"],
      "env": {
        "UI_ENABLE_CONTENT_REPLACEMENT": "true"
      }
    }
  }
}

Technical Details

This server reads your Bear Notes SQLite database directly for search/read operations and uses Bear's X-callback-URL API for write operations. All data processing happens locally on your machine with no external network calls.

Platforms Supported

macOS only because Bear desktop works only on macOS.

Logs

Claude Desktop:

  • MCP server logs go into ~/Library/Logs/Claude/main.log, look for bear-notes-mcp
  • MCP transport logs go to ~/Library/Logs/Claude/mcp-server-Bear\ Notes.log

Standalone MCP server:

  • Logs are written to stderr; enable debug logging with UI_DEBUG_TOGGLE=true

FAQ

Could this steal my data?

No. The server only reads Bear's local database (same data Bear app shows you) and uses Bear's native API to add text to the notes. No network transmission, no external servers.

Why SQLite and not just a native Bear app's x-callback-url API?

For read operations (search/open), the x-callback-url API returns the note data in x-success response: that would require a server or custom binary to handle x-success responses - both risky and fragile. Direct SQLite read-only access is simpler and more reliable for searching and reading notes.

Why native Node.js SQLite instead of third-party packages?

This avoids shipping an SQLite binary from third-party node packages, which poses supply chain risks and blocks the Claude Desktop extension from running on macOS.

Anthropic does not sign third-party SQLite binaries (obviously), causing macOS security systems to flag that the Claude process from a binary signed by Anthropic is trying to run another binary signed by a third party. As a result, Claude Desktop cannot run the extension.

When I install the extension, I see a red warning: "Installing will grant access to everything on your computer." - what does this mean?

This is how Claude for Desktop reacts to the fact that this extension needs access to the Bear SQLite database on your Mac.

Claude warning system does not distinguish between the need to access only one file (what the extension does) versus the need to access all files (this is NOT what the extension does).

One of the ways to validate this is asking your Claude to analyze the codebase (it is pretty small) before installing the extension and tell you.

How can I report a bug or contribute?

Use issues or discussions! I'd be glad to see your feedback or suggestions, or your help to make this project better! ❤️

Staying Up To Date

Consider subscribing to release announcements to know when a new version is released:

I also post to reddit.com/r/bearapp/ when there's a new release.

常见问题

What is claude-desktop-extension-bear-notes?

claude-desktop-extension-bear-notes is an open-source mcp servers skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by vasylenko. Claude Desktop extension with bundled MCP Server for Bear note taking app. It has 151 GitHub stars.

Is claude-desktop-extension-bear-notes safe to use?

claude-desktop-extension-bear-notes failed SkillsLLM's automated security scan, which flagged one or more high-severity issues. Review the Security Report section carefully before using it.

How do I install claude-desktop-extension-bear-notes?

Clone the repository with "git clone https://github.com/vasylenko/claude-desktop-extension-bear-notes" and add it to your Claude Code skills directory (see the Installation section above).

What programming language is claude-desktop-extension-bear-notes written in?

claude-desktop-extension-bear-notes is primarily written in TypeScript. It is open-source under vasylenko on GitHub, so you can review or fork the full source.

Are there alternatives to claude-desktop-extension-bear-notes?

Yes. SkillsLLM lists many other MCP Servers skills you can browse and compare side by side. Open the MCP Servers category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh claude-desktop-extension-bear-notes against similar tools.

评论 (0)

暂无评论,成为第一个分享想法的人!

n8n

by n8n-io

12

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

201,88160,308TypeScript
MCP 服务器apisai-tools
查看详情

Scrapling

by D4Vinci

🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!

75,9137,581Python
MCP 服务器
查看详情

TrendRadar

by sansan0

⭐AI-driven public opinion & trend monitor with multi-platform aggregation, RSS, and smart alerts.🎯 告别信息过载,你的 AI 舆情监控助手与热点筛选工具!聚合多平台热点 + RSS 订阅,支持关键词精准筛选。AI 智能筛选新闻 + AI 翻译 + AI 分析简报直推手机,也支持接入 MCP 架构,赋能 AI 自然语言对话分析、情感洞察与趋势预测等。支持 Docker ,数据本地/云端自持。集成微信/飞书/钉钉/Telegram/邮件/ntfy/bark/slack 等渠道智能推送。

61,65224,883Python
MCP 服务器
查看详情

context7

by upstash

Context7 Platform -- Up-to-date code documentation for LLMs and AI code editors

61,0602,938TypeScript
MCP 服务器
查看详情

High-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph — average repo in milliseconds. 158 languages, sub-ms queries, 99% fewer tokens. Single static binary, zero dependencies.

39,9393,219C
MCP 服务器
查看详情

开发者还喜欢

基于喜欢此 Skill 的开发者投票和收藏

ECC

by affaan-m

10

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

242,21936,702JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情
15

An agentic skills framework & software development methodology that works.

234,96620,863Shell
AI 智能体ai-agentsbrainstorming
查看详情

hermes-agent

by NousResearch

10

The agent that grows with you

234,43747,175Python
AI 智能体ai-agentsagent-orchestration
查看详情

n8n

by n8n-io

12

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

201,88160,308TypeScript
MCP 服务器apisai-tools
查看详情

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

185,94028,768JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情

cc-switch

by farion1231

3

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

128,8688,826Rust
AI 智能体claude-codeai-tools
查看详情