A better CLI (in response to reddit post)

In response to this Reddit post I built a new CLI that uses Apple’s CloudKit REST API to read / write / edit / search bear notes instead of using the x-callback API or the SQLite database.

It will work much better for LLM interactions, and is less fragile than either of the options I listed above.

Try it out and let me know how it goes.

2 Likes

I saw the thread you started on Reddit last week, and was very intrigued by the idea of being able to iteratively interface directly between claude and my bear notes library by just using natural language within the claude app.

forgive the ignorance of these questions, I’m a bear maximer with very limited coding experience, but does BCLI require and MCP to be utilized with Claude Desktop or is it just intended to be used with the Claude API in a terminal? If it is meant to be used with Claude Desktop have you already created an MCP to make that possible, or is that something I’d need to have cluade help me create?

One of the things that stood out to me about the solution you’re working on is that it focuses on ensuring robustness no matter how complex the task is, but I’m wondering how to tell what level of complexity of tasks might cause issues? If my needs are less complex would an existing solution like THIS be just fine for me?

This is awesome @mreider — I’ll give a whirl. Had a question related to it, as I don’t use the web version of Bear: Is full-text search supported? Or is that not available via the web? Thanks in advance.

I’d start with the claude desktop Bear extension here, see how it goes, continue from there if you want to.

My project might not be relevant to you or your life.

To answer your question, though, my CLI could / can be used from an MCP server but it doesn’t have to be. I saw someone incorporated it into an MCP here.

1 Like

̶T̶h̶e̶ ̶s̶e̶a̶r̶c̶h̶ ̶f̶u̶n̶c̶t̶i̶o̶n̶a̶l̶i̶t̶y̶ ̶l̶o̶o̶k̶s̶ ̶t̶h̶e̶ ̶s̶a̶m̶e̶ ̶b̶e̶t̶w̶e̶e̶n̶ ̶d̶e̶s̶k̶t̶o̶p̶ ̶a̶n̶d̶ ̶w̶e̶b̶,̶ ̶a̶n̶d̶ ̶t̶h̶e̶r̶e̶f̶o̶r̶e̶ ̶m̶y̶ ̶C̶L̶I̶ ̶t̶a̶k̶e̶s̶ ̶a̶d̶v̶a̶n̶t̶a̶g̶e̶ ̶o̶f̶ ̶i̶t̶.̶

Sorry, the web app and my CLI only search tags. Searching the body of each note is not performant via web.

The latest version of the CLI now downloads and syncs things with a local cache that can be searched locally. The release notes are here.

1 Like

thanks for the advice, and for sharing your work!

I updated better-bear-mcp to v0.2.2 to pull in the latest version of bcli.

One thing I wish it could do is toggle the status of a TODO list item (this is a limitation of Bear rather than bcli). I implemented full body replacement and am testing if this works.

1 Like

Well, there is the To Do view, and I see the web view supports it. Sure, you’ll need to parse the page, update the checkbox, but you could likely list all the TO-DO’s from that list and ask the user which to check off and take care of it.

P̶u̶l̶l̶ ̶r̶e̶q̶u̶e̶s̶t̶s̶ ̶a̶r̶e̶ ̶e̶n̶c̶o̶u̶r̶a̶g̶e̶d̶

Latest release does what you’re saying.

1 Like