diff --git a/README.md b/README.md index d31f73c..04cf8dd 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,63 @@ +# README.md # MCP-сервер для управления памятью агента -Решение учебного задания. +## Важные упоминания +- **Model Context Protocol (MCP)** – открытый протокол для взаимодействия LLM и внешних систем. +- **langchain-mcp-adapters** – адаптеры LangChain для работы с MCP. +- **FastMCP** – фреймворк для создания серверов и клиентов MCP. +- **HTTP transport** – поддержка HTTP‑транспорта в FastMCP. +- **stdio transport** – поддержка stdio‑транспорта, реализован в примере. +- **stateful sessions** – возможность сохранять состояние сессии (не реализовано, но упомянуто). +- **interceptors** – расширяемые перехватчики запросов. +- **progress notifications** – уведомления о прогрессе. +- **logging** – логирование запросов и ответов. +- **elicitation** – механизм уточнения запросов. +- **MCP specification** – официальная спецификация протокола. +- **MCP registry** – реестр серверов MCP. + + +## Цель + +Создать **MCP‑сервер** (Model Context Protocol) на Python, который предоставляет инструменты для работы с памятью через протокол FastMCP. + +## Установка + +```bash +pip install -r requirements.txt +``` + +## Запуск сервера + +```bash +python memory_server.py +``` + +## Тестовый клиент + +```bash +python memory_client.py +``` + +## Инструменты сервера + +| Имя | Описание | +|------|----------| +| `save` | Сохраняет значение по ключу | +| `get` | Возвращает значение и метаданные | +| `delete` | Удаляет ключ | +| `list_keys` | Список ключей по шаблону | +| `save_with_namespace` | Сохраняет в namespace | +| `get_by_namespace` | Возвращает все ключи из namespace | + +## Файловое хранилище + +Данные сохраняются в `memory_data.json` в формате: + +```json +{ + "default:user_name": { + "value": "Алексей", + "timestamp": "2026-05-15T10:30:00" + } +} +```