Bear Notes MCP Server
Click on "Install 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 Notes MCP Serversearch notes about conference ideas"
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 Notes MCP Server
A Model Context Protocol (MCP) server for Bear Notes that provides semantic search, AI summarization, and note relationship discovery capabilities.
π» What is this?
This MCP server allows AI assistants and other MCP clients to interact with your Bear Notes database, providing:
π Note Access: Read individual notes and browse your entire collection
π Search & Discovery: Find notes by content with intelligent search
π Relationship Analysis: Discover related notes and topics (planned)
π€ AI Integration: Summarize and analyze notes with local AI models (planned)
β‘ Real-time Updates: Automatically refresh when notes change
Related MCP server: Bear Notes MCP Server with RAG
ποΈ Architecture
The server is built with a modular architecture:
Configuration System: YAML-based config with environment overrides
Database Interface: Read-only access to Bear's SQLite database
MCP Protocol: Full implementation with resources and tools
Monitoring: Real-time database change detection
Extensible Design: Ready for semantic analysis and AI features
π Installation
Prerequisites
Python 3.11+
uv (recommended package manager)
Bear Notes 2.x (installed on macOS)
Bear Database Access: Ensure Bear has been launched at least once
Install with uv (Recommended)
# Clone the repository
git clone <repository-url>
cd bear-mcp-python
# Install with uv (creates virtual environment automatically)
uv sync
# Install with development dependencies
uv sync --extra devAlternative: Install with pip
# Create virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install in development mode
pip install -e .
# Install development dependencies (optional)
pip install -e ".[dev]"βοΈ Configuration
The server will auto-detect your Bear database, but you can customize settings:
# Create default configuration
uv run bear-mcp-cli create-config --output config/config.yaml
# Edit configuration as needed
# Key settings:
# - bear_db.path: Path to Bear database (auto-detected if null)
# - logging.level: Logging verbosity (DEBUG, INFO, WARNING, ERROR)
# - mcp_server.max_resources: Limit on resources returnedEnvironment Variables
Override any configuration with environment variables using the BEAR_MCP_ prefix:
export BEAR_MCP_LOGGING_LEVEL=DEBUG
export BEAR_MCP_BEAR_DB_PATH="/path/to/custom/database.sqlite"
export BEAR_MCP_MCP_SERVER_MAX_RESOURCES=500π§ͺ Testing & Development
CLI Tools
The project includes CLI tools for testing and development:
Find Bear Database
# Locate Bear database files on your system
uv run bear-mcp-cli find-dbTest Database Connection
# Test connection to Bear database and show statistics
uv run bear-mcp-cli test-dbList Notes
# List recent notes (default: 10 notes)
uv run bear-mcp-cli list-notes
# List more notes with options
uv run bear-mcp-cli list-notes --limit 25
# Include trashed and archived notes
uv run bear-mcp-cli list-notes --include-trashed --include-archived --limit 50Create Configuration
# Create default configuration file
uv run bear-mcp-cli create-config
# Create in custom location
uv run bear-mcp-cli create-config --output ~/.bear-mcp/config.yaml
# Force overwrite existing file
uv run bear-mcp-cli create-config --forceVerify Installation
# 1. Check if Bear database can be found
uv run bear-mcp-cli find-db
# 2. Test database connection
uv run bear-mcp-cli test-db
# 3. List a few notes to verify data access
uv run bear-mcp-cli list-notes --limit 5Expected output for a working setup:
INFO Found database path=/Users/.../database.sqlite
INFO Database connection successful
INFO Database stats total_notes=150 active_notes=145 ...π MCP Server Usage
With MCP Clients
Start the MCP server for use with MCP clients:
# Run the MCP server (stdio mode)
uv run bear-mcpThe server provides these MCP resources:
notes://all- JSON list of all active notes with metadatanote:///{note_id}- Individual note content in Markdown format
And these MCP tools:
get_note- Retrieve full content of a specific notesearch_notes- Search notes by title and contentlist_notes- List notes with filtering optionsget_database_stats- Get database statistics
Integration Examples
Claude Desktop
Add to your Claude Desktop MCP configuration:
{
"mcpServers": {
"bear-notes": {
"command": "uv",
"args": ["run", "bear-mcp"],
"cwd": "/path/to/bear-mcp-python",
"env": {
"BEAR_MCP_LOGGING_LEVEL": "INFO"
}
}
}
}Other MCP Clients
The server implements the standard MCP protocol over stdio, so it should work with any MCP-compatible client.
π Project Structure
bear_mcp/
βββ config/ # Configuration management
βββ bear_db/ # Bear database interface
βββ mcp_server/ # MCP protocol implementation
βββ semantic/ # Semantic analysis (Phase 2)
βββ ai/ # AI integration (Phase 3)
βββ main.py # Server entry point
βββ cli.py # CLI utilities
βββ utils.py # Utility functions
config/
βββ config.yaml # Default configuration
tests/ # Test suite (Phase 5)π Troubleshooting
Bear Database Not Found
# Check if Bear is installed and has been run
uv run bear-mcp-cli find-db
# If no database found:
# 1. Launch Bear.app at least once
# 2. Create a test note
# 3. Try finding the database againPermission Issues
# Bear database is read-only by design
# If you get permission errors:
# 1. Make sure Bear.app is not running
# 2. Check file permissions on the database
# 3. Try running with different user permissionsConnection Timeouts
# If database connections timeout:
# 1. Check if Bear is actively syncing
# 2. Increase timeout in configuration:
export BEAR_MCP_BEAR_DB_TIMEOUT=60.0No Notes Returned
# If no notes are returned:
# 1. Check that notes exist in Bear
# 2. Verify notes are not all trashed/archived
uv run bear-mcp-cli list-notes --include-trashed --include-archiveduv Installation Issues
# If uv is not installed, install it first:
curl -LsSf https://astral.sh/uv/install.sh | sh
# Or using pip:
pip install uv
# Then run uv sync to set up the project
uv syncπΊοΈ Development Roadmap
β Phase 1: Foundation (Complete)
Project setup and configuration
Bear database interface
Basic MCP server with resources and tools
Database monitoring and caching
π Phase 2: Semantic Analysis (Planned)
Sentence transformer embeddings
ChromaDB vector storage
Semantic similarity search
Related notes discovery
π€ Phase 3: AI Integration (Planned)
Ollama integration for local AI
Note summarization
Content analysis and insights
Intelligent tagging
β‘ Phase 4: Advanced Features (Planned)
Enhanced MCP tools
Performance optimization
Caching improvements
Advanced search capabilities
π§ͺ Phase 5: Testing & Polish (Planned)
Comprehensive test suite
Documentation and guides
Deployment tools
Performance benchmarks
π€ Contributing
This project is in active development. Current focus is on Phase 2 implementation.
Development Setup with uv
# Install with development dependencies
uv sync --extra dev
# Run code formatting
uv run black bear_mcp/
uv run ruff check bear_mcp/
# Run type checking
uv run mypy bear_mcp/
# Run tests (when available)
uv run pytestDevelopment Setup with pip
# Install with development dependencies
pip install -e ".[dev]"
# Run code formatting
black bear_mcp/
ruff check bear_mcp/
# Run type checking
mypy bear_mcp/
# Run tests (when available)
pytestπ License
[Add your license here]
π Acknowledgments
Bear Notes - The excellent note-taking app this server connects to
Model Context Protocol - The protocol that makes this integration possible
Anthropic - For Claude and MCP development
uv - Fast Python package manager
Note: This server provides read-only access to your Bear Notes database. It never modifies your notes or database.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Moishe/bear-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server