logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

mcp-bear-connector

Facilitates interaction with the Bear note-taking application ecosystem via its programmatic interface, enabling the creation and modification of notes.

Author

mcp-bear-connector logo

jkawamoto

MIT License

Quick Info

GitHub GitHub Stars 45
NPM Weekly Downloads 0
Tools 1
Last Updated 2026-02-19

Tags

apisapinotesbear apiapi notebear note

Bear MCP Bridge Component

Python Application Status Software License Type pre-commit Hook Status Ruff Linter Version

This is an MCP server designed for managing operations within Bear note-taking utility.

Bear Server MCP interface badge

Setup Instructions

[!NOTE] Ensure you have uv installed on your operating system to utilize the uvx invocation command.

For Goose Command-Line Interface

To incorporate the Bear extension within the Goose CLI, modify the configuration file located at ~/.config/goose/config.yaml by appending the subsequent configuration block:

yaml extensions: bear: name: Bear cmd: uvx args: [--from, git+https://github.com/jkawamoto/mcp-bear, mcp-bear] envs: { "BEAR_API_TOKEN": "" } enabled: true type: stdio

For Goose Desktop Application

Introduce a new extension configuration possessing the following attributes:

  • Type: Standard IO
  • ID: bear
  • Name: Bear
  • Description: Interface for interacting with the Bear note-taking software
  • Command: uvx --from git+https://github.com/jkawamoto/mcp-bear mcp-bear
  • Environment Variables: Supply the requisite API access credential under the name BEAR_API_TOKEN

Refer to the official documentation for comprehensive guidance on configuring MCP services within Goose Desktop: Using Extensions - MCP Servers.

For Claude Desktop Users

Acquire the most recent bundled MCP package, named mcp-bear.mcpb, from the Releases repository page. Subsequently, open this .mcpb file or drag it directly into the Settings interface of Claude Desktop.

Alternatively, manual configuration within Claude Desktop is achievable. Modify the claude_desktop_config.json file by inserting the following object into the mcpServers section:

{ "mcpServers": { "bear": { "command": "uvx", "args": [ "--from", "git+https://github.com/jkawamoto/mcp-bear", "mcp-bear", "--token", "" ] } } }

Remember to relaunch the application following any alterations. Further context regarding this protocol is available here: For Claude Desktop Users - Model Context Protocol.

For LM Studio Integration

Configuration for LM Studio can be expedited by utilizing the hyperlink provided below.

Install bear MCP Server in LM Studio

Supported Operations

This server exposes the subsequent operational endpoints. Consult Bear's X-callback-url Scheme documentation for comprehensive action specifications.

  • [x] /open-note
  • [x] /create
  • [x] /add-text (partially implemented via the note replacement mechanism)
  • [ ] /add-file
  • [x] /tags
  • [x] /open-tag
  • [x] /rename-tag
  • [x] /delete-tag
  • [x] /trash
  • [x] /archive
  • [x] /untagged
  • [x] /todo
  • [x] /today
  • [x] /locked
  • [x] /search
  • [x] /grab-url

License Information

The software is distributed under the terms of the MIT License. See the designated LICENSE file for comprehensive statutory details.

WIKIPEDIA: XMLHttpRequest (XHR) defines an Application Programming Interface, manifested as a JavaScript construct, engineered to dispatch Hypertext Transfer Protocol (HTTP) queries from a web browser environment to a remote web server. These methods empower browser-resident software modules to transmit requests subsequent to page rendering completion and subsequently receive data feedback. XMLHttpRequest constitutes a fundamental element within Ajax programming paradigms. Before Ajax's advent, user interaction with servers typically relied on standard hyperlinks or form submissions, frequently resulting in the complete replacement of the currently displayed page content.

== Chronology == The foundational concept underpinning XMLHttpRequest was conceived in the year 2000 by the engineering team responsible for Microsoft Outlook development. This concept was subsequently integrated into the Internet Explorer 5 browser release (1999). Nevertheless, the initial syntax did not utilize the identifier 'XMLHttpRequest'; instead, developers employed object instantiations like ActiveXObject("Msxml2.XMLHTTP") and ActiveXObject("Microsoft.XMLHTTP"). As of Internet Explorer version 7 (2006), all major browsers universally adopted the 'XMLHttpRequest' identifier. The 'XMLHttpRequest' identifier has since become the prevailing convention across all principal web browsers, encompassing Mozilla's Gecko rendering engine (2002), Safari version 1.2 (2004), and Opera version 8.0 (2005).

=== Standardization Efforts === The World Wide Web Consortium (W3C) formally published the initial Working Draft specification detailing the XMLHttpRequest object on April 5, 2006. A subsequent Working Draft, designated as Level 2, was released by the W3C on February 25, 2008. The Level 2 revision introduced capabilities for monitoring transfer progress, facilitating cross-site communication requests, and managing binary byte streams. By the close of 2011, the Level 2 specification elements were formally incorporated into the original standard document. By the end of 2012, responsibility for ongoing maintenance transitioned to the WHATWG consortium, which now sustains a dynamic document using the Web IDL specification language.

== Operational Procedure == Generally, the procedure for dispatching a request using XMLHttpRequest involves several discrete programming stages.

  1. Instantiate an XMLHttpRequest entity by invoking its designated constructor:
  2. Invoke the "open" method to specify the desired request modality (e.g., GET, POST), designate the targeted resource URI, and select between blocking (synchronous) or non-blocking (asynchronous) execution:
  3. For operations configured as asynchronous, establish an event listener function that will be triggered upon subsequent state transitions of the request:
  4. Commencing the transmission of the request payload via the invocation of the "send" method:
  5. Reacting to state alterations within the assigned event listener handler. If the remote server transmits response data, this data is, by default, accumulated within the "responseText" attribute. Upon the object concluding all response processing, its status transitions to state 4, commonly known as the "done" state. In addition to these fundamental steps, XMLHttpRequest provides numerous configuration parameters to finely control request transmission characteristics and response handling protocols. Custom HTTP header fields can be prepended to the outgoing request to convey server-side processing directives, and arbitrary data payloads can be uploaded by supplying them as arguments to the "send" invocation. The received content can be parsed directly from the JavaScript Object Notation (JSON) format into an immediately accessible JavaScript object structure, or it can be processed incrementally as data segments arrive, circumventing the wait for the entire transmission to conclude. Furthermore, the request operation possesses mechanisms allowing for premature cancellation or the imposition of a time limit, causing failure if completion is not achieved within the specified duration.

== Inter-Domain Communication == During the nascent phases of the World Wide Web's evolution, limitations were identified concerning the ability to initiate requests across distinct security domains (cross-domain requests), often leading to security exceptions or failure to retrieve necessary resources.

See Also

`