Memory MCP Server
Memory MCP Server
Сервер Model Context Protocol (MCP), который даёт ИИ-агентам постоянную память. Заметки хранятся в локальной базе данных SQLite (создаётся автоматически, без настройки) и доступны через сорок инструментов, построенных по архитектуре tools-first. Создан на основе производственного каркаса template-mcp-server (FastMCP + FastAPI, структурированное логирование, контейнеры, манифесты OpenShift, CI).
Возможности
40 инструментов MCP в четырёх областях: память, задачи, время (напоминания/оповещения), дашборд
Семь инструментов для памяти: store, get, search, list, update, delete, projects
Семь инструментов для задач: create, search, list, get, update, complete, delete с приоритетом и сроками выполнения
Восемь инструментов канбана: доски с настраиваемыми колонками; добавление/перемещение/обновление/удаление карточек
Семь инструментов трекеров: трекеры статусов, записи которых агрегируются в метрики прогресса
Хранение в SQLite через aiosqlite — один файл, отлаженный базовый режим WAL, автоматическое создание
Полнотекстовый поиск по ключевым словам — сопоставление целых слов со стеммером Портера по индексу FTS5, ранжирование по релевантности (лучшее совпадение первым)
Теги и метаданные в заметках и задачах
FastMCP + FastAPI c несколькими транспортами (HTTP, SSE, streamable-http)
Конфигурация Pydantic через переменные окружения
Структурированное JSON-логирование с помощью structlog
Интеграция OAuth (отключена по умолчанию; см.
docs/authentication.md)Готовность к контейнерам (базовый образ Red Hat UBI) — включены манифесты OpenShift
Поведение поиска и хранения
Поиск (memory_search, todo_search) выполняет сопоставление целых слов по полнотекстовому индексу со стеммером Портера: частичные слова никогда не совпадают (запрос check не найдёт checklist), пунктуация и операторы обрабатываются буквально, а результаты ранжируются по релевантности bm25 — сначала самое сильное совпадение, при равенстве — сначала новые. Обратите внимание, что токенизация unicode61 рассматривает целое предложение на языке CJK как один токен, поэтому сопоставление целых слов предполагает скрипты с пробельными разделителями.
Базы данных работают в режиме WAL с synchronous=NORMAL: недавно подтверждённые транзакции могут быть потеряны при сбое ОС или отключении питания — это приемлемый компромисс для заметок/задач, но не для системы учёта. Устоявшийся размер WAL ограничен параметром wal_autocheckpoint (~1000 страниц ≈ 4 МиБ); journal_size_limit (8 МиБ) лишь позволяет SQLite усечь файл WAL после того, как контрольные точки освободят его. Обслуживание (PRAGMA optimize + проход wal_checkpoint(TRUNCATE)) выполняется в цикле опроса напоминаний каждую десятую итерацию и может ненадолго задержать итерацию; оно ограничено тайм-аутом обработчика и тайм-аутом занятости базы данных.
Быстрый старт
git clone https://github.com/redhat-data-and-ai/memory-mcp-server
cd memory-mcp-server
make install # creates venv, installs deps + pre-commit hooks
make local # starts server on localhost:5001Проверка в другом терминале:
curl http://localhost:5001/healthРучная настройка (без Make):
# Create venv and install
uv venv && source .venv/bin/activate
uv pip install -e ".[dev]"
pre-commit install
# Configure and run
cp .env.example .env
memory-mcp-server
# Verify
curl http://localhost:5001/healthИнструменты
Память
Tool | Назначение |
| Сохранить новую заметку; возвращает её id |
| Получить заметку по id |
| Полнотекстовый поиск по содержимому, ранжирование по релевантности |
| Просмотр заметок: сначала новые |
| Частичное обновление заметки |
| Удалить заметку по id |
Задачи (Todos)
Tool | Назначение |
| Создать структурированную задаче |
| Полнотекстовый поиск по заголовку/описанию, по релевантности |
| Просмотр задач с фильтрами |
| Управление отдельными задачами |
Каннебан
Tool | Назначение |
| Создать доску; по умолчанию backlog/todo/in_progress/done |
| Перечислить или удалить доски |
| Полное состояние доски, сгруппированное по колонкам |
| Размещать и изменять порядок задач |
| Изменить или удалить карточки |
Напоминания и оповещения
Tool | Назначение |
| Запланировать будущее оповещение (повторы: none/hourly/daily/weekly) |
| Просмотреть или изменить расписание |
| Сначала ближайшие по сроку |
| Управление расписаниями |
| Просмотр и снятие сработавших оповещений |
Фоновый планировщик преобразует наступившие напоминания в оповещения на стороне сервера; запрашивайте их в начале сеанса с помощью alert_list(acknowledged=false).
Дашборд
Tool | Назначение |
| Сводные счётчики по областям, необработанные оповещения и ближайшие задачи |
Трекеры
Tool | Назначение |
| Управление трекерами |
| Отслеживание элементов (not_started/in_progress/blocked/done) |
| Прогресс: всего/готово/процент плюс количество по статусам |
Все инструменты возвращают словари `{status: "success" | "error", ...}`
и никогда не сообщают об исключениях на границе инструмента.
Конфигурация
Переменная | По умолчанию | Описание | |
|
| Файл базы данных SQLite (создаётся автоматически, включая родительские каталоги) | |
|
| Интервал фонового планировщика | |
|
| Адрес привязки сервера | |
|
| Порт сервера (1024-65535) | |
|
| Транспортный протокол ( | |
|
| SSL-ключ/сертификат для HTTPS | |
|
| OAuth-аутентификация (см. | |
|
| Уровень журналирования |
* ENABLE_AUTH по умолчанию False в .env.example. Сначала скопируйте .env.example в .env, чтобы запуститься с отключённой аутентификацией.
Подключение MCP-клиента
Настройте свой MCP-клиент на конечную точку сервера:
{
"mcpServers": {
"memory": {
"url": "http://localhost:5001/mcp"
}
}
}Рабочий клиент, который сохраняет и ищет заметки, приведён в examples/fastmcp_client.py.
Разработка
make lint # ruff + mypy
make test # pytest with coverage
make pre-commit # run all pre-commit hooksПеременные окружения
Переменная | Описание |
| Ключ для внешних сервисов (не используется) |
| Для вывода локальных моделей (не используется) |
Ограничения
Целиком: цель и постановка задач могут быть недостижимы для реальной реализации. Список инструментов в этом документе отражает желаемую функциональность; фактическая реализация может отличаться, в зависимости от текущего состояния проекта.
Документация
Руководство | Описание |
Диаграммы системы, структура кодов, ключевые компоненты | |
Установка, локальный запуск, тестирование, качество кода | |
Podman, OpenShift, конфигурация контейнеров | |
Настройка OAuth, режимы аутентификации, устранение неполадок |
Лицензия
Apache 2.0 — создано на основе redhat-data-and-ai/template-mcp-server.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Persistent memory for AI agents. Search, store, and recall across sessions.
Persistent memory and knowledge management for AI agents with semantic search and 50+ tools.
Universal memory for AI agents and tools. Save, organize and search context anywhere.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/bsahane/memory-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server