3.6 KiB
MCP‑сервер для управления памятью агента
Описание
MCP‑сервер (Model Context Protocol) – это самостоятельный сервис, который предоставляет API для работы с памятью агентов через стандартизированный протокол. Сервис поддерживает namespaces и хранит данные в JSON‑файле, позволяя агентам сохранять, обновлять и получать информацию независимо от их локального окружения.
- FastMCP – быстрый HTTP‑сервер для MCP.
- Pydantic – валидатор данных (не используется напрямую в примере, но готов к расширению).
- python-dotenv – загрузка переменных окружения из
.env.
Предварительные требования
| Пакет | Версия |
|---|---|
| Python | 3.10+ |
| pip | любой |
Установите зависимости через pip:
pip install -r requirements.txt
Файл requirements.txt содержит:
fastmcp>=0.1.0
pydantic>=2.0
python-dotenv>=1.0
Установка
Клонируйте репозиторий и установите зависимости:
git clone https://github.com/your-org/memory-mcp.git
cd memory-mcp
pip install -r requirements.txt
Создайте файл .env в корне проекта (если понадобится):
MEMORY_FILE=memory_data.json
PORT=8000
Запуск
Запустите сервер:
python memory_server.py
Сервер будет слушать на порту, указанном в переменной PORT (по умолчанию 8000).
Пример использования клиента
# memory_client.py
from fastmcp import FastMCPClient
import json
client = FastMCPClient("Memory-Server", host="localhost", port=8000)
# Сохранить запись
response = client.post("/memory/namespace1/item1", data={"value": 42})
print(response.json())
# Получить запись
response = client.get("/memory/namespace1/item1")
print(response.json())
Запустите клиент в отдельном терминале:
python memory_client.py
Пример работы
-
Сохранение данных
curl -X POST http://localhost:8000/memory/namespaces/agents/agent_123 \ -H "Content-Type: application/json" \ -d '{"name":"Alice","role":"researcher"}' -
Получение данных
curl http://localhost:8000/memory/namespaces/agents/agent_123 -
Обновление записи
curl -X PUT http://localhost:8000/memory/namespaces/agents/agent_123 \ -H "Content-Type: application/json" \ -d '{"name":"Alice","role":"senior researcher"}' -
Удаление записи
curl -X DELETE http://localhost:8000/memory/namespaces/agents/agent_123
Структура проекта
memory-mcp/
├── memory_server.py # Сервер MCP
├── memory_client.py # Пример клиента
├── requirements.txt
└── .env (опционально)
Готово! Теперь у вас есть работающий MCP‑сервер для управления памятью агентов. 🚀