bejaminjones/bear-notes-mcp
If you are the rightful owner of bear-notes-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Bear MCP Server is a Model Context Protocol server that integrates with the Bear notes application, providing comprehensive access to notes through a hybrid sync-safe approach.
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:
git clone <repository-url>
cd bear-notes-mcp
npm install
npm run build
- Add to Claude Desktop configuration:
Edit
~/Library/Application Support/Claude/claude_desktop_config.json
:
{
"mcpServers": {
"bear": {
"command": "node",
"args": ["/path/to/bear-notes-mcp/dist/index.js"],
"env": {}
}
}
}
- 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:
~/Library/Group Containers/9K33E3U3T4.net.shinyfrog.bear/Application Data/database.sqlite
Environment Variables
BEAR_DB_PATH
: Override default database location (for reads)NODE_ENV
: Set to 'development' for debug logging
๐ Usage Examples
Basic Note Management
"Show me my recent notes"
"Find all notes tagged with 'project'"
"Create a new note about today's meeting"
"Search for notes containing 'API documentation'"
"Update my project notes with the latest status"
Advanced Operations
"Analyze my note-taking patterns this month"
"Find notes similar to my current project"
"Show me notes with attachments"
"What are my most-used tags?"
Organization & Cleanup
"Archive old notes from last year"
"Find duplicate or similar notes"
"Show me notes that might need better tags"
"Duplicate this note with a new title"
"Add tags to organize my notes better"
๐ก๏ธ 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
,meeting
- Nested categories:
work/projects
,personal/health
,study/math
- Time-based:
2024
,january
,q1
- Project codes:
proj001
,alpha
,beta
โ AVOID THESE FORMATS (auto-corrected):
- Hyphens:
project-alpha
โ becomesprojectalpha
- Spaces:
work meeting
โ becomesworkmeeting
- Mixed case:
ProjectAlpha
โ becomesprojectalpha
๐ง Automatic Tag Sanitization: The server automatically validates and sanitizes all tags:
- Lowercase only:
Project
โproject
- No spaces:
tag name
โtagname
- No hyphens:
project-alpha
โprojectalpha
- No 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
ZUNIQUEIDENTIFIER
bridge
๐ 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
ServiceContainer (Dependency Injection)
โโโ DatabaseService (SQLite operations & connection management)
โโโ CacheService (Performance optimization & intelligent caching)
โโโ LoggingService (Structured logging with Winston)
โโโ HealthService (System monitoring & health checks)
โโโ ValidationService (Input validation & data sanitization)
โโโ NoteService (Note CRUD & lifecycle management)
โโโ SearchService (Advanced search & content discovery)
โโโ TagService (Tag management & organization)
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+
any
types - โ 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
๐ Read Operations (26 tools) - โ ACTIVE
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
โ๏ธ Write Operations (6 tools) - โ ACTIVE (Sync-Safe)
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
limit
parameters
Getting Help
- Check the
- Review
- Enable debug logging with
NODE_ENV=development
- Test 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 file for details.
Made with โค๏ธ for the Bear community