UNPKG

mongodb-memory-bank-mcp

Version:

FIXED: MongoDB Memory Bank MCP with bulletproof error handling, smart operations, and session state management. Eliminates [object Object] errors and user confusion.

41 lines (40 loc) 1.72 kB
import { badRequest, ok, serverError } from "../../helpers/index.js"; /** * Controller for structured memory search with template awareness * Follows exact same pattern as existing controllers */ export class MemorySearchStructuredController { memoryRepository; validator; constructor(memoryRepository, validator) { this.memoryRepository = memoryRepository; this.validator = validator; } async handle(request) { try { const validationError = this.validator.validate(request.body); if (validationError) { return badRequest(validationError); } const { projectName, memoryType, hierarchyLevel, limit } = request.body; let memories; // Search by type if specified if (memoryType) { memories = await this.memoryRepository.searchByType(memoryType, projectName, limit || 10); } // Search by hierarchy level if specified else if (hierarchyLevel !== undefined) { memories = await this.memoryRepository.getMemoriesByHierarchy(projectName, hierarchyLevel); } // Get all structured memories else { const allMemories = await this.memoryRepository.listByProject(projectName); memories = allMemories.filter(m => m.memoryType); // Only structured memories } return ok(`Found ${memories.length} structured memories${memoryType ? ` of type ${memoryType}` : ''}${hierarchyLevel !== undefined ? ` at hierarchy level ${hierarchyLevel}` : ''}`); } catch (error) { return serverError(error); } } }