mcp-bear-note-manager
Interface with the Bear note-taking application ecosystem via its established API mechanisms. Facilitates programmatic note creation, retrieval, and modification within Bear.
Author

jkawamoto
Quick Info
Actions
Tags
Bear MCP Server Implementation
This project serves as a Model Context Protocol (MCP) service endpoint designed for seamless interaction with the Bear markdown-based note organizer.
Setup Instructions
[!IMPORTANT] Utilization of the
uvxcommand requires theuvpackage manager to be installed on your operating environment.
Integration with Goose CLI
To incorporate this functionality into the Goose Command Line Interface, modify your Goose configuration file located at ~/.config/goose/config.yaml by appending the following declaration:
yaml
extensions:
bear:
name: Bear
cmd: uvx
args: [--from, git+https://github.com/jkawamoto/mcp-bear, mcp-bear]
envs: { "BEAR_API_TOKEN": "
Goose Desktop Configuration
A new extension entry must be created with these specified parameters:
- Protocol Type: Standard Input/Output (stdio)
- Unique Identifier (ID): bear
- Display Name: Bear
- Functionality Summary: Facilitating control over the Bear note-taking application.
- Execution Path:
uvx --from git+https://github.com/jkawamoto/mcp-bear mcp-bear - Environment Secrets: Provision the
BEAR_API_TOKENvariable along with your personal access credential.
For comprehensive guidance on integrating external MCP services within Goose Desktop, consult the official documentation: Using Extensions - MCP Servers.
Claude Desktop Deployment
Acquire the most recent compiled MCP package, named mcp-bear.mcpb, from the Releases Repository. Subsequently, either double-click the downloaded .mcpb file or drag it directly into the Settings pane within Claude Desktop.
Alternatively, manual configuration within Claude Desktop is possible by editing the claude_desktop_config.json file and inserting this object into the mcpServers section:
{
"mcpServers": {
"bear": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/jkawamoto/mcp-bear",
"mcp-bear",
"--token",
"
Ensure you reload or restart the Claude Desktop application after modification. Further details regarding this protocol are available at: For Claude Desktop Users - Model Context Protocol.
LM Studio Integration
To streamline the setup process for LM Studio, initiate the configuration using the provided deep link button:
Supported Operations
This service exposes the following capabilities, aligning with Bear's X-callback-url Scheme documentation:
- [x] /open-note
- [x] /create
- [x] /add-text (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
Licensing
This software is distributed under the terms of the MIT License. Full details are provided in the LICENSE file.
WIKIPEDIA: A headless browser is a web browser without a graphical user interface. Headless browsers provide automated control of a web page in an environment similar to popular web browsers, but they are executed via a command-line interface or using network communication. They are particularly useful for testing web pages as they are able to render and understand HTML the same way a browser would, including styling elements such as page layout, color, font selection and execution of JavaScript and Ajax which are usually not available when using other testing methods. Since version 59 of Google Chrome and version 56 of Firefox, there is native support for remote control of the browser. This made earlier efforts obsolete, notably PhantomJS.
== Use cases == The main use cases for headless browsers are:
Test automation in modern web applications (web testing) Taking screenshots of web pages. Running automated tests for JavaScript libraries. Automating interaction of web pages.
=== Other uses === Headless browsers are also useful for web scraping. Google stated in 2009 that using a headless browser could help their search engine index content from websites that use Ajax. Headless browsers have also been misused in various ways:
Perform DDoS attacks on web sites. Increase advertisement impressions. Automate web sites in unintended ways e.g. for credential stuffing. However, a study of browser traffic in 2018 found no preference by malicious actors for headless browsers. There is no indication that headless browsers are used more frequently than non-headless browsers for malicious purposes, like DDoS attacks, SQL injections or cross-site scripting attacks.
== Usage == As several major browsers natively support headless mode through APIs, some software exists to perform browser automation through a unified interface. These include:
Selenium WebDriver – a W3C compliant implementation of WebDriver Playwright – a Node.js library to automate Chromium, Firefox and WebKit Puppeteer – a Node.js library to automate Chrome or Firefox
=== Test automation === Some test automation software and frameworks include headless browsers as part of their testing apparati.
Capybara uses headless browsing, either via WebKit or Headless Chrome to mimic user behavior in its testing protocols. Jasmine uses Selenium by default, but can use WebKit or Headless Chrome, to run browser tests. Cypress, a frontend testing framework QF-Test, a software tool for automated testing of programs via the graphical user interface where a headless browser can also be used for testing.
=== Alternatives === Another approach is to use software that provides browser APIs. For example, Deno provides browser APIs as part of its design. For Node.js, jsdom is the most complete provider. While most are able to support common browser features (HTML parsing, cookies, XHR, some JavaScript, etc.), they do not render the DOM and have limited support for DOM events. They usually perform faster than
