Skip to main content
Glama

get_related_mementos

Find connected memories by exploring relationships like SOLVES or CAUSES to identify solutions or root causes.

Instructions

Find mementos connected to a specific memory via relationships.

Filter by relationship_types (e.g., ["SOLVES"], ["CAUSES"]) and max_depth (default 1).

EXAMPLES:

  • get_related_mementos(memory_id="prob-1", relationship_types=["SOLVES"]) - find solutions

  • get_related_mementos(memory_id="err-1", relationship_types=["CAUSES"], max_depth=2) - find root causes

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
memory_idYesID of the memory to find relations for
relationship_typesNoFilter by relationship types
max_depthNoMaximum relationship depth to traverse

Implementation Reference

  • The actual handler implementation for 'get_related_mementos', which retrieves related memories from the SQLite database.
    async def handle_get_related_mementos(
        memory_db: SQLiteMemoryDatabase, arguments: Dict[str, Any]
    ) -> CallToolResult:
        """Handle get_related_memories tool call.
    
        Args:
            memory_db: Database instance for memory operations
            arguments: Tool arguments from MCP call containing:
                - memory_id: ID of memory to find relations for
                - relationship_types: Optional list of relationship types to filter
                - max_depth: Optional maximum traversal depth (default: 2)
    
        Returns:
            CallToolResult with list of related memories or error message
        """
        memory_id = arguments["memory_id"]
        relationship_types = None
    
        if "relationship_types" in arguments:
            relationship_types = [
                RelationshipType(t) for t in arguments["relationship_types"]
            ]
    
        max_depth = arguments.get("max_depth", 2)
    
        related_memories = await memory_db.get_related_memories(
            memory_id=memory_id, relationship_types=relationship_types, max_depth=max_depth
        )
    
        if not related_memories:
            return CallToolResult(
                content=[
                    TextContent(
                        type="text", text=f"No related memories found for: {memory_id}"
                    )
                ]
            )
    
        # Format results
        results_text = f"Found {len(related_memories)} related memories:\n\n"
        for i, (memory, relationship) in enumerate(related_memories, 1):
            results_text += f"**{i}. {memory.title}** (ID: {memory.id})\n"
            results_text += f"Relationship: {relationship.type.value} (strength: {relationship.properties.strength})\n"
            results_text += (
                f"Type: {memory.type.value} | Importance: {memory.importance}\n\n"
            )
    
        return CallToolResult(content=[TextContent(type="text", text=results_text)])

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/annibale-x/mcp-memento'

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