Files
mcp-server-dlya-upravleniya…/memory_client.py
T

53 lines
1.9 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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())