Bear MCP Server
Provides direct access to your Bear notes database for comprehensive note management, bypassing standard API limitations.
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
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
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+
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=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 LICENSE file for details.
Made with β€οΈ for the Bear community
Related Servers
Pomera AI Commander
Turn messy text into clean output fastβGUI for humans, MCP tools for AI IDEs (Cursor/Claude). 33 deterministic text utilities.
AutoCAD MCP Server
Integrates AutoCAD with large language models (LLMs) for natural language interaction. Requires AutoCAD 2018+ on Windows.
MCP Shrimp Task Manager
An intelligent task management system based on MCP, providing an efficient programming workflow framework for AI Agents with an optional web-based GUI.
Google Sheets
A server for comprehensive Google Sheets integration, requiring Google OAuth credentials.
Omnispindle
A todo management system designed for coordinating tasks across multiple projects, utilizing MongoDB and MQTT.
Freee MCP Scalar
AI-driven integration with the freee accounting service via the Model Context Protocol.
FullScope-MCP
An MCP server for content summarization, supporting web scraping, file reading, and direct model calls.
Feishu/Lark OpenAPI
Connect AI agents with the Feishu/Lark platform for automation, including document processing, conversation management, and calendar scheduling.
Unreasonable Thinking Server
A tool for bold and unconventional problem-solving, generating unique solutions by branching and tracking thoughts.
MCP Content Summarizer Server
An MCP server that uses Google's Gemini 1.5 Pro to generate concise summaries of various content types.