Skip to main content
Glama

MCP Memory Service

# Phase 1: Core Backend Implementation ## Overview Implementation of CloudflareStorage backend with full MemoryStorage interface compliance. ## Tasks Breakdown ### 1.1 Foundation Setup - [ ] Create feature branch: `feature/cloudflare-native-backend` - [ ] Set up Cloudflare development environment - [ ] Research API rate limits and best practices - [ ] Document required environment variables ### 1.2 CloudflareStorage Class Implementation #### Core Interface Methods - [ ] `async def initialize(self) -> None` - [ ] `async def store(self, memory: Memory) -> Tuple[bool, str]` - [ ] `async def retrieve(self, query: str, n_results: int = 5) -> List[MemoryQueryResult]` - [ ] `async def search_by_tag(self, tags: List[str]) -> List[Memory]` - [ ] `async def delete(self, content_hash: str) -> Tuple[bool, str]` - [ ] `async def delete_by_tag(self, tag: str) -> Tuple[int, str]` - [ ] `async def cleanup_duplicates(self) -> Tuple[int, str]` - [ ] `async def update_memory_metadata(self, content_hash: str, updates: Dict[str, Any], preserve_timestamps: bool = True) -> Tuple[bool, str]` #### Additional Methods - [ ] `async def get_stats(self) -> Dict[str, Any]` - [ ] `async def get_all_tags(self) -> List[str]` - [ ] `async def get_recent_memories(self, n: int = 10) -> List[Memory]` - [ ] `async def recall_memory(self, query: str, n_results: int = 5) -> List[Memory]` ### 1.3 Cloudflare Service Integration #### Vectorize Operations - [ ] Vector insertion with metadata - [ ] Semantic similarity search - [ ] Vector deletion by ID - [ ] Namespace management for isolation #### D1 Database Operations - [ ] Memory metadata table creation - [ ] Tag relationship tables - [ ] CRUD operations for memory records - [ ] Efficient tag-based queries #### R2 Storage (Optional) - [ ] Large content storage (>1MB) - [ ] Content retrieval with caching - [ ] Cleanup of orphaned objects #### Workers AI Integration - [ ] Embedding generation client - [ ] Model consistency management - [ ] Fallback to local embeddings ### 1.4 Error Handling & Performance - [ ] Exponential backoff for rate limits - [ ] Connection retry logic - [ ] Comprehensive error messages - [ ] Performance monitoring and logging - [ ] Circuit breaker pattern for service failures ### 1.5 Configuration Updates - [ ] Add Cloudflare to SUPPORTED_BACKENDS - [ ] Environment variable definitions - [ ] Validation logic for Cloudflare settings - [ ] Backend selection logic updates ## Success Criteria - [ ] All MemoryStorage interface methods implemented - [ ] Unit tests pass for all methods - [ ] Integration with real Cloudflare services works - [ ] Performance comparable to existing backends - [ ] Comprehensive error handling tested ## Testing Strategy - [ ] Unit tests for each method - [ ] Mock Cloudflare services for testing - [ ] Integration tests with real Cloudflare account - [ ] Performance benchmarking - [ ] Error condition testing ## Files to Create/Modify - `src/mcp_memory_service/storage/cloudflare.py` (new) - `src/mcp_memory_service/config.py` (modify) - `tests/unit/test_cloudflare_storage.py` (new) - `tests/integration/test_cloudflare_integration.py` (new) ## Dependencies - `httpx` for async HTTP requests - `cloudflare` Python SDK (if available) - Existing memory models and utilities

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/doobidoo/mcp-memory-service'

If you have feedback or need assistance with the MCP directory API, please join our Discord server