Добавлен memory_client.py

This commit is contained in:
2026-05-28 11:50:07 +00:00
parent b3d0b1fb86
commit b6bf04504e
+53
View File
@@ -0,0 +1,53 @@
# 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())