BookmarkMemory
by DeeNihl
README.md
# BookmarkMemory
A Python-based semantic search system for bookmarks that enables intelligent querying of URL contents through vector embeddings and semantic chunking.
## Features
- 🔍 **Semantic Search**: Find bookmarks based on meaning, not just keywords
- 🧩 **Smart Chunking**: Intelligently splits content into meaningful segments
- 🚀 **Multiple Backends**: Support for Qdrant Cloud, local containers, or auto-start
- 🌐 **FastAPI Server**: RESTful API with auto-generated documentation
- 🤖 **MCP Integration**: FastMCP server for AI assistant integration
- 📊 **Flexible Embeddings**: Support for multiple embedding models
## Quick Start
### Installation
```bash
# Clone the repository
git clone file:///c:/temp/BookmarkMemory
cd BookmarkMemory
# Install dependencies
pip install -r requirements.txt
pip install -e .
```
### Basic Usage
```python
from bookmark_memory import BookmarkMemory
# Initialize
bm = BookmarkMemory()
# Add bookmarks
bm.add_bookmarks([
"https://example.com/article1",
"https://example.com/article2"
])
# Search
results = bm.find_related_bookmarks("machine learning")
for result in results:
print(f"{result['url']} - Score: {result['relevance_score']:.3f}")
```
### API Server
```bash
# Start the FastAPI server
uvicorn bookmark_memory.api.fastapi_app:app --reload
# Visit http://localhost:8000/docs for API documentation
```
### MCP Server
Add to your Claude Desktop configuration:
```json
{
"mcpServers": {
"bookmark-memory": {
"command": "python",
"args": ["-m", "bookmark_memory.mcp.mcp_server"],
"env": {
"QDRANT_MODE": "auto"
}
}
}
}
```
## Configuration
### Environment Variables
- `QDRANT_MODE`: Connection mode (auto, cloud, local)
- `QDRANT_HOST`: Qdrant host address
- `QDRANT_PORT`: Qdrant port (default: 6333)
- `EMBEDDING_MODEL`: Model for embeddings (default: sentence-transformers/all-MiniLM-L6-v2)
See `config/settings.py` for all configuration options.
## Documentation
- [API Documentation](http://localhost:8000/docs) (when server is running)
- [Project Requirements](../BookmarkContext/prd.claude.md)
- [Examples](examples/)
## Testing
```bash
# Run all tests
pytest
# Run with coverage
pytest --cov=bookmark_memory
```
## License
MIT License - See LICENSE file for details.
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues