Skip to main content
Glama

get_related_memories

Retrieve semantically similar memories by specifying a memory ID and optional similarity threshold, enabling efficient meaning-based search and retrieval within the Memory Box MCP Server.

Instructions

Find semantically similar memories to a specific memory

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
memory_idYesThe ID of the memory to find related memories for
min_similarityNoMinimum similarity threshold (0.0-1.0) for related memories (default: 0.7)

Implementation Reference

  • MCP tool handler case that validates input, calls the client method to fetch related memories, formats the results into a text response, and returns it.
    case "get_related_memories": { // Validate parameters const memoryId = request.params.arguments?.memory_id; const minSimilarity = Number(request.params.arguments?.min_similarity) || 0.7; if (!memoryId) { throw new McpError(ErrorCode.InvalidParams, "Memory ID is required"); } // Get related memories const result = await memoryBoxClient.getRelatedMemories(Number(memoryId), minSimilarity); // Format the results let responseText = `Related memories for memory ID ${memoryId} (min similarity: ${minSimilarity * 100}%):\n\n`; if (result.items && result.items.length > 0) { result.items.forEach((memory: any, index: number) => { const similarity = memory.similarity ? ` (${Math.round(memory.similarity * 100)}% similar)` : ""; responseText += `${index + 1}. [ID: ${memory.id}]${similarity} ${memory.text}\n\n`; }); } else { responseText += "No related memories found."; } return { content: [{ type: "text", text: responseText }] }; }
  • Input schema definition for the get_related_memories tool, including properties for memory_id (required) and optional min_similarity.
    { name: "get_related_memories", description: "Find semantically similar memories to a specific memory", inputSchema: { type: "object", properties: { memory_id: { type: "integer", description: "The ID of the memory to find related memories for" }, min_similarity: { type: "number", description: "Minimum similarity threshold (0.0-1.0) for related memories (default: 0.7)" } }, required: ["memory_id"] } },
  • MemoryBoxClient method that performs the actual HTTP GET request to retrieve related memories from the Memory Box API endpoint.
    async getRelatedMemories(memoryId: number, minSimilarity: number = 0.7): Promise<any> { try { const response = await axios.get( `${this.baseUrl}/api/v2/memory/${memoryId}/related`, { params: { min_similarity: minSimilarity }, headers: { "Authorization": `Bearer ${this.token}` } } ); return response.data; } catch (error) { if (axios.isAxiosError(error)) { throw new McpError( ErrorCode.InternalError, `Failed to get related memories: ${error.response?.data?.detail || error.message}` ); } throw error; } }

Other Tools

Related Tools

Latest Blog Posts

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/amotivv/memory-box-mcp'

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