Provides sync-safe integration with Bear notes app using a hybrid approach that combines direct database reads with Bear's API for writes, ensuring compatibility with iCloud synchronization while enabling comprehensive note management, search, tagging, and analytics capabilities.
Bear MCP Server
A Model Context Protocol (MCP) server that provides Claude with comprehensive access to your Bear notes using a hybrid sync-safe approach - combining direct database reads with Bear's API for writes.
๐ Sync-Safe Hybrid Mode: All operations now work safely with iCloud sync!
โ ๏ธ Disclaimer
This tool uses a hybrid approach: direct database reads + Bear API writes. While comprehensive safety measures are implemented:
Read operations access Bear's database directly (read-only, safe)
Write operations use Bear's official API (sync-safe)
The tool is not affiliated with Bear's developers
Always maintain regular Bear backups as good practice
๐ Quick Start (5 minutes)
Prerequisites
Bear app installed on macOS
Claude Desktop app
Node.js 18+ installed
Installation
Clone and setup:
Add to Claude Desktop configuration: Edit
~/Library/Application Support/Claude/claude_desktop_config.json:
Start using:
Restart Claude Desktop
Ask Claude: "What Bear notes do I have?"
Begin managing your notes with natural language!
โจ What You Can Do
๐ Read Operations (26 tools) - โ ACTIVE
Search & Discovery: Full-text search, find similar notes, get suggestions
Organization: Browse by tags, analyze note relationships, get statistics
Content Analysis: Extract metadata, analyze attachments, find patterns
Advanced Queries: Complex filtering, date ranges, content criteria
โ๏ธ Write Operations (6 tools) - โ ACTIVE (Sync-Safe)
Create Notes: โ Via Bear API (sync-safe)
Edit Notes: โ Via Bear API (sync-safe)
Organize: โ Via Bear API (sync-safe)
Tag Management: โ Via Bear API (sync-safe)
Hashtag Parsing: โ Via Bear API (sync-safe)
How it works: Uses Bear's x-callback-url API for writes, database for reads!
๐ก๏ธ Safety Features
Hybrid Architecture: Database reads + API writes for maximum safety
iCloud Sync Safe: All write operations use Bear's API
Conflict Detection: Prevents overwriting concurrent changes
Tag Validation: Automatic tag sanitization with warnings
Error Handling: Robust error management for all operations
๐ Capabilities Overview
Category | Tools | Status | Key Features |
Basic Operations | 6 | โ Active | Get notes, search, browse tags, database stats |
Advanced Search | 8 | โ Active | Full-text search, similarity matching, complex queries |
Analytics | 6 | โ Active | Content analysis, relationship mapping, usage patterns |
Metadata | 6 | โ Active | File attachments, content structure, organization insights |
Write Operations | 6 | โ Active | Sync-safe via Bear API - full write capability restored! |
๐ง Configuration
Database Location
The server automatically finds your Bear database at:
Environment Variables
BEAR_DB_PATH: Override default database location (for reads)NODE_ENV: Set to 'development' for debug logging
๐ Usage Examples
Basic Note Management
Advanced Operations
Organization & Cleanup
๐ก๏ธ Safety & Best Practices
โ ๏ธ Safety Guidelines
Bear can run during operations - Write operations use Bear's API safely
Automatic tag validation - Tags are sanitized with warnings
iCloud sync compatible - No conflicts or sync issues
Keep Bear updated - Ensure API compatibility
๐ก Best Practices
Read operations are instant - direct database access
Write operations work with Bear running or closed
Tag warnings show when tags are auto-corrected
Use specific search terms for better results
Archive notes instead of deleting when possible
๐ท๏ธ Tag Formatting Guidelines
โ RECOMMENDED TAG FORMATS:
Simple tags:
work,personal,urgent,meetingNested categories:
work/projects,personal/health,study/mathTime-based:
2024,january,q1Project codes:
proj001,alpha,beta
โ AVOID THESE FORMATS (auto-corrected):
Hyphens:
project-alphaโ becomesprojectalphaSpaces:
work meetingโ becomesworkmeetingMixed case:
ProjectAlphaโ becomesprojectalpha
๐ง Automatic Tag Sanitization: The server automatically validates and sanitizes all tags:
Lowercase only:
ProjectโprojectNo spaces:
tag nameโtagnameNo hyphens:
project-alphaโprojectalphaNo commas:
tag,nameโtagnameโ Forward slashes preserved:
project/alphaโproject/alpha(for nested tags)
Tag warnings are returned when tags are modified, so you'll know exactly what changes were made.
๐๏ธ REFACTORED SERVICE ARCHITECTURE
โ Completely refactored from monolith to modern service-oriented architecture!
Transformation Overview
We've completely rebuilt the system from a 2,589-line monolithic BearService into a modern, testable, service-oriented architecture:
๐ง Service-Based Design
7 specialized services with clear responsibilities
Dependency injection for testability and flexibility
Interface-driven development for maintainability
384 comprehensive tests across all services
๐ก๏ธ Hybrid Sync-Safe Architecture
Read Operations: Direct SQLite database access for maximum performance
Write Operations: Bear's x-callback-url API for sync safety
Perfect coordination using
ZUNIQUEIDENTIFIERbridge
๐ Quality & Performance
100% TypeScript with strict type checking
Comprehensive error handling and validation
Multi-level caching for performance optimization
Structured logging and health monitoring
Service Architecture
Why This Architecture Works
The Problem: Monolithic code was hard to test, maintain, and extend.
The Solution: Service-oriented architecture with clear separation of concerns.
The Result:
โ Maintainable code - Clear service boundaries and responsibilities
โ 100% test coverage - 384 tests across all services
โ Type safety - Eliminated 50+
anytypesโ Performance optimized - Multi-level caching and query optimization
โ Production ready - Comprehensive logging, monitoring, and error handling
โ Sync-safe operations - Hybrid approach eliminates iCloud conflicts
Current Status
โ All read operations - Direct database access (26 tools)
โ All write operations - Sync-safe Bear API (6 tools)
โ Full feature parity - Everything works as designed
โ iCloud sync compatible - No conflicts or issues
โ Duplicate title fix - Notes display titles correctly (no duplication)
๐ Thanks to Bear Team
Special thanks to Danilo from the Bear team who provided the key insight that led to this solution!
๐ค Contributing & Community
The iCloud sync challenge has been solved! ๐ Now we're focused on making this the best Bear integration possible. Whether you're a:
macOS/iOS developer with API experience
Database expert familiar with SQLite optimization
Bear power user with workflow insights
Developer wanting to contribute to MCP ecosystem
Your contribution can help thousands of Bear users get even more from their AI assistants!
Current Priorities
๐ Add new features - More ways to analyze and work with notes
๐ Improve documentation - Help others understand and contribute
๐งช Expand test coverage - Ensure reliability across Bear versions
โก Performance optimization - Make operations even faster
Quick Ways to Help
โญ Star the repo if you find it useful
๐ Report issues you encounter
๐ก Share ideas for new features or solutions
๐ Spread the word to developers who might help
๐ Contribute documentation improvements
Together, we can build the most powerful Bear integration for AI assistants!
๐ All Available Tools
Basic Operations (6 tools)
get_database_stats- Overview of your Bear databaseget_notes- List notes with filtering optionsget_note_by_id- Get specific note by IDget_note_by_title- Find note by exact titleget_tags- List all tags with usage countsget_notes_by_tag- Find notes with specific tag
Advanced Search (8 tools)
get_notes_advanced- Complex filtering and sortingget_notes_with_criteria- Multi-criteria searchsearch_notes_fulltext- Full-text search with relevance scoringget_search_suggestions- Auto-complete for searchesfind_similar_notes- Content similarity matchingget_related_notes- Find related notes by tags and contentget_recent_notes- Recently created or modified notesget_note_counts_by_status- Statistics by note status
Analytics & Insights (6 tools)
get_note_analytics- Comprehensive note statisticsanalyze_note_metadata- Content pattern analysisget_notes_with_metadata- Filter by content characteristicsget_file_attachments- File attachment managementget_tag_hierarchy- Tag relationship analysisget_tag_analytics- Tag usage patterns
Content Analysis (6 tools)
analyze_tag_relationships- Tag optimization suggestionsget_tag_usage_trends- Tag usage over timesearch_notes_regex- Pattern matching (when available)Advanced content categorization
Link and reference analysis
Writing pattern insights
Note Management - SYNC-SAFE VIA BEAR API
create_note- โ Create new notes with tags and contentupdate_note- โ Update existing notes safelyduplicate_note- โ Create copies of existing notesarchive_note- โ Archive/unarchive notestrigger_hashtag_parsing- โ Force hashtag reprocessingbatch_trigger_hashtag_parsing- โ Bulk hashtag processing
โ All operations are now sync-safe:
Uses Bear's x-callback-url API for all writes
No iCloud sync conflicts or data corruption
Respects Bear's internal sync coordination
Full write functionality restored
Perfect integration between database reads and API writes!
๐ง Troubleshooting
Common Issues
"Database not found" error:
Verify Bear is installed and has been opened at least once
Check database path:
~/Library/Group Containers/9K33E3U3T4.net.shinyfrog.bear/Application Data/
"Permission denied" error:
Ensure Claude Desktop has necessary file system permissions
Check that the database file is readable
Write operations not working:
Ensure Bear app is installed and has been opened at least once
Check that Bear's x-callback-url functionality is enabled
Try opening Bear manually to verify it's working
Slow performance:
Large databases (10,000+ notes) may take longer for reads
Use specific search terms instead of broad queries
Consider using pagination with
limitparameters
Getting Help
Check the troubleshooting guide
Review common usage patterns
Enable debug logging with
NODE_ENV=developmentTest Bear's API directly:
open "bear://x-callback-url/create?title=Test"
๐ Performance
Read operations: Instant (direct database access)
Write operations: 1-2 seconds (Bear API processing)
Large databases: Tested with 10,000+ notes
Memory usage: ~50MB typical, ~100MB for complex operations
Concurrent operations: Read operations can run simultaneously
API operations: Processed through Bear's URL scheme
๐ License
MIT License - see LICENSE file for details.
Made with โค๏ธ for the Bear community