diff --git a/memory_client.py b/memory_client.py new file mode 100644 index 0000000..1905fdb --- /dev/null +++ b/memory_client.py @@ -0,0 +1,43 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +""" +Пример клиента, демонстрирующий работу с Memory‑Server через MCP. +""" + +import asyncio +from fastmcp import Client + + +async def main() -> None: + # Подключаемся к серверу через stdio (т.е. запускаем его как дочерний процесс) + 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 + items = await client.call_tool("get_by_namespace", {"namespace": "default"}) + print("\nДанные namespace 'default':") + for item in items: + print(f" {item['key']}: {item['value']} (timestamp: {item['timestamp']})") + + # 3️⃣ Ищем ключи по паттерну + keys = await client.call_tool("list_keys", {"pattern": "*name"}) + print("\nКлючи с 'name':") + for k in keys: + print(f" {k}") + + finally: + await client.close() + + +if __name__ == "__main__": + asyncio.run(main())