Perenna — MCP-сервер памяти для Claude Code и Codex
Общая память для ИИ-агентов: записи лежат в отдельном Git-репозитории в виде Markdown и доступны разным клиентам.
claude mcp add --env PERENNA_GIT_REMOTE=<PERENNA_GIT_REMOTE> --env VEXOR_API_KEY=<VEXOR_API_KEY> --env VEXOR_REMOTE_RERANK_API_KEY=<VEXOR_REMOTE_RERANK_API_KEY> --env VEXOR_CONFIG_JSON=<VEXOR_CONFIG_JSON> --transport stdio perenna -- uvx perennaЧто делает Perenna
Perenna хранит долговременные заметки агента в обычном Git-репозитории, а не в облаке вендора. Каждая запись — Markdown-файл, который можно открыть, поправить руками, откатить или забэкапить. Чтение, запись и удаление вынесены в отдельные MCP-инструменты, поэтому агент не тянет за собой историю чужого чата.
Поиск по памяти работает через локальный индекс Vexor: его можно пересобрать из Git в любой момент. Для нескольких процессов на одной машине есть межпроцессная блокировка. Подключение бывает локальным через stdio, через loopback-only Streamable HTTP и через удалённый HTTP с OAuth.
Перед установкой нужны Python 3.12+, Git и uv. Поиск не заработает без настроенного провайдера эмбеддингов Vexor: сначала uvx vexor init, потом проверка uvx vexor doctor из того окружения, откуда стартует MCP-клиент. При выборе локальных эмбеддингов ставьте perenna[local]. Данные по умолчанию лежат в ~/.perenna/.
Какие задачи решает
- хранить заметки агента между разными клиентами
- подключить общую память к Claude и Codex сразу
- пересобрать индекс поиска из Git после сбоя
- синхронизировать память между машинами через приватный репозиторий
- править воспоминания агента вручную в Markdown
Примеры запросов агенту
- Сохрани в память решение по схеме авторизации из этого проекта
- Найди в памяти, что мы решили про миграции базы
- Установи скилл памяти для Claude:
perenna skill install --agent codex
Как установить Perenna
Командой платформы
claude mcp add --env PERENNA_GIT_REMOTE=<PERENNA_GIT_REMOTE> --env VEXOR_API_KEY=<VEXOR_API_KEY> --env VEXOR_REMOTE_RERANK_API_KEY=<VEXOR_REMOTE_RERANK_API_KEY> --env VEXOR_CONFIG_JSON=<VEXOR_CONFIG_JSON> --transport stdio perenna -- uvx perennaВместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from perenna <команда>
Командой платформы
codex mcp add perenna --env PERENNA_GIT_REMOTE=<PERENNA_GIT_REMOTE> --env VEXOR_API_KEY=<VEXOR_API_KEY> --env VEXOR_REMOTE_RERANK_API_KEY=<VEXOR_REMOTE_RERANK_API_KEY> --env VEXOR_CONFIG_JSON=<VEXOR_CONFIG_JSON> -- uvx perennaВместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from perenna <команда>
Файл настроек
{
"mcpServers": {
"perenna": {
"command": "uvx",
"args": [
"perenna"
],
"env": {
"PERENNA_GIT_REMOTE": "<PERENNA_GIT_REMOTE>",
"VEXOR_API_KEY": "<VEXOR_API_KEY>",
"VEXOR_REMOTE_RERANK_API_KEY": "<VEXOR_REMOTE_RERANK_API_KEY>",
"VEXOR_CONFIG_JSON": "<VEXOR_CONFIG_JSON>"
}
}
}
}Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from perenna <команда>
Файл настроек
{
"servers": {
"perenna": {
"type": "stdio",
"command": "uvx",
"args": [
"perenna"
],
"env": {
"PERENNA_GIT_REMOTE": "<PERENNA_GIT_REMOTE>",
"VEXOR_API_KEY": "<VEXOR_API_KEY>",
"VEXOR_REMOTE_RERANK_API_KEY": "<VEXOR_REMOTE_RERANK_API_KEY>",
"VEXOR_CONFIG_JSON": "<VEXOR_CONFIG_JSON>"
}
}
}
}Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from perenna <команда>
Командой платформы
gemini mcp add -e PERENNA_GIT_REMOTE=<PERENNA_GIT_REMOTE> -e VEXOR_API_KEY=<VEXOR_API_KEY> -e VEXOR_REMOTE_RERANK_API_KEY=<VEXOR_REMOTE_RERANK_API_KEY> -e VEXOR_CONFIG_JSON=<VEXOR_CONFIG_JSON> perenna uvx perennaВместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from perenna <команда>
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о Perenna
Как установить Perenna в Claude Code?
Сначала поставьте пакет: uv tool install perenna, затем настройте провайдер эмбеддингов командой uvx vexor init. После этого добавьте сервер: claude mcp add perenna -e VEXOR_API_KEY=<VEXOR_API_KEY> -e VEXOR_REMOTE_RERANK_API_KEY=<VEXOR_REMOTE_RERANK_API_KEY> -- uvx perenna.
Что делает Perenna?
Даёт агентам постоянную память в отдельном Git-репозитории. Записи хранятся как Markdown, а поиск по ним идёт через локальный индекс Vexor.
Можно ли синхронизировать память между машинами?
Да, через приватный Git-репозиторий: perenna sync setup <repository-url>. Отключить синхронизацию, не удаляя remote, можно командой perenna sync disable.