Hi! I'm the developer of the Bear Notes Claude Extension - sharing how I use it

Hi everyone :waving_hand:

I’m Serhii, the developer behind the Bear Notes Claude Extension that was discussed here back in September. I wanted to introduce myself, share why I built it and how I actually use it, and ask the community about their experience connecting Bear to AI-assistants.

Why I built it

I’ve been a Bear user for years, and I use Tiago Forte’s PARA methodology to organize everything – work projects, learning notes, and personal knowledge. When Claude Desktop launched extensions, I immediately wanted Claude to work with my notes directly. No other solution existed, so I built one.

What it does (v2.2.0)

The extension lets Claude search, read, create, and update your Bear notes:

  • Search notes by content or tags

  • Manage tags: list tags, add tags to notes

  • Read full note content

  • Create new notes

  • Append/prepend text to existing notes

  • Attach files (images, PDFs, etc.)

All operations are local-only – no data leaves your machine.

How I actually use it

Some real workflows from my daily usage:

  1. Weekly reviews – “Search my Bear notes tagged #work-log from this week and summarize what I accomplished”

  2. Knowledge synthesis – “Find all my notes about [topic] and help me identify gaps or contradictions”

  3. Quick capture – “Create a new note with tag #inbox containing these meeting notes”

  4. Note updates – “Append this summary to my note titled ‘Project X’”

Installation

Download the .mcpb file from releases, double-click, done. Works with Claude Desktop on macOS.

Also available as a standalone MCP server if you want to use it with Claude Code:

claude mcp add bear-notes --transport stdio -- npx -y bear-notes-mcp@latest

Happy to answer any questions or hear how others might want to use it! Are you using any AI tools with your Bear notes? I’m curious what workflows others have found useful.

7 Likes

Hi, Serhii. Thanks for your contribution to Claude and Bear!

I’d like to share an example of how I used your extension with Claude Desktop.

I typically don’t tag my notes, preferring to find things using the Search feature (or x-callback). That really works well for the way I work and think. I’ve tried to utilize tags for decades now, ever since they were added to the Finder in macOS, but I could never justify the time it took to define a tag taxonomy and then apply that consistently across hundreds of notes (or files in the Finder).

I decided I’d try an experiment with your extension and a collection of 755 notes I had imported into Bear from ChatGPT. I tagged all of those notes with a #chatgpt tag for organizational purposes and thought I’d let your extension analyze that collection and propose a tagging taxonomy for my review.

I started off with this prompt:

using my bear notes, find all the notes with the tag ‘chatgpt’, then analyze them and suggest a hierarchy of nested tags. Don’t actually add the tags, but give me a list of your suggestions with the count of notes for each. Use all 755 notes with that tag for your analysis and suggested nested tag hierarchy.

I should mention that I don’t write precise prompts for Claude, mostly because I’m lazy. [I have ample evidence of why precise prompts really matter, but that’s not the point of this posting.]

Anyway, your extension found, read, and analyzed the notes in Bear that I had tagged with #chatgpt and, using pattern matching, was then able to propose a tagging structure.

I reviewed the proposed structure, suggested changes, and Claude refined the process and generated an improved taxonomy. Without much effort, we arrived at a workable structure.

I made a backup of Bear and asked Claude to add the proposed tags to those 755 notes as proposed by the prior analysis. It took a few iterations (restoring from the backup before each iteration) before Claude and I arrived at a reasonable structure, even including some precise details of just exactly how and where to place the tag (or tags) in the note.

The time spent on iterating with Claude was orders of magnitude less than it would have been had I done the analysis and tagging myself.

When finished, I asked Claude to generate a tag cloud diagram of the notes it had tagged. The results were impressive and gave me an easy visualization of the categories of conversations I had had with ChatGPT. I could see at a glance what kinds of information I was seeking from AI agents.

I’ve also used the extension for more mundane tasks such as “put this conversation in a note with Bear entitled ‘How I made a fortune using Bear’”, but I thought the tagging exercise was worth mentioning. I’d encourage others to install your extension and give it a try on their own Bear notes.

[Tip: before any operation where you ask Claude to modify existing notes, make a Bear backup so that you can immediately restore from the backup if you’re not happy with the outcome.]

2 Likes

@alanG Alan, thanks for sharing this in such detail – the tag taxonomy workflow is a use case that hits exactly the list of things I was thinking when developing the extension, and your description with numbers (755 notes, wow!) makes it very tangible.

Question: when you mentioned needing iterations and restoring from backup – was that mainly about refining the taxonomy itself, or were there issues with how Claude executed the tagging (wrong placement, missed notes, inconsistent behavior across the batch)? Trying to understand if there’s something I can improve in the extension versus expected LLM trial-and-error.

Hi @vasylenko , first of all thank you so much for creating this.

I wanted to share a small bit of feedback, as a privacy-minded user.
The GitHub description suggests that everything runs locally (which I believe it does) - but doesn’t clarify that of course all the content of your data will be sent to the LLM, which in my opinion defeats (some of) the purpose.

Have you explored how to run open source models locally at all by chance?

Thanks again and keep up the great work!

Hi @Winson! Valid feedback – I should clarify this in the README. “Local-only” refers to the extension’s operations (no external servers beyond what the AI client already uses), but you’re right that note content gets sent to whatever LLM you’re using.
The Claude Desktop extension is designed specifically for Claude, so data goes to Anthropic same way as any other part of the chat there.
However, the standalone MCP server (bear-notes-mcp on npm) works with any MCP-compatible agent. If you’re running a local model through something like Ollama with an MCP-capable frontend, it should work – though I haven’t tested that setup myself. If you try it, I’d be curious to hear how it goes.
I’ll update the README to make this distinction clearer. Thanks for flagging it.

I just tried this and I like it. Out of curiosity, has anything been developed like this but specific to Apple Notes?

Thank you for giving it a try,@vamp07! Was there anything in particular that was good for you or something not so?

As for your question, yes, there is for sure. You can actually find one if you open Claude and go to Settings → Extensions → Browse.

There were iterations refining the taxonomy where I did not allow Claude to make any changes.

There were iterations while I attempted to train Claude on where I wanted any new tag(s) to appear. I used only a single note or two for these iterations until the final format with the new tags was what I wanted.

Then I made a backup of Bear and turned Claude loose on tagging the notes. In spite of my best efforts in training Claude on the new format, I saw some variances after several notes were tagged. I’d stop the process if I saw formatting errors creeping in, restore Bear from a backup, try to refine the prompt to correct the format, ask Claude to show me a sample, and run again. IIRC, there were two or three of these iterations.

The issue I had was not really with the suggested taxonomy, or the improvements made with each iteration – it was more about the mechanics of modifying the notes to appear in the format I wanted. I did not want the default result of Bear adding new tags to the bottom of the note.

I would chalk this up to my habit of not writing bullet-proof, no-detail-left-unstated prompts for Claude. The conversational style of Claude Desktop (and ChatGPT) makes falling into an iterative process very easy.

HTH. I’m very happy with the structure and have been using and adding to it ever since.

FWIW, the format I wanted (and got Claude plus your extension) to eventually produce was:

# <existing title>
---
<put new tag(s) here>
---
<remove a blank line found at the top of every note's body>
<the original note body>

This looks super compelling and I appreciate your work in putting it together and for sharing it with the community. However I do feel hesitant about using it since it directly accesses your database. In your experience how safe has it been? Have you experienced any corruption of your database? Of course I would regularly backup before any usage either way but just curious.

I have been using it for a few weeks now with good results. I will say that I don’t use it frequently as I am on the free tier for Claude, and I haven’t asked it to change the structure of my notes or tags. I am typically asking it to find and review information from existing notes and then asking it to create a new note with whatever output I am asking for.

As long as you are backing up your data, I would suggest starting small and gradually expand from there.

1 Like

@alanG Thanks for the detailed breakdown. Good to know the extension itself worked as expected – the iterations were about prompt precision and formatting preferences, which is normal LLM workflow.

The tag placement challenge you described is a common need, I prefer this format too. Your final format template could actually make a default behavior for the new note, I will try to implement that!

@pk37 Fair concern – here’s how the extension handles it:

Read operations (search, open note): Direct SQLite access, but read-only. The extension never writes to the database file.

Write operations (create note, add text, add tags, attach files): All go through Bear’s official x-callback-url API. The extension hands off to Bear itself, which handles the database writes.

So the extension never modifies the database directly. The “direct database access” is only for reading, which can’t cause corruption.

I’ve been using it daily since September’25 with ~500 notes, no corruption. No users have reported database issues either. That said, your backup habit is smart regardless – Bear makes it easy with Shortcuts app if you want some automation (check it on macOS!).

1 Like

@uberhosen Thanks for sharing your experience – good to know it works well on the free tier too! Appreciate the testimonial!

1 Like

Appreciate the response and your explanation of how it functions makes sense. I have used it already with both the extension for Claude desktop and as a standalone server for Gemini CLI and haven’t had any issues so far. I have around 2,300 notes in Bear. It has really opened up a new way to interact with my notes. Thanks again for your work and sharing with the community. I’m still wrestling with what types of ai usage are actually helpful and healthy in the long run. There’s a lot of benefit in the manual work of creating, curating, reviewing, and connecting notes yourself.

1 Like