GrayMatter MCP
Память для агентов одним бинарником на Go: факты переживают сессии, находятся по смыслу и слову, а лишнее со временем угасает
- 488 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Хуки в `.claude/settings.json` вставляют сохраненные факты в запрос агента каждый ход
- Агент пишет в память сам, поэтому в `.graymatter/gray.db` могут оказаться фрагменты кода, пути и случайные секреты
- Команда `go install ...@latest` ставит свежую версию из GitHub без закрепления
Установка
- Работает в
Ручная установка
go install github.com/angelnicolasc/graymatter/cmd/graymatter@latestНужен установленный Go. Ставит последнюю версию бинарника.
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Хуки в `.claude/settings.json` вставляют сохраненные факты в запрос агента каждый ход
- Агент пишет в память сам, поэтому в `.graymatter/gray.db` могут оказаться фрагменты кода, пути и случайные секреты
- Команда `go install ...@latest` ставит свежую версию из GitHub без закрепления
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
GrayMatter хранит факты, которые агент записал о проекте, и возвращает самые подходящие в новых сессиях. Статический бинарник на Go около 10 МБ запускает MCP-сервер командой `graymatter mcp serve`. Данные лежат в файле `.graymatter/gray.db`, Docker, Redis и облачный аккаунт не нужны. Инструментов MCP семь: `memory_search`, `memory_search_batch`, `memory_add`, `memory_alias`, `checkpoint_save`, `checkpoint_resume` и `memory_reflect`, через который агент сам добавляет, обновляет, забывает, закрепляет и связывает факты. Поиск смешивает вектор, ключевые слова и свежесть и возвращает до восьми фактов вместо всей истории разговора. Векторы считает Ollama, OpenAI или Voyage AI, если они доступны, иначе поиск идет по ключевым словам. У факта период полураспада 30 дней: без обращений его вес падает, закрепленные факты не угасают. Команда `recall --explain` показывает, почему каждый факт попал в выдачу. Для Claude Code `graymatter hooks install` прописывает хуки `SessionStart`, `UserPromptSubmit`, `PreCompact` и `SessionEnd`. Память подставляется каждый ход и переживает `/compact`, а фраза `remember: текст` в запросе сохраняет факт сразу. Флаг `--kg` у демона строит граф знаний из людей, организаций и проектов, `graymatter kg render` рисует его одним HTML-файлом, `graymatter tui` открывает окно памяти из шести разделов.
Для кого. Разработчикам, которые ведут долгие проекты в Claude Code, Cursor, Codex или OpenCode и устали каждый раз заново объяснять агенту договоренности.
Подходит, если
- Агент в каждой новой сессии забывает соглашения проекта, и вы повторяете их в начале диалога
- Длинная история съедает квоту: по замеру разработчика, при 100 сессиях выдача из восьми фактов экономит около 90% токенов против полной истории
- Факт изменился, и агент должен перестать возвращать старое значение: `graymatter revise` сохраняет исправление
- Правила нужны всем агентам проекта сразу: `remember shared: текст` кладет факт в общее пространство, которое читает каждый
- Накопленные факты хочется просмотреть и поправить руками в окне `graymatter tui`
Не подходит, если
- Нужен разбор исходного кода, вызовов и зависимостей: GrayMatter исходники не читает, факты появляются только после явной записи
- Основным форматом должны быть Markdown-файлы, как в Obsidian: для него есть экспорт `graymatter export --format obsidian`, но рабочее хранилище остается файлом `gray.db`
- Нужна общая память команды на сервере: REST-сервер слушает только `127.0.0.1` и защищен токеном
Пример запроса к агенту
Запомни, что миграции в этом проекте пишем только на SQL, и напомни прежние договоренности по структуре каталоговMCP
- Транспорт
- stdio
- Авторизация
- не нужна
Переменные окружения
OPENAI_API_KEYсекрет- Включает смысловой поиск через OpenAI, если Ollama недоступен.
VOYAGE_API_KEYсекрет- Включает смысловой поиск через Voyage AI.
Ограничения
- Без Ollama, OpenAI или Voyage AI работает только поиск по ключевым словам с учетом свежести, смысловой поиск недоступен.
- Автоматические хуки описаны только для Claude Code, в остальных клиентах память подключается через MCP и агент записывает факты сам.
- Факты угасают: через 30 дней без обращений вес вдвое ниже, важное закрепляйте командой `graymatter pin`.
- Метки уверенности (`--confidence`) появились в версии 0.20.0 и в старых бинарниках отсутствуют.
Как отключить. Удалите запись `graymatter` из конфигурации MCP клиента (`claude mcp remove graymatter` для Claude Code) и блок хуков из `.claude/settings.json`. Память лежит в каталоге `.graymatter/` проекта: удалите его, если факты больше не нужны.
Частые вопросы
Как подключить GrayMatter к Claude Code?
Выполните в папке проекта `graymatter init`, мастер пропишет сервер в `.mcp.json`. Для регистрации на пользователя есть команда `claude mcp add --scope user --transport stdio graymatter -- graymatter mcp serve`. Автоматическую память через хуки включает `graymatter init --hooks`. После этого перезапустите клиент.
Нужны ли ключ API или Ollama?
Нет, хранение и поиск по ключевым словам работают без ключей и без сети. Смысловой поиск включается, когда доступен Ollama или заданы `OPENAI_API_KEY` либо `VOYAGE_API_KEY`.
Как исправить факт, который агент запомнил неверно?
Команда `graymatter revise "агент" "старый текст" "новый текст"` сохраняет исправление, и поиск перестает возвращать старое значение. Чтобы убрать факт без замены, используйте `graymatter forget`. Снятые факты остаются в базе с пометкой.
Чем GrayMatter отличается от сжатия контекста?
Компрессор сжимает трафик, который уже идет к модели. GrayMatter трафика не видит: агент записывает короткие итоги и позже достает несколько нужных. Эти подходы можно ставить вместе.
Есть ли у GrayMatter окно для просмотра памяти?
Да, `graymatter tui` открывает рабочее окно из шести разделов: память, поиск, активность, граф, расход и статус. Флаг `--read-only` запрещает любые изменения.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыMCP-сервер долговременной памяти для ИИ-агентов: факты стареют по кривой забывания, связанные записи сжимаются в сводку
Одна программа дает Claude Code, Codex и Cursor общую память между сессиями: граф знаний лежит локально, ключи API не нужны
Долговременная память агента в локальных Markdown-файлах с графом связей, семантическим поиском и MCP-доступом
Постоянная память агента на графе связей: решения и ошибки переживают сессию, без векторной базы и платных вызовов API
Долговременная память агента в папке связанных markdown-заметок, чтобы Claude Code помнил проект между сессиями
MCP-сервер долговременной памяти для агентов: один бинарник на Rust, который работает офлайн и не вызывает языковую модель
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| GrayMatter (эта карточка) | нет | не нужна | 488 | |
| agentmemory | да | не нужна | 30 160 | хуки записывают ход каждой сессии автоматически, GrayMatter хранит факты, которые агент записал сам |
| Mem0 | нет | 68 456 | слой памяти с плагинами, CLI и SDK, GrayMatter ставится одним бинарником на Go | |
| Basic Memory | нет | не нужна | 4 495 | ведет память в Markdown-файлах с графом связей, GrayMatter держит факты в одном файле `gray.db` и ослабляет старые |
Коротко о README
Страница объясняет, почему агенты забывают проект, и приводит замеры токенов на тестовом наборе. Затем идут граф знаний, окно `graymatter tui`, быстрый старт, таблица подключения клиентов, жизненный цикл памяти и список команд. В конце есть пример использования как библиотеки Go, раздел про эмбеддинги и безопасность и сравнение с графами кода и компрессорами контекста.