# memory_client.py """ Клиент для тестирования работы MCP‑сервера памяти. Использует fastmcp.Client для подключения к серверу, запускаемому в файле memory_server.py через stdio. Демонстрирует сохранение, чтение и поиск данных с поддержкой namespaces. """ from fastmcp import Client import asyncio async def main() -> None: """ Основная асинхронная функция: подключается к серверу, вызывает инструменты и выводит результаты. """ # Создаём клиент, указывая путь к исполняемому файлу сервера client = Client("python memory_server.py") # Открываем соединение await client.connect() try: # 1. Сохраняем данные в namespace "default" result = await client.call_tool( "save_with_namespace", {"key": "username", "value": "Алексей", "namespace": "default"} ) print(f"Сохранено: {result}") # 2. Читаем все ключи из namespace "default" result = await client.call_tool( "get_by_namespace", {"namespace": "default"} ) print("Данные namespace 'default':") for item in result: print(f" {item['key']}: {item['value']}") # 3. Ищем ключи, содержащие подстроку 'name' keys = await client.call_tool( "list_keys", {"pattern": "*name"} ) print("Ключи с 'name':", keys) finally: # Закрываем соединение await client.close() if __name__ == "__main__": asyncio.run(main())