Bear App MCP Server
Provides integration with Bear App (a macOS-only note-taking application) using its X-callback-URL scheme, enabling AI assistants to create, modify, search and organize notes, manage tags, and import web content.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Bear App MCP Server search for notes about meeting minutes from last week"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Bear App MCP Server
A Model Context Protocol (MCP) server that provides integration with Bear App using its X-callback-URL scheme. This server enables AI assistants to interact with Bear notes, create new content, search, and manage tags.
Features
Note Management: Create, open, and modify notes with full metadata retrieval
Text Operations: Add, append, prepend, or replace text in existing notes
Search: Search through notes and tags with complete result data
Tag Management: Get, open, rename, and delete tags with real-time data
Organization: Archive, trash, and organize notes
Web Content: Grab content from URLs to create notes with returned metadata
Special Views: Access Today, Todo, and Untagged note collections with full note lists
Callback Integration: Advanced x-success callback support for comprehensive data retrieval
Silent Operation: Custom URL scheme prevents unwanted browser windows during callbacks
Related MCP server: Bear MCP Server
Requirements
macOS (Bear App is macOS only)
Bear App installed and running
Node.js 18+
Bear API token (for some operations)
Quick Installation
chmod +x ./setup.sh && ./setup.shManual Installation
Clone and go to the project:
git clone https://github.com/bigjeager/bear-mcp-server.git
cd bear-mcp-server/Install dependencies:
npm installBuild the project:
npm run buildBuild binaries:
/path/to/bear-mcp-server/dist/index.jsGetting Bear API Token
Some operations require a Bear API token:
On macOS:
Open Bear App
Go to
Help→Advanced→API Token→Copy TokenThe token will be copied to your clipboard
Configuration
Add the server to your MCP client configuration. For Claude Desktop, add to your claude_desktop_config.json:
{
"mcpServers": {
"bear": {
"command": "node",
"args": ["/path/to/bear-mcp-server/dist/index.js"],
"env": {
"BEAR_TOKEN": "your-bear-api-token-here"
}
}
}
}Available Tools
Core Note Operations
bear_open_note: Open a note by ID or title (returns full note data and metadata)
bear_create_note: Create a new note with title, content, and tags (returns note ID and title)
bear_add_text: Add text to existing notes (append, prepend, replace)
Search & Discovery
bear_search: Search notes by term and/or tag (returns complete search results with metadata)
bear_get_tags: Retrieve all available tags (returns full tags array)
bear_open_tag: Open notes with specific tag(s) (returns notes list with details)
Organization
bear_trash_note: Move notes to trash
bear_archive_note: Archive notes
bear_get_untagged: Get notes without tags (returns complete untagged notes list)
bear_get_todo: Get notes marked as todos (returns todo notes with metadata)
bear_get_today: Get today's notes (returns today's notes with details)
Tag Management
bear_rename_tag: Rename existing tags
bear_delete_tag: Delete tags
Web Integration
bear_grab_url: Create notes from web page content (returns created note ID and title)
Security Notes
The server uses macOS
opencommand to execute Bear URLsAPI tokens should be kept secure and not shared
Some operations require Bear to be unlocked (not in locked state)
Encrypted notes cannot be accessed via the API
Development
Run in development mode:
npm run devBuild for production:
npm run buildEnhanced Callback Integration
This server leverages Bear's x-success callback mechanism to provide comprehensive data retrieval:
Real-time Data: Most operations return actual Bear data instead of generic success messages
Complete Results: Search operations return full note arrays with metadata
Immediate Access: Created notes return their IDs for follow-up operations
Rich Metadata: Notes include titles, identifiers, tags, dates, and content
Silent Operation: Auto-closing HTML response minimizes browser window interference
Instant Close: Multiple JavaScript methods ensure browser windows close immediately
Callback-Enhanced Tools
The following tools use advanced callback integration for enhanced data retrieval:
bear_open_note,bear_create_note,bear_search,bear_get_tagsbear_open_tag,bear_get_untagged,bear_get_todo,bear_get_today,bear_grab_url
Technical Implementation
Auto-Close HTTP Response: Uses standard http://localhost:port/callback URLs but returns HTML with multiple browser-closing mechanisms:
Immediate
window.close()JavaScript executionMeta refresh redirect to
about:blankHidden body styling to prevent content flash
Cache-control headers to prevent browser caching
Browser Window Minimization: While a browser window may briefly appear, it closes automatically within milliseconds, providing near-silent operation.
Limitations
macOS only (Bear App limitation)
Some operations require user interaction with Bear
Callback operations have 10-second timeout limit (with automatic fallback)
File attachments require base64 encoding
Bear must be unlocked for encrypted note access
Brief browser window flash may occur (auto-closes within milliseconds)
License
MIT License - feel free to modify and distribute
Contributing
Contributions welcome! Please ensure:
TypeScript compilation passes (
npm run build)Bear URL schemes are correctly implemented
Callback integration works properly
Error handling is comprehensive
Documentation is updated
Test with
npm run test(requires Bear App for full functionality)
Links
Available Tools
16 toolsbear_add_fileC
Add a file to an existing note
Inputs: file (required), id, title, selected, +7 more.
bear_add_textC
Add text to an existing note
Inputs: text (required), id, title, mode, +10 more.
bear_archive_noteC
Archive a note
Inputs: id, search, show_window.
bear_create_noteC
Create a new note in Bear
Inputs: title, text, tags, pin, +11 more.
bear_delete_tagC
Delete an existing tag
Inputs: name (required), show_window.
bear_get_lockedC
Get locked (encrypted) notes
Inputs: search, show_window.
bear_get_tagsC
Get all tags from Bear
Inputs: token (required).
bear_get_todayC
Get today's notes
Inputs: search, token, show_window.
bear_get_todoC
Get todo notes
Inputs: search, token, show_window.
bear_get_untaggedC
Get untagged notes
Inputs: search, token, show_window.
bear_grab_urlC
Create a note from web page content
Inputs: url (required), tags, pin, wait.
bear_open_noteC
Open a note in Bear by ID or title
Inputs: id, title, header, exclude_trashed, +8 more.
bear_open_tagC
Open notes with specific tag(s)
Inputs: name (required), token, show_window.
bear_rename_tagC
Rename an existing tag
Inputs: name (required), new_name (required), show_window.
bear_searchC
Search for notes in Bear
Inputs: term, tag, token, show_window.
bear_trash_noteC
Move a note to trash
Inputs: id, search, show_window.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 16 tools
Each tool has a clearly distinct purpose targeting specific Bear app operations, such as note management (create, archive, trash), tag handling (get, rename, delete), and retrieval (search, get_today, get_todo). There is no overlap or ambiguity between tools, making misselection unlikely.
All tools follow a consistent 'bear_verb_noun' pattern using snake_case, such as bear_create_note, bear_get_tags, and bear_archive_note. This predictable naming convention enhances readability and usability across the entire set.
With 16 tools, the server provides comprehensive coverage for Bear app interactions, including note CRUD operations, tag management, and specialized queries. The count is well-scoped for the domain, offering a robust set without being overwhelming.
The tool set offers complete lifecycle coverage for notes and tags, including creation, retrieval, updating (via add_text/rename_tag), and deletion/archiving. It also supports advanced features like URL grabbing and filtered searches, leaving no obvious gaps for typical agent workflows.
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Google Keep-style notes app with an MCP server for AI agents to read/write notes.
Markdown-based note-taking with a hosted MCP server. Your notes serve you and your AI.
Search, read, and write your Apple Notes from ChatGPT/Claude via a local Mac agent + MCP relay.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables semantic search and retrieval of Apple Notes content, allowing AI assistants to access, search, and create notes using on-device embeddings.4,261 npm2MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that allows AI assistants like Claude to read notes from the Bear note-taking app in a safe, read-only mode.11 npm15MIT
- FlicenseBqualityDmaintenanceA Model Context Protocol server that provides Claude with access to search, retrieve, and analyze notes from the Bear App through natural language queries.78-
- AlicenseAqualityDmaintenanceA Python-based MCP server that provides read and write access to Bear Notes on macOS using SQLite for data retrieval and x-callback-url for modifications. It enables users to search, create, archive, and manage notes and tags directly through a Model Context Protocol interface.161ISC