From 776d3f4fe42ff2dccd1135a83b0038c8cb0acf12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=B4=D0=B5=D0=BB=D0=B8=D0=BD=D0=B0=20=D0=A1=D0=B0?= =?UTF-8?q?=D1=82=D1=82=D0=B0=D1=80=D0=BE=D0=B2=D0=B0?= Date: Thu, 28 May 2026 10:04:17 +0000 Subject: [PATCH] add memory_client.py --- memory_client.py | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 memory_client.py 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())