Skip to main content
Glama

MemOS-MCP

by qinshu1109
base.py2.81 kB
from abc import abstractmethod from typing import Any from memos.configs.memory import BaseTextMemoryConfig from memos.memories.base import BaseMemory from memos.memories.textual.item import TextualMemoryItem from memos.types import MessageList class BaseTextMemory(BaseMemory): """Base class for all textual memory implementations.""" @abstractmethod def __init__(self, config: BaseTextMemoryConfig): """Initialize memory with the given configuration.""" @abstractmethod def extract(self, messages: MessageList) -> list[TextualMemoryItem]: """Extract memories based on the messages. Args: messages (MessageList): The messages to extract memories from. Returns: list[TextualMemoryItem]: List of extracted memory items. """ @abstractmethod def add(self, memories: list[TextualMemoryItem | dict[str, Any]]) -> None: """Add memories. Args: memories: List of TextualMemoryItem objects or dictionaries to add. """ @abstractmethod def update(self, memory_id: str, new_memory: TextualMemoryItem | dict[str, Any]) -> None: """Update a memory by memory_id.""" @abstractmethod def search(self, query: str, top_k: int, info=None) -> list[TextualMemoryItem]: """Search for memories based on a query. Args: query (str): The query to search for. top_k (int): The number of top results to return. info (dict): Leave a record of memory consumption. Returns: list[TextualMemoryItem]: List of matching memories. """ @abstractmethod def get(self, memory_id: str) -> TextualMemoryItem: """Get a memory by its ID. Args: memory_id (str): The ID of the memory to retrieve. Returns: TextualMemoryItem: The memory with the given ID. """ @abstractmethod def get_by_ids(self, memory_ids: list[str]) -> list[TextualMemoryItem]: """Get memories by their IDs. Args: memory_ids (list[str]): List of memory IDs to retrieve. Returns: list[TextualMemoryItem]: List of memories with the specified IDs. """ @abstractmethod def get_all(self) -> list[TextualMemoryItem]: """Get all memories. Returns: list[TextualMemoryItem]: List of all memories. """ @abstractmethod def delete(self, memory_ids: list[str]) -> None: """Delete memories. Args: memory_ids (list[str]): List of memory IDs to delete. """ @abstractmethod def delete_all(self) -> None: """Delete all memories.""" @abstractmethod def drop( self, ) -> None: """Drop all databases."""

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/qinshu1109/memos-MCP'

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