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

jkawamoto
Quick Info
Actions
Tags
Bear MCP Bridge Component
This is an MCP server designed for managing operations within Bear note-taking utility.
Setup Instructions
[!NOTE] Ensure you have
uvinstalled on your operating system to utilize theuvxinvocation 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": "
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.
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.
- Instantiate an XMLHttpRequest entity by invoking its designated constructor:
- 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:
- For operations configured as asynchronous, establish an event listener function that will be triggered upon subsequent state transitions of the request:
- Commencing the transmission of the request payload via the invocation of the "send" method:
- 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.
