Chrome Bookmark MCP Server
Enables advanced full-text search of bookmarks via ElasticSearch integration.
Provides Redis caching for performance optimization of bookmark data.
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., "@Chrome Bookmark MCP Serversearch my bookmarks for React tutorials"
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.
Chrome Bookmark MCP Server
A Model Context Protocol (MCP) server implementation that provides seamless integration between Chrome bookmarks and AI assistants. This server enables AI models to access, search, analyze, and manage Chrome bookmarks through a standardized protocol.
Overview
This project implements an MCP server that bridges Chrome bookmarks with AI assistants, allowing for intelligent bookmark management, search, and analysis. It includes both a Chrome extension for data collection and a Python-based MCP server for processing requests.
Related MCP server: Chrome MCP Server
Features
Core Functionality
Bookmark Access: Read and search through Chrome bookmarks
Advanced Search: Full-text search with ElasticSearch integration
Real-time Sync: Automatic synchronization of bookmark changes via WebSocket
Analytics: Bookmark usage patterns and insights
Security: JWT authentication and secure communication
Chrome Extension
Bookmark export and synchronization
Search interface with advanced filtering
Usage analytics dashboard
Real-time updates via WebSocket
Offline message queuing
MCP Server
Standard MCP protocol implementation
WebSocket support for real-time updates
RESTful API endpoints
Redis caching for performance
ElasticSearch for advanced search
Docker support for easy deployment
Architecture
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Chrome Browser │────▶│ Chrome Ext. │────▶│ MCP Server │
│ (Bookmarks) │ │ (Data Export) │ │ (Processing) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│
┌─────────────────────────┴─────────────┐
│ │
┌───────▼────────┐ ┌────────▼───────┐
│ Redis │ │ ElasticSearch │
│ (Caching) │ │ (Search) │
└────────────────┘ └────────────────┘Prerequisites
Python 3.8+
Docker and Docker Compose
Chrome Browser
Redis (via Docker)
ElasticSearch (via Docker)
Installation
1. Clone the Repository
git clone https://github.com/mamba-mental/chrome-bookmark-mcp-server.git
cd chrome-bookmark-mcp-server2. Set Up the Server
Using Docker (Recommended)
# Start all services
docker-compose up -d
# Check service status
docker-compose psManual Setup
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Set up Redis and ElasticSearch (see docs/REDIS_SETUP.md and docs/ELASTICSEARCH_SETUP.md)3. Install Chrome Extension
Open Chrome and navigate to
chrome://extensions/Enable "Developer mode"
Click "Load unpacked"
Select the
chrome-extensionfolder from this repositoryThe extension icon should appear in your toolbar
4. Configure the Server
Create a .env file in the project root:
# Server Configuration
MCP_SERVER_HOST=localhost
MCP_SERVER_PORT=8012
SECRET_KEY=your-secret-key-here
# Redis Configuration
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_DB=0
# ElasticSearch Configuration
ELASTICSEARCH_HOST=localhost
ELASTICSEARCH_PORT=9200
ELASTICSEARCH_INDEX=chrome_bookmarks
# Security
JWT_SECRET_KEY=your-jwt-secret-key-here
JWT_ALGORITHM=HS256
JWT_EXPIRATION_DELTA=3600Usage
Starting the Server
With Docker
docker-compose upWithout Docker
python server/MCP_Chrome_Server_033025.pyChrome Extension
Click the extension icon in Chrome
Use the popup interface to:
Export bookmarks to the server
Search bookmarks with filters
View analytics dashboard
Configure settings
MCP Integration
Connect your AI assistant to the MCP server:
{
"mcpServers": {
"chrome-bookmarks": {
"command": "python",
"args": ["/path/to/server/MCP_Chrome_Server_033025.py"],
"env": {
"PYTHONPATH": "/path/to/project"
}
}
}
}API Documentation
MCP Tools
The server provides the following MCP tools:
search_bookmarks: Search bookmarks with advanced filtersget_bookmark: Retrieve a specific bookmark by IDanalyze_bookmarks: Get analytics and insightsorganize_bookmarks: Auto-organize bookmarksexport_bookmarks: Export bookmarks in various formats
REST API Endpoints
GET /api/bookmarks: List all bookmarksGET /api/bookmarks/search: Search bookmarksGET /api/bookmarks/{id}: Get specific bookmarkPOST /api/bookmarks/sync: Sync bookmarks from ChromeGET /api/analytics/dashboard: Get analytics dataPOST /api/auth/login: Authenticate and get JWT tokenWS /ws: WebSocket endpoint for real-time updates
Development
Project Structure
chrome-bookmark-mcp-server/
├── chrome-extension/ # Chrome extension source
│ ├── manifest.json # Extension manifest
│ ├── popup.html/js # Extension popup interface
│ ├── background.js # Background service worker
│ ├── search.html # Search interface
│ ├── analysis.html # Analytics dashboard
│ └── icons/ # Extension icons
├── server/ # MCP server implementation
│ ├── MCP_Chrome_Server_033025.py # Main server
│ ├── MCP_Chrome_Schemas_033025.py # Data schemas
│ ├── Security_Module_033025.py # Security module
│ ├── Advanced_Features_Module_033025.py # Advanced features
│ └── requirements.txt # Python dependencies
├── config/ # Configuration files
├── docs/ # Documentation
│ ├── ELASTICSEARCH_SETUP.md
│ ├── REDIS_SETUP.md
│ └── MCP_Implementation_Project_Master_Plan_031125.md
├── docker-compose.yml # Docker configuration
└── requirements.txt # Root Python dependenciesRunning Tests
# Run unit tests
python -m pytest tests/
# Run with coverage
python -m pytest --cov=server tests/Contributing
Fork the repository
Create a feature branch (
git checkout -b feature/amazing-feature)Commit your changes (
git commit -m 'Add amazing feature')Push to the branch (
git push origin feature/amazing-feature)Open a Pull Request
Security Considerations
JWT tokens for authentication
API rate limiting to prevent abuse
Secure WebSocket connections (WSS in production)
Input validation and sanitization
No storage of sensitive user data
Troubleshooting
Common Issues
Extension not connecting to server
Check server is running on port 8012
Verify no firewall blocking
Check browser console for errors
Search not working
Ensure ElasticSearch is running
Check if bookmarks are indexed
Verify ElasticSearch connection
WebSocket disconnections
Check network stability
Review server logs
Ensure proper CORS configuration
For detailed setup instructions, see:
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
Model Context Protocol specification by Anthropic
Chrome Extensions API documentation
Open source libraries and contributors
Contact
For questions, issues, or contributions, please open an issue on GitHub.
Note: This is an active development project. Features and APIs may change. Please refer to the latest documentation and release notes.
This server cannot be installed
Maintenance
Latest Blog Posts
- 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/mamba-mental/chrome-bookmark-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server