MCP-сервер для управления памятью агента: memory_client.py

This commit is contained in:
2026-05-27 07:45:36 +00:00
parent 1ba0420539
commit b052ede765
@@ -0,0 +1,58 @@
# memory_client.py
"""
Клиент для тестирования MCP‑сервера памяти.
Подключается к серверу через stdio и демонстрирует работу инструментов:
- save_with_namespace
- get_by_namespace
- list_keys
"""
import asyncio
from fastmcp import Client
async def main() -> None:
"""
Основная асинхронная функция, которая:
1. Создаёт клиент для сервера memory_server.py.
2. Подключается к серверу.
3. Выполняет серию вызовов инструментов и выводит результаты.
4. Закрывает соединение.
"""
# Инициализируем клиента, указывая путь к исполняемому скрипту сервера
client = Client("python memory_server.py")
# Подключаемся к серверу (стандартный ввод/вывод)
await client.connect()
try:
# Сохраняем данные в namespace "default"
result = await client.call_tool(
"save_with_namespace",
{"key": "username", "value": "Алексей", "namespace": "default"},
)
print(f"Сохранено: {result}")
# Читаем все ключи из 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']}")
# Ищем ключи, содержащие подстроку 'name'
keys = await client.call_tool(
"list_keys",
{"pattern": "*name"},
)
print("Ключи с 'name':", keys)
finally:
# Завершаем соединение
await client.close()
if __name__ == "__main__":
asyncio.run(main())