LoreConvo
OfficialLoreConvo v0.10.6
Ваша память следует за вашей личностью, а не за вашим инструментом — с вашего согласия.
LoreConvo — это единственная AI-память, которая переносит ваш контекст между Claude Code, Cowork, Codex, Cursor и Hermes Agent. Одна установка, одна память, где бы вы ни писали код.
Установка прямо из маркетплейса плагинов Claude Code или через PyPI:
uvx loreconvo
Почему LoreConvo?
Работает там, где работаете вы
LoreConvo работает в Claude Code, Cowork, Cursor, Codex и Hermes — один и тот же слой памяти, независимо от того, какой клиент вы используете. Когда вы переключаетесь между проектами, ваш контекст автоматически путешествует вместе с вами.
Большинство инструментов ограничивают память машиной или рабочим пространством. LoreConvo хранит всё локально в базе данных SQLite, которая принадлежит вам, и отображает её где бы вы ни находились. Захват происходит двумя способами: явно через инструменты сохранения или автоматически в конце сеанса, если вы установите дополнительные хуки. В любом случае вы можете просмотреть, отредактировать или удалить любую память в любое время.
Вы контролируете, что сохраняется
LoreConvo даёт вам контроль: автоматический захват работает только если вы решите установить хуки сеанса, каждое сохранение можно проверить, и вы можете удалить любую память в любое время.
Каждая память показывает, откуда она взялась — какая поверхность её захватила, когда, к какому проекту она относится, и какой навык её создал. Никакой тайны. Полная прослеживаемость.
Ваша память остаётся на вашей машине
LoreConvo хранит всё в базе данных SQLite на вашей собственной машине. Ваши данные остаются локальными, если вы явно не включите дополнительную функцию AI-суммаризации (Pro, по умолчанию выключена), которая отправляет фрагмент транскрипта в Anthropic API с использованием вашего собственного ключа. Никаких облачных аккаунтов. Никакого поставщика с доступом к вашей истории сеансов.
Ваши сеансы хранятся в ~/.loreconvo/sessions.db — файле, которым вы владеете, можете создавать резервные копии и удалять когда захотите.
Структурированная память, а не сырые транскрипты
LoreConvo захватывает два типа памяти для каждого сеанса:
Эпизодическая память: что произошло — сводки, созданные артефакты, оставшиеся открытые вопросы
Семантическая память: что было решено — устойчивые выводы о проекте, которые сохраняются между сеансами
Вместе они дают Claude структурированную, доступную для поиска запись истории вашего проекта, а не просто кучу транскриптов чата.
Related MCP server: ai-memory
Бенчмарк Recall
Поиск FTS5 в LoreConvo протестирован на синтетическом корпусе из 60 сеансов (6 тематических областей, 36 размеченных запросов).
Вариант | Recall@5 | MRR |
FTS5 + расширение составных токенов (по умолчанию) | 88.9% | 0.875 |
FTS5 базовый (без расширения) | 72.2% | 0.708 |
Расширение составных токенов (предобработка запросов camelCase / snake_case) повышает Recall@5 на +35.7 п.п. для запросов, использующих технические идентификаторы, такие как autoSave, pipeline_tracker и get_context_for.
Полный отчёт о бенчмарке | Воспроизвести
Быстрый старт
Одна команда для установки:
bash install.shЭто создаёт виртуальное окружение, устанавливает зависимости и проверяет, что всё работает. Никаких изменений в системном Python, никаких ручных команд pip.
Использование LoreConvo
Claude Code (Терминал)
Начать сеанс с загруженным плагином:
claude --plugin-dir /path/to/loreconvoИли загрузить его внутри существующего сеанса:
/plugin add /path/to/loreconvoЗамените /path/to/loreconvo на путь, куда вы сохранили папку с исходниками.
После внесения изменений в код используйте /reload-plugins, чтобы обновить без перезапуска.
После загрузки Claude автоматически получает доступ ко всем 39 инструментам MCP LoreConvo. Попросите Claude «сохранить этот сеанс» или «вспомнить, что мы обсуждали о X», и он сам воспользуется инструментами.
Cowork (Настольное приложение)
Нажмите кнопку + рядом с полем ввода
Выберите Плагины
Выберите Добавить плагин
Перейдите к папке исходников
loreconvo
Важно: Общий доступ к базе данных
Cowork работает в изолированной виртуальной машине и по умолчанию не видит файловую систему вашего Mac. Чтобы прочитать сеансы, сохранённые Claude Code, попросите Claude в Cowork:
«Подключи мою папку ~/.loreconvo»
После подключения Cowork читает и записывает в ту же базу данных, что и Claude Code. Сеансы, сохранённые в Code, мгновенно появляются в Cowork.
Claude Chat (Веб)
Chat не поддерживает плагины, поэтому LoreConvo предоставляет мост в одну команду. Запустите это в терминале:
bash export-to-chat.shЭто экспортирует ваш последний сеанс и копирует его в буфер обмена (macOS). Переключитесь на Chat и вставьте (Cmd+V). Chat мгновенно получает контекст из вашего сеанса Code или Cowork.
Чтобы найти конкретный сеанс:
bash export-to-chat.sh "tax prep"Как это работает на разных поверхностях
Основная ценность LoreConvo в том, что контекст автоматически сохраняется между поверхностями Claude. Вот полная цепочка:
Claude Code (~/.claude/settings.json via `claude mcp add`)
|-- SessionEnd hook --> auto_save.py --> ~/.loreconvo/sessions.db
|-- SessionStart hook <-- auto_load.py <-+
|
Cursor (.cursor/mcp.json) <--MCP-----+
Codex (~/.codex/config.toml) <--MCP-+
Hermes Agent (~/.hermes/config.yaml) <-MCP-+
Cowork (MCP-native execution env) <--+
All surfaces: save_session / get_recent_sessions / search_sessions
Claude Chat (web)
|-- export-to-chat.sh --> clipboard --> paste into ChatClaude Code — основная поверхность. Хуки запускаются автоматически:
Когда сеанс заканчивается,
auto_save.pyзахватывает разговор и сохраняет структурированную сводку (решения, артефакты, открытые вопросы, теги) в локальную базу данных SQLite.Когда начинается новый сеанс,
auto_load.pyзапрашивает базу данных, оценивает недавние сеансы по качеству сигнала и внедряет наиболее релевантный контекст в сеанс как системный контекст. Сеансы с открытыми вопросами и решениями получают наивысший балл; сеансы с низким сигналом отфильтровываются. Он также индексирует любойMEMORY.md, найденный в каталоге проекта (см. Автоиндексация MEMORY.md ниже).
Cursor подключается через .cursor/mcp.json в корне проекта — тот же протокол MCP, что и Claude Code. См. INSTALL.md для деталей настройки.
OpenAI Codex подключается через ~/.codex/config.toml с использованием секции [mcp_servers.<name>]. См. INSTALL.md для деталей настройки.
Hermes Agent подключается через ~/.hermes/config.yaml в разделе mcp_servers:. См. INSTALL.md для деталей настройки.
Claude Chat (веб) не поддерживает плагины. Скрипт export-to-chat.sh заполняет этот пробел: он экспортирует ваш последний сеанс в буфер обмена, чтобы вы могли вставить его прямо в Chat. Это даёт Chat тот же контекст, который Code загрузил бы автоматически.
Результат: когда вы переключаете поверхности в середине проекта, вам никогда не придётся заново объяснять, что вы делали.
Ваши данные всегда доступны
LoreConvo работает через инструменты MCP, когда они доступны, и автоматически переключается на встроенные скрипты, когда их нет. Ваши сеансы в безопасности независимо от статуса MCP — те же операции сохранения, поиска и извлечения работают в обоих случаях. Вам не нужно ничего настраивать; навык плагина обрабатывает переключение незаметно.
Проектные рабочие пространства
Проекты LoreConvo — это постоянные рабочие пространства — каждый сеанс, решение и артефакт из вашей работы над проектом доступны для поиска с любой поверхности Claude.
# Create a project workspace
create_project("my-api", "REST API project", expected_skills=["openapi", "python"])
# Add persistent project instructions (optional)
create_project(
"my-api",
description="REST API project",
instructions="Python 3.10+, SQLite only. No cloud dependencies. Deploy via Docker."
)
# See recent sessions, skill usage, and open questions for the project
get_project("my-api")
# Search scoped to the project
search_sessions("auth design", project="my-api")Инструкции проекта (необязательно): При создании проекта вы можете сохранить постоянные инструкции или ограничения, которые Claude увидит в начале сеанса. Это полезно для соблюдения стандартов проекта без повторения их в каждом файле CLAUDE.md. Инструкции отображаются в контексте автозагрузки перед сводками недавних сеансов.
В сочетании с LoreDocs LoreConvo образует переносимое проектное рабочее пространство для всего Claude — память сеансов И структурированные знания, полностью на вашей машине. Там, где облачные AI-рабочие пространства привязывают вас к одной экосистеме, пара Lore работает на всех поверхностях Claude, которые вы уже используете.
Автоиндексация MEMORY.md
Если в вашем проекте есть файл MEMORY.md, LoreConvo автоматически индексирует его при каждом запуске сеанса. Содержимое становится доступным для поиска вместе с обычными сеансами через search_sessions.
Это означает, что Claude может вспомнить соглашения проекта, заметки команды или архитектурные решения из MEMORY.md без необходимости упоминать их. Результаты поиска из MEMORY.md помечаются тегом memory_md и имеют source='file_memory', чтобы вы могли отличить их от обычных записей сеансов.
Какой каталог сканируется?
По умолчанию LoreConvo сканирует каталог, в котором запущен Claude Code (текущий рабочий каталог). Чтобы указать другой каталог, передайте LORECONVO_PROJECT_PATH как флаг окружения в вашей команде claude mcp add --scope user:
"--env=LORECONVO_PROJECT_PATH=/Users/YOUR_USERNAME/projects/my_project"Замените YOUR_USERNAME и my_project на ваши реальные значения. Используйте полный абсолютный путь — не используйте ~ или $HOME.
Фильтрация записей MEMORY.md в результатах поиска
Чтобы включить записи MEMORY.md в поиск, используйте search_sessions обычным образом — они появляются автоматически. Чтобы видеть только записи MEMORY.md, отфильтруйте по тегу:
«Найди сеансы LoreConvo с тегом memory_md для „database conventions“».
Индекс обновляется при каждом запуске сеанса (идемпотентно — дубликаты не накапливаются).
Проверка установки
После установки проверьте, что LoreConvo работает, спросив Claude:
«Выполни
get_recent_sessionsи покажи мне результаты».
Если вы видите список сеансов (или пустой список, если это первый раз), LoreConvo подключён. Если вы получаете ошибку об отсутствующих инструментах, повторно запустите bash install.sh и перезагрузите плагин.
Для проверки хуков (только Claude Code):
«Проверь, загрузил ли LoreConvo какой-либо контекст автоматически в начале этого сеанса».
Если хук SessionStart работает, Claude автоматически получит контекст из ваших недавних сеансов.
Рекомендуемая настройка CLAUDE.md
Для лучшего опыта добавьте следующий фрагмент в ваш ~/.claude/CLAUDE.md (глобальный) или в CLAUDE.md вашего проекта. Это сообщает Claude, как использовать LoreConvo последовательно во всех сеансах.
## LoreConvo (persistent session memory)
At session start:
1. Call `get_recent_sessions` to check for recent context relevant to the current work.
2. Use this context to avoid re-explaining things already discussed in prior sessions.
During the session:
- If important decisions are made or domain knowledge is shared, note it for the session summary.
At session end:
- Call `save_session` with a summary of what was accomplished, key decisions, open questions,
and any artifacts created. Use appropriate tags (e.g., project name, surface).Для пользователей Cowork: Cowork не запускает хуки автоматически. Добавьте инструкции вызывать get_recent_sessions в начале сеанса и save_session в конце в ваш проектный CLAUDE.md. См. COWORK_RESTORE.md для деталей.
Планы: Free vs Pro
LoreConvo — локальный и бесплатный в использовании. Pro ($8/мес) снимает ограничение на количество сеансов и открывает сводки качества LLM, гибридный поиск и связывание между продуктами. Всё работает на вашей машине на любом плане — Pro не добавляет облачных компонентов.
Поиск в бесплатном тарифе: ключевые слова (FTS5) + сортировка по новизне. Поиск в тарифе Pro: гибридный поиск — векторный (BGE-small-en-v1.5), полнотекстовый BM25 и переранжирование по новизне, объединённые через RRF-фузию. Находит сеансы по смыслу, а не только по ключевым словам.
Бесплатно | Pro ($8/мес) | |
Сохраненные сессии | 50 | Безлимитно |
Полнотекстовый поиск (FTS5) | Да | Да |
Автоиндексация MEMORY.md | Да | Да |
Тегирование проектов, связывание сессий, история навыков | Да | Да |
Хуки автозагрузки / автосохранения | Да | Да |
Локально-ориентированное, без облака, нулевые затраты на API | Да | Да |
Поиск связанных сессий | Совпадение ключевых слов | На основе эмбеддингов (BGE-small-en-v1.5) |
Асинхронная суммаризация сессий через LLM | -- | Да (Claude Haiku, по желанию) |
Гибридный поиск: векторный + BM25 + реранжирование по новизне ( | -- | Да (Pro) |
Межпродуктовое связывание документов ( | -- | Да (также требуется LoreDocs Pro) |
Командная память -- экспорт/объединение сессий между машинами | -- | Да |
Экспорт для управляемых агентов Anthropic ( | -- | Да |
Проверьте свой текущий тариф и использование с помощью get_tier. Активируйте лицензию Pro с помощью vault_set_tier.
Возможности
Автоматический захват сессий: Сессии сохраняются в конце сессии и загружаются в начале сессии через хуки Claude Code -- ручной вызов
save_sessionне требуетсяКросс-клиентская память: Ваш контекст следует за вами в Claude Code, Cowork, Cursor, Codex и Hermes -- не привязан к одной IDE или машине
Структурированные сессии: Захватывает решения, артефакты, открытые вопросы -- не только сырой текст; необязательное поле reasoning_notes хранит цепочки рассуждений агента
Организация проектов: Группировка сессий по проектам с ожидаемыми наборами навыков
Отслеживание навыков: Запись использованных навыков для умной фильтрации
Тегирование персон: Иерархические персоны для памяти, специфичной для агента (например,
ron-bot:sql)Полнотекстовый поиск: SQLite FTS5 для быстрого поиска по ключевым словам во всех сессиях
Автоиндексация MEMORY.md: Ваш проект MEMORY.md автоматически индексируется в начале сессии и доступен для поиска наряду с обычными сессиями через
search_sessionsАсинхронная суммаризация сессий через LLM (Pro): Автосохраненные сессии в фоновом режиме улучшаются до сводок уровня LLM с помощью Claude Haiku. Включите, установив
LORECONVO_ANTHROPIC_API_KEY. Ежедневный лимит (LORECONVO_SUMMARIZER_DAILY_CAP, по умолчанию 100) предотвращает неконтролируемые расходы на API. Только для тарифа Pro.Поиск связанных сессий на основе эмбеддингов (Pro):
get_related_sessionsавтоматически находит сессии с похожим содержимым, используя эмбеддинги BGE-small-en-v1.5 (косинус >= 0.75). До 10 двунаправленных автоматических связей при каждом сохранении, в пределах одного проекта. Бесплатный тариф получает связи по совпадению ключевых слов. УстановитеLORECONVO_EMBEDDING_LINKS=0, чтобы отключить связи на основе эмбеддингов.Межпродуктовое связывание документов (Pro): Автоматически находит и связывает документы LoreDocs, наиболее релевантные для любой сессии, и наоборот. Использует два новых инструмента:
get_docs_for_sessionиsession_link_doc. Требуются LoreConvo Pro и LoreDocs Pro.Локально-ориентированное: База данных SQLite, без зависимости от облака, нулевые затраты на API
Тарифы
Бесплатно - 50 сессий
Полный набор функций: автозагрузка, полнотекстовый поиск, тегирование, связывание сессий, экспорт и импорт
Локальное хранилище SQLite -- ваши данные, ваша машина, облачная учетная запись не требуется
Установка в один клик через Anthropic Marketplace
Pro - $8/месяц
Безлимитные сессии
Командная память: делитесь сессиями с коллегами (локально-ориентированный асинхронный экспорт/импорт, сервер не требуется)
Поиск связанных сессий и семантический поиск
Экспорт для управляемых агентов Anthropic
Фоновая суммаризация сессий уровня LLM (асинхронно)
MCP-инструменты
LoreConvo предоставляет 39 MCP-инструментов, которые Claude вызывает автоматически во время сессий. В таблице ниже показаны наиболее часто используемые -- полный справочник см. в Каталоге MCP-инструментов.
Инструмент | Что делает |
| Сохранить сводку сессии с решениями, артефактами и тегами |
| Список последних сессий, опционально отфильтрованных по поверхности |
| Получить конкретную сессию по ID |
| Полнотекстовый поиск по всем сохраненным сессиям |
| Извлечь релевантный контекст по теме (лучше всего для использования "recall") |
| Добавить тег персоны к сессии |
| Связать связанные сессии с типом отношения |
| Найти сессии, связанные с данной сессией |
| Создать именованный проект с ожидаемыми навыками |
| Получить детали проекта и связанные сессии |
| Список всех проектов |
| Посмотреть, какие сессии использовали конкретный навык |
| Проактивные предложения релевантного контекста для загрузки |
| Проверить текущий тариф и статус лицензионного ключа |
| Установить активный тариф (free или pro) |
| Экспорт сессий в переносимый формат JSON |
| Импорт сессий из ранее экспортированного JSON-файла |
| Объединить связанные сессии в постоянные записи памяти (Recall) |
| Внедрить сжатый дайджест памяти в текущую сессию (Recall) |
| Пометить сессию на истечение и удаление после указанной даты |
| Показать статистику использования (количество сессий, разбивка по поверхностям) |
| Проверить внутренности сессии для отладки |
| Экспорт сессий в формате управляемых агентов Anthropic (Pro) |
| Перестроить индекс семантического поиска LanceDB (Pro) |
| Мастер первоначальной настройки |
| Просмотр журнала активности консолидации |
| Получить документы LoreDocs, связанные с конкретной сессией (Pro -- требуется LoreDocs Pro) |
| Вручную создать связь между сессией и документом LoreDocs (Pro -- требуется LoreDocs Pro) |
| Закрепить или открепить сессию, чтобы исключить ее из автоматической очистки |
| Список сессий, помеченных как анти-паттерны (подходы, которых следует избегать) |
| Пометить сессию как анти-паттерн, чтобы будущие вызовы (recall) ее отмечали |
| Удалить тег анти-паттерна с сессии |
| Сохранить структурированный элемент памяти: решение, открытый вопрос или артефакт |
| Запросить структурированные элементы памяти по типу, проекту, статусу и давности |
| Переместить элемент памяти по его жизненному циклу (retire, answer, wont-answer) |
| Исправить заголовок, тело, теги или метаданные элемента памяти или переместить его между проектами |
| Сохранить или обновить именованную конфигурацию темы, чтобы агент автоматически загружал целевой контекст в начале сессии |
| Вернуть целевой контекст сессии для агента, используя сохраненные темы или темы, переданные при вызове |
| Экспорт графа знаний Mermaid для сессий и их связей |
Требования
Python 3.10+
macOS или Linux
mcpиclick(автоматически устанавливаютсяinstall.sh)
Данные и конфиденциальность
LoreConvo является локально-ориентированным. Все данные хранятся в ~/.loreconvo/sessions.db на вашей машине.
Собираемые данные: Заголовки сессий, сводки, теги, идентификаторы поверхностей, названия проектов и имена навыков, которые вы указываете при сохранении. Никакая телеметрия, аналитика использования или идентификаторы не собираются автоматически.
Хранение: База данных SQLite по пути
~/.loreconvo/sessions.db. Без облачного хранения. Переопределите путь с помощью переменной окруженияLORECONVO_DB.Передача третьим лицам: По умолчанию никакой. Данные покидают вашу машину только если вы включите опциональную AI-суммаризацию (Pro), установив
LORECONVO_ANTHROPIC_API_KEY, которая отправляет ограниченный фрагмент транскрипта в Anthropic API под вашим собственным ключом. Оставьте ключ неустановленным -- и все останется локальным.Срок хранения: Данные хранятся до тех пор, пока вы не удалите их через
delete_sessionили не удалите файл базы данных вручную. Автоматического истечения срока нет.
Полная политика конфиденциальности: https://labyrinthanalyticsconsulting.com/privacy
Устранение неполадок
Инструменты MCP не отображаются в Claude Code?
Убедитесь, что вы сначала запустили bash install.sh. Папка .venv должна существовать с установленными зависимостями.
Ошибка "No module named 'mcp'"?
Файл .mcp.json указывает на .venv/bin/python3 внутри папки плагина. Если вы переместили папку, повторно запустите bash install.sh.
Cowork не видит сессии, сохраненные в Code? Попросите Claude "смонтировать мою папку ~/.loreconvo", чтобы Cowork мог получить доступ к общей базе данных.
Резервный скрипт (прямой доступ к БД)
Если MCP-сервер недоступен (например, в запланированных задачах или скриптах автоматизации), scripts/save_to_loreconvo.py предоставляет те же основные операции напрямую с базой данных SQLite.
# Save a session
python scripts/save_to_loreconvo.py \
--title "Daily QA run" \
--surface "qa" \
--summary "Ran full test suite. All passing." \
--tags '["qa", "automated"]'
# Read recent sessions
python scripts/save_to_loreconvo.py --read --limit 5
# Filter by surface
python scripts/save_to_loreconvo.py --read --surface code --limit 3
# Search sessions
python scripts/save_to_loreconvo.py --search "tax pipeline"Скрипт автоматически обнаруживает базу данных по пути ~/.loreconvo/sessions.db (или передайте --db-path явно). Он генерирует корректные UUID и записывает ту же схему, что и инструмент MCP save_session.
Что нового
v0.10.6 (2026-08-19)
Исправлено: оповещения о сбоях могли замолчать во время того самого сбоя, который они призваны обнаруживать
Если хук сохранения падал достаточно рано — ещё до завершения запуска, — сбой не регистрировался вовсе, и оповещение «автоматическое сохранение перестало работать» молчало в той самой ситуации, для которой оно и было создано. Теперь хуки сохранения фиксируют сбой через резервный путь, даже если падают так рано, поэтому оповещение срабатывает при любом сценарии сбоя, а не только при тех, где хук успевает зайти достаточно далеко, чтобы сообщить о себе.
Полную историю релизов см. в журнале изменений.
Лицензия
Business Source License 1.1 (BSL 1.1) - Labyrinth Analytics Consulting
Бесплатно для личного/некоммерческого использования (до 50 сессий). Коммерческое использование требует платной лицензии. Преобразуется в Apache 2.0, начиная с 2030-03-31. Подробности см. в LICENSE.
Available Tools
33 toolsconsolidate_memoriesConsolidate MemoriesA
Run memory consolidation for a project to build a structured digest.
Analyzes recent sessions and extracts decisions, open questions, and tech stack facts. Free tier: up to 3 consolidations per day. Pro: unlimited.
Returns a digest dict with status, decisions found, open questions, and the formatted digest_markdown for reference.
Acquires an exclusive lock; returns status='lock_held' if another consolidation is already running.
Args: project: Project name (matches the --project tag used when saving sessions) surface: Surface to consolidate ('code', 'cowork', 'chat', etc.) or None for all max_sessions: Maximum number of recent sessions to analyze (default 50) mode: 'heuristic' (free, default). 'llm' requires Pro (v0.6.1).
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | heuristic | |
| project | Yes | ||
| surface | No | ||
| max_sessions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description fully covers behavioral traits: exclusive lock yielding 'lock_held' status, return digest structure, mode differences (heuristic vs llm), tier restrictions, and session analysis scope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with summary first then details, but slightly verbose. Each sentence adds value, though could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema or annotations, but description fully covers parameters, return value (digest dict), edge cases (lock held), tier limitations, and mode differentiation, making it complete for an agent to use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but description comprehensively explains all 4 parameters: project (matches tag), surface (any or null for all), max_sessions (default 50), mode (heuristic free, llm requires Pro), adding critical context beyond bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states that the tool runs memory consolidation to build a structured digest, specifying actions (analyzes recent sessions, extracts decisions, open questions, tech stack facts) and distinguishing it from other memory/export tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Mentions free tier limits (3/day) and Pro unlimited, and the exclusive lock behavior, but does not explicitly contrast with alternative tools like get_memory_digest or get_context_for.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_projectCreate ProjectA
Create or update a project definition.
Projects group related sessions and can auto-associate based on skill usage.
Args: name: Project identifier (e.g., 'secret-agent-man', 'project-ron') description: What this project is about expected_skills: Skills typically used in this project's sessions default_persona: Auto-tag new sessions with this persona instructions: Optional project-wide instructions or constraints
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| description | No | ||
| instructions | No | ||
| default_persona | No | ||
| expected_skills | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It does not disclose whether update is merge or replace, side effects, or error conditions. For a mutation tool, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very concise: three sentences overview plus a focused bullet list of parameters. No fluff; every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers the core operation and parameters, but lacks details on return value (expected for create/update), update behavior, and error handling. With 5 parameters and no output schema, more completeness would be beneficial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description includes an Args section that explains each parameter's purpose (e.g., 'expected_skills: Skills typically used in this project's sessions'). This fully compensates for the missing schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Stated as 'Create or update a project definition' – clear verb+resource. Title 'Create Project' is slightly but not misleadingly narrower. Differentiates from siblings like get_project and list_projects by indicating mutation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage via 'Projects group related sessions and can auto-associate based on skill usage.' Context signals and siblings (get_project, list_projects) help clarify when to use. However, no explicit when-not-to or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_for_anthropicExport Sessions for AnthropicA
Export LoreConvo sessions to Anthropic managed-agents memory format. Pro only.
Produces a JSON file in 'anthropic-memory-v1' format, suitable for import into Anthropic managed-agents memory stores. Only non-periodic, non-file-memory sessions are exported (contamination control).
NOTE: Field mapping is preliminary pending Anthropic beta API schema stabilization. Cassandra will signal when the schema is stable. Save the output and validate against Anthropic docs before submitting to a managed-agents memory store.
Args: output_path: File path to write the export. If omitted, data is returned inline. project: Export only sessions from this project. session_ids: List of specific session UUIDs to export. Overrides project filter. days_back: Limit to sessions from the last N days.
| Name | Required | Description | Default |
|---|---|---|---|
| project | No | ||
| days_back | No | ||
| output_path | No | ||
| session_ids | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description covers important behaviors: export scope (session types), output format ('anthropic-memory-v1'), field mapping instability warning, and behavior of output_path (file or inline). No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with introduction, constraints, note, and Args list. Front-loaded with primary action. The note on field mapping is relevant but slightly lengthy; overall concise for the information provided.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description covers key aspects: format, filtering options, instability warning, and inline return behavior. Could mention return structure or size expectations, but sufficiently complete for a moderately complex tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage 0%, but description explains all 4 parameters in the Args section, including purpose and behavior (e.g., session_ids overrides project). This fully compensates for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Export LoreConvo sessions to Anthropic managed-agents memory format' – a specific verb and resource, and distinguishes from siblings like 'export_sessions' by specifying the target format. The 'Pro only' restriction adds clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Describes constraints: 'Only non-periodic, non-file-memory sessions are exported' and notes field mapping instability. However, no explicit guidance on when to use this tool vs. alternatives like 'export_sessions' or 'import_sessions'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_sessionsExport SessionsA
Export sessions to JSON or JSONL for backup or migration.
Exports all matching sessions with full detail (including skills, tags, artifacts). Use output_path to write to a file; omit it to receive the data inline. Use import_sessions to load the exported file.
Args: output_path: File path to write export (e.g. '/tmp/loreconvo_export.json'). If omitted, data is returned inline. project: Export only sessions from this project. tags: Export only sessions that have any of these tags. days_back: Limit to sessions from the last N days. Omit for all time. limit: Max sessions to export (default 1000). format: 'json' (array wrapped in metadata) or 'jsonl' (one session per line).
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | ||
| limit | No | ||
| format | No | json | |
| project | No | ||
| days_back | No | ||
| output_path | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the export includes full detail (skills, tags, artifacts) and explains output_path behavior. However, it does not mention whether the operation is read-only, any authorization needs, or potential side effects. Basic behavioral context is present but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is concise and well-structured: a purpose sentence followed by an Arg list. Every sentence adds value, and key information is front-loaded. No redundant or verbose phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 6 parameters and no output schema or annotations, the description covers the core functionality, parameter semantics, and inline vs file behavior. It does not specify the structure of inline return data or error handling (e.g., file overwrite), but it is largely complete for the tool's purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description includes an Args section that explains each parameter (output_path, project, tags, days_back, limit, format) with context like default values and usage patterns. This adds significant meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool exports sessions to JSON/JSONL for backup/migration. The verb 'export' and resource 'sessions' are specific, and the purpose is well-understood. However, it does not explicitly differentiate from sibling tools like get_session or search_sessions, which limits a top score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear guidance on using import_sessions to load exported data, and explains the output_path behavior (file vs inline). It does not specify when not to use this tool versus alternatives, but the mention of an explicit alternative is helpful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_anti_patternsGet Anti-PatternsA
Retrieve sessions marked as anti-patterns.
Returns a list of dicts with a 'truncated' boolean. Use at session start or before attempting a known-tricky approach to surface past failures.
Args: topic: Optional keyword to filter within anti-patterns. Omit for all anti-patterns ordered by recency. When provided, uses FTS5 with a fan-out heuristic; result may be truncated if anti-patterns are sparse in the corpus. limit: Max results to return (1-100). Defaults to 10. project: Restrict to a specific project slug. Case-sensitive.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| topic | No | ||
| project | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses output structure (list of dicts with 'truncated' boolean), search behavior (FTS5, fan-out heuristic, potential truncation), and ordering (by recency). No annotations, so description fills the gap fully.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sections: general purpose/usage, then Args list. No redundant information. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers output, parameters, and usage guidance. Minor gaps: no mention of error handling or the meaning of 'truncated' boolean beyond existence, but sufficient for a read tool with output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage, but the description explains all three parameters in detail: topic (FTS5 behavior, truncation), limit (default 10, range 1-100), project (case-sensitive). Adds significant value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb 'retrieve' and specific resource 'sessions marked as anti-patterns'. Distinct from sibling tools like tag_as_anti_pattern (write) and search_sessions (general).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States 'Use at session start or before attempting a known-tricky approach to surface past failures', providing concrete context. Does not explicitly exclude other uses or mention alternatives, but sufficient guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_context_forGet Context for TopicA
Get relevant session context for a topic.
Use at the start of a session to load prior decisions and context about a topic. Returns the most relevant session excerpts.
Args: topic: The topic to find context for (e.g., 'K-1 parser', 'rental insurance') max_results: Max excerpts to return (default 5) include_external: If True, include sessions flagged as external_tool_session. Default False. semantic: If True, use LanceDB hybrid search (Pro only). Falls back to FTS5 if index not yet built.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes | ||
| semantic | No | ||
| max_results | No | ||
| include_external | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries full burden. It explains return value ('most relevant session excerpts'), parameter behaviors (semantic fallback, include_external filtering), and notes Pro-only feature. However, it does not disclose edge cases like empty results or if the tool modifies state (though it appears read-only).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and well-structured: a one-line summary, a usage recommendation, then a parameter list. Every sentence adds value, and the layout is easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the 4 parameters and presence of an output schema, the description covers key aspects: purpose, when to use, parameter details, and return type. It lacks minor details like case-sensitivity or partial match behavior, but overall provides sufficient context for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, meaning all parameter meaning is provided by the description. Each parameter (topic, max_results, include_external, semantic) is clearly explained with examples, defaults, and behavioral details (e.g., semantic fallback). This fully compensates for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves session context for a topic, with specific usage guidance at session start. However, it does not explicitly differentiate from sibling tools like get_related_sessions or get_docs_for_session, which share similar retrieval functions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description suggests using at session start to load prior context, but does not mention when to avoid this tool or direct users to alternatives. Usage context is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_docs_for_sessionGet Docs for SessionA
Return LoreDocs documents cross-linked to a LoreConvo session. Pro tier only.
Queries the LoreDocs cross_product_links table. Both LoreConvo and LoreDocs must be installed. Returns an empty list for free-tier callers (not an error).
Manual links (link_type='manual') are always sorted first. Auto-links created with a stale embedding model are marked with is_stale=True and include an upgrade_message.
Args: session_id -- LoreConvo session UUID limit -- max results (default 5)
Returns dict with: schema_version -- int, for version negotiation by callers cross_product_available -- bool tier_gate -- "satisfied" | "pro_required" links -- list of link dicts reason -- set when cross_product_available is False
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| session_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral disclosure. It reveals that manual links are sorted first, auto-links with stale embeddings are marked with is_stale=True and include an upgrade_message. It also specifies the return dict structure. This is comprehensive for a read tool, though it doesn't mention permissions beyond the tier requirement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured. The first sentence immediately states the core purpose. Subsequent details are organized logically with clear sections for arguments and return value. Every sentence adds value without unnecessary verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description thoroughly explains the return dictionary with schema_version, cross_product_available, tier_gate, links, and reason. It also covers edge cases like free-tier behavior and stale embeddings. The agent has all necessary information to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds significant meaning to both parameters: session_id is a LoreConvo session UUID, and limit is the max results with a default of 5. Since schema description coverage is 0%, the description fully compensates by providing clear semantics that the schema alone lacks.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool returns LoreDocs documents cross-linked to a LoreConvo session. This is a specific verb+resource combination, and it distinguishes itself from siblings like 'get_session' by focusing on cross-linking. The purpose is immediately clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage context: Pro tier only, both LoreConvo and LoreDocs must be installed, and free-tier callers get an empty list. While it doesn't explicitly compare to sibling tools, the context is sufficient for an agent to know when this tool is applicable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dream_logGet Dream LogA
Return recent consolidation log entries for transparency and diagnostics.
Each entry shows: timestamp, project, surface, mode, source_count, trigger. Use this to confirm consolidation ran, check rate limit status, and diagnose fallbacks (e.g. api_key_found=false for LLM-mode fallback).
Args: project: Filter by project (or None for all projects) surface: Filter by surface (or None for all) limit: Maximum number of entries to return (default 10, newest first)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| project | No | ||
| surface | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but description explains entry fields and diagnostic purposes. Discloses fallback behavior (e.g., api_key_found=false). Lacks info on authentication or rate limiting details, but adequate given read-only nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with overview, entry fields, use cases, and parameter list. Every sentence is informative and no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, but description explains output fields and usage. Covers all necessary context for an agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and description adds full meaning: explains each parameter, defaults, filtering by null, and ordering (newest first). Goes beyond schema definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it returns recent consolidation log entries for transparency and diagnostics. Specific verb 'Return' and resource 'consolidation log entries' distinguish it from siblings like consolidate_memories.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit use cases provided: confirm consolidation ran, check rate limit status, diagnose fallbacks. Does not mention when not to use or alternatives, but clear enough for a diagnostic tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_memory_digestGet Memory DigestA
Retrieve the current memory digest for a project without re-running consolidation.
Returns None if no digest exists. Use consolidate_memories first to generate one.
Optionally set disable=True to suppress auto-load injection for this digest, or disable=False to re-enable injection. Omit disable to just read the current state.
Args: project: Project name surface: Surface filter (or None for all) disable: If provided, update the disabled flag on the digest
| Name | Required | Description | Default |
|---|---|---|---|
| disable | No | ||
| project | Yes | ||
| surface | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Discloses that it returns None if no digest exists and that setting disable updates a flag. Does not cover error cases or side effects beyond the flag, but overall transparent about read and optional write behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise and well-structured: main purpose first, then return behavior, usage guidance, parameter explanation, and bulleted args. Every sentence adds value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Explains return value and references sibling for generation. Covers the optional disable side-effect. Lacks error handling details (e.g., invalid project) and does not define 'auto-load injection', but sufficient for typical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but description explains each parameter: project as name, surface as filter, and disable with its three behaviors. Adds meaning beyond schema, though surface could be more specific.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states what the tool does: 'Retrieve the current memory digest for a project without re-running consolidation.' It distinguishes from the sibling consolidate_memories by noting that this is a read-only retrieval that does not trigger consolidation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises to 'Use consolidate_memories first to generate one' if no digest exists. Also explains the three modes of the disable parameter. Could be more explicit about when not to use, but the guidance is clear and practical.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_projectGet ProjectC
Get project details including recent sessions and skill usage stats.
Args: project_name: The project identifier
| Name | Required | Description | Default |
|---|---|---|---|
| project_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only says 'Get project details', implying a read operation, but doesn't confirm safety, side effects, or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences plus an args line. It front-loads the purpose. However, it could be more structured with explicit sections.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and 0% parameter coverage, the description is insufficient. It doesn't explain return structure, what constitutes 'recent sessions', or how skill usage stats are presented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds minimal value over the schema: 'project_name: The project identifier' is vague. Schema coverage is 0%, but the description fails to clarify format, examples, or possible values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves project details, including recent sessions and skill usage stats. This distinguishes it from sibling tools like 'get_session' (single session) and 'get_stats' (general stats).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'list_projects' or 'get_session'. No conditions or exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_recent_sessionsGet Recent SessionsB
Get recent session summaries.
Use to see what work was done recently, optionally filtered by project or skill.
Args: limit: Max sessions to return (default 10) days_back: How far back to look (default 30 days) project: Filter to sessions in this project skill: Filter to sessions that used this skill
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| skill | No | ||
| project | No | ||
| days_back | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It states it retrieves summaries, implying a read operation, but does not explicitly confirm no side effects, mention auth requirements, rate limits, or data freshness. The description is too minimal to fully cover the burden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured with a purpose sentence, a usage sentence, and a bullet-like list of parameters. It is concise and front-loaded, though the 'Args:' line is slightly redundant. Overall, efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While an output schema exists (not shown), the description lacks details about result ordering, pagination, or what 'summaries' entail (e.g., which fields). This leaves uncertainty about the exact output, making it moderately complete but not fully self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It lists all four parameters with clear, meaningful explanations: 'Max sessions to return,' 'How far back to look,' and filters for project/skill. This adds value beyond the schema's type definitions and defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get recent session summaries' with a specific verb and resource. It also mentions optional filters by project or skill, distinguishing it from siblings like get_session (single session) or search_sessions (comprehensive search). However, it could be more explicit about the scope (e.g., 'summaries' vs full details).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says 'Use to see what work was done recently,' which provides basic context but no guidance on when not to use it or alternatives. Siblings like search_sessions or get_related_sessions are not mentioned, leaving the agent to infer appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_server_infoGet Server InfoA
Return MCP compatibility status for this LoreConvo server.
Returns product version, installed mcp SDK version, tested version, and compatibility status. Useful for diagnosing version mismatches on running servers without requiring a restart.
Returns dict with: product_name, product_version, mcp_installed, mcp_tested, mcp_accepted, status (ok|mismatch|undetermined|disabled|internal_error), note.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No contradictions with missing annotations. Describes return values in detail and implies read-only behavior. Could note absence of side effects, but still transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise, front-loaded with main purpose, then lists return fields efficiently. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking an output schema, the description enumerates all return fields and their possible statuses, making it fully self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist (0 params), so baseline 4 applies. Description adds no parameter info, which is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns MCP compatibility status for the LoreConvo server, listing all relevant fields. It distinguishes from sibling tools by focusing on server-level diagnostics rather than project or session data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly mentions it is useful for diagnosing version mismatches without restart, giving a clear use case. Does not explicitly exclude alternative scenarios, but the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sessionGet SessionB
Get full details of a specific session.
Args: session_id: The UUID of the session to retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description only says 'Get full details' without disclosing whether the tool requires authentication, has side effects, or what 'full details' entails. For a read operation, more transparency about behavior is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, using two sentences that front-load the purpose. Every sentence is necessary and there is no extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given one parameter, no output schema, and no annotations, the description provides the essential purpose and parameter meaning. However, it fails to describe what 'full details' includes, and could be more complete for a specific session retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaning beyond the schema by stating 'session_id: The UUID of the session to retrieve'. However, with 0% schema coverage, this is minimal. It does not describe format or constraints beyond the schema's type string.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get full details of a specific session', which is a specific verb-resource combination. It distinguishes from sibling tools like get_project or get_recent_sessions by targeting a specific session by ID.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as get_recent_sessions or search_sessions. The description lacks context on prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_skill_historyGet Skill HistoryA
Get all sessions that used a specific skill.
Useful for understanding how often a skill is used and in what contexts.
Args: skill_name: The skill to look up (e.g., 'rental-property-accounting') days_back: How far back to search (default 90 days)
| Name | Required | Description | Default |
|---|---|---|---|
| days_back | No | ||
| skill_name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It only states it returns sessions, but does not disclose read-only nature, permissions, pagination, or any side effects. Minimal behavioral insight.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise—two short sentences plus parameter documentation. Every word adds value. No redundancy or unnecessary text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a simple purpose and an output schema exists, so the description does not need to detail return values. However, it omits potential edge cases (e.g., no matching skill) and ordering of results. Could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description adds meaning to both parameters: provides an example for skill_name and explains days_back as 'how far back to search' with a default of 90. This is adequate but not exceptional.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves all sessions using a specific skill. The verb 'get' and resource 'sessions' are explicit. It distinguishes from sibling tools like 'get_recent_sessions' by focusing on skill-specific history.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a use case: 'useful for understanding how often a skill is used and in what contexts.' This gives context for when to use it, but it lacks explicit alternatives or when-not-to-use scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_statsGet Usage StatsA
Return a usage dashboard: session counts by surface, project, and tag; storage metrics (DB size, estimated tokens stored); and the 5 most recent sessions.
Provides visibility into your memory usage -- who saved what, how much is stored, and what's been captured most recently.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It accurately describes the tool as read-only ('provides visibility'), and details the output structure. However, it does not explicitly state that no side effects occur, which would strengthen transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with two focused sentences. The first sentence immediately states the return value and its composition, while the second adds context. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description adequately covers return values (session counts, storage, recent sessions) and dimensions (surface, project, tag). It could be improved by specifying how metrics are grouped or that data is aggregated. But for a simple stats tool, it is fairly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and schema coverage is 100% (vacuously). The description adds value by explaining what the tool returns without needing to detail parameters. Baseline score of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns a usage dashboard with specific metrics: session counts by surface/project/tag, storage metrics, and recent sessions. It effectively distinguishes itself from sibling tools like get_session and get_recent_sessions by focusing on aggregate statistics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for gaining visibility into memory usage, but does not explicitly state when to use it versus alternatives like get_recent_sessions or get_server_info. No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tierGet License TierA
Return the current LoreConvo license tier and status.
Use this to confirm whether the Pro license key is loaded and valid.
Returns a dict with keys: is_pro -- bool, True if Pro tier is active mode -- "licensed" | "dev_bypass" | "free" | "invalid_key" product -- product name from the license payload (if licensed) exp -- expiry date or "never" (if licensed) email -- customer email (if licensed and present) error -- error message (if mode is "invalid_key")
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, but the description fully explains the tool's behavior: it returns a dict with specific keys. Though it implies a read-only operation, it does not explicitly state lack of side effects, but this is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: one sentence for purpose, one for usage, then a bulleted list for output. It is front-loaded and every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, but the description provides a detailed breakdown of the return dict. Combined with no parameters, the description is fully adequate for an agent to understand and use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and schema description coverage is 100% (empty). The description adds significant value by detailing the return dictionary structure, which is not present in the input schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Return the current LoreConvo license tier and status,' using a specific verb and resource. It distinguishes this tool from siblings like 'get_server_info' and 'vault_set_tier' by focusing on license details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit usage guidance: 'Use this to confirm whether the Pro license key is loaded and valid.' This tells the agent exactly when to invoke this tool, with no conflicting siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
import_sessionsImport SessionsA
Import sessions from a LoreConvo export file (JSON or JSONL).
Reads an export created by export_sessions and saves sessions into the local database. Session UUIDs are preserved so re-importing is safe.
Args: file_path: Path to the export file (JSON or JSONL format). on_conflict: What to do if a session ID already exists. 'skip' (default) -- leave the existing session unchanged. 'replace' -- overwrite with the imported version. dry_run: If True, parse and validate the file but make no DB changes.
| Name | Required | Description | Default |
|---|---|---|---|
| dry_run | No | ||
| file_path | Yes | ||
| on_conflict | No | skip |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that sessions are saved to the database, UUIDs are preserved, and dry_run prevents DB changes. It also explains the on_conflict behavior (skip/replace). This provides good transparency, though it lacks details on permissions or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured: a concise one-sentence summary followed by a brief paragraph and a clear bulleted Args list. Every sentence adds value with no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters and no output schema, the description covers the core functionality and parameters well. However, it does not describe the return value (e.g., success/error response), which would be useful for an import tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description compensates fully. The Args section explains each parameter: file_path (path to file), on_conflict (options with default 'skip'), and dry_run (boolean). This adds significant meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'Import sessions from a LoreConvo export file (JSON or JSONL)'. It specifies the action (import), the resource (sessions from export), and the allowed formats, clearly distinguishing it from siblings like export_sessions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description notes that it reads exports created by export_sessions and saves to the local database, implying it is used after export. It also mentions that re-importing is safe due to UUID preservation. However, it does not explicitly state when not to use it or provide alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_sessionsInspect SessionsA
Inspect stored sessions: list, filter, or get full detail for one session.
Answers 'what do you know about me?' and helps users find, browse, and understand their stored session memory.
Args: session_id: If provided, return full detail for this specific session. search: Full-text search query across title, summary, decisions, tags. tag: Filter by tag substring (e.g. 'agent:ron', 'side_hustle'). surface: Filter by surface ('code', 'cowork', 'chat'). since: Return sessions on or after this date (YYYY-MM-DD). limit: Max sessions to return (default 20). show_stats: If True, include aggregate counts (total, by_surface, by_project).
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | ||
| limit | No | ||
| since | No | ||
| search | No | ||
| surface | No | ||
| session_id | No | ||
| show_stats | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided. Description implies a read-only operation ('inspect') but does not explicitly state behavioral traits like no mutations or performance impacts. It provides reasonable context but could be more explicit about being non-destructive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is well-structured with a brief overview followed by a clear parameter list. It is slightly verbose but each sentence adds value. No wasted words, though could be more compact while retaining clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 7 parameters with no required fields and no output schema, the description adequately covers all parameters and usage scenarios. It explains return behavior for session_id and default limit. Missing mention of return format but acceptable for a list/detail tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description's 'Args' section adds full meaning to all 7 parameters, including details like 'Full-text search query across title, summary, decisions, tags' and 'Filter by tag substring.' This exceeds what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool's purpose: 'Inspect stored sessions: list, filter, or get full detail for one session.' It uses a specific verb ('inspect') and resource ('sessions') and differentiates from siblings like 'search_sessions' and 'get_session' by being a comprehensive browsing tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description provides a clear use case ('Answers 'what do you know about me?'') and explains when to use each parameter (e.g., session_id for detail, search for query). However, it does not explicitly state when not to use this tool or mention alternatives among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
link_sessionsLink SessionsB
Link two related sessions.
Args: from_id: Source session ID to_id: Target session ID link_type: Relationship type - 'continues', 'related', or 'supersedes'
| Name | Required | Description | Default |
|---|---|---|---|
| to_id | Yes | ||
| from_id | Yes | ||
| link_type | No | continues |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It only states that it links sessions, without revealing whether the operation is idempotent, requires permissions, overwrites existing links, or has side effects. The link_type values ('continues', 'related', 'supersedes') are listed but their semantics and impact are not explained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: a one-line purpose followed by a clear parameter list. Every word is functional, with no redundancy or fluff. The structure is front-loaded and easy to scan, earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 3 parameters, no output schema, and no annotations, the description is incomplete. It lacks context on what linking means (persistent? affects retrieval?), error handling (e.g., invalid IDs), and how this tool complements siblings like get_related_sessions or session_link_doc. The minimal description leaves the agent with significant uncertainty.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. The 'Args:' section adds meaning beyond the schema: 'Source session ID', 'Target session ID', and 'Relationship type - continues, related, or supersedes'. This clarifies the parameters' roles. However, it does not explain constraints (e.g., circular links, duplicates) or provide examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Link two related sessions,' clearly indicating the verb (Link) and resource (sessions). This distinguishes it from siblings like get_related_sessions (which retrieves links) and session_link_doc (which links sessions to documents). However, it does not specify what linking accomplishes functionally, such as whether it affects retrieval or is persistent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like get_related_sessions or session_link_doc. It does not mention prerequisites, limitations, or when not to use it. The sibling list is provided externally, but the description itself lacks explicit usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_projectsList ProjectsA
List all defined projects with session counts.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries the burden. It correctly implies a read operation and discloses the output includes session counts, but does not mention auth, rate limits, or ordering. Acceptable for a simple list tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single, succinct sentence with no wasted words. Front-loaded with action and resource. Every word is purposeful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 params, no annotations, but has output schema), the description fully conveys what the tool does. No additional context needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters in the schema, so description adds no param info. It implicitly confirms no filtering or arguments are needed (lists all). Baseline for 0-param tools is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List'), the resource ('all defined projects'), and includes a specific detail ('with session counts'), distinguishing it from siblings like get_project (single project) and create_project.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states it lists all projects, but provides no explicit guidance on when to use this vs alternatives like get_project or search_sessions. For a simple list tool, this is minimally adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
loreconvo_onboardOnboard LoreConvoA
Set up or update your LoreConvo workspace configuration.
Call this once after installing LoreConvo to get a recommended setup. Call again any time to add projects or agents, or to regenerate your reference doc.
Creates:
Project registrations for each project listed
A config file at ~/.loreconvo/onboard_config.json
A reference doc (markdown) in the response -- paste it into your CLAUDE.md or a LoreDocs vault so your AI assistant can apply your conventions consistently
Args: name: Your workspace or team name (e.g. 'Labyrinth Analytics') projects: Snake_case project identifiers (e.g. ['side_hustle', 'finance']) agents: Agent names that will tag sessions (e.g. ['ron', 'meg']) tag_style: 'simple' (status + priority) or 'detailed' (adds effort, scout-run markers, date tag guidance)
Surfaces: code (Claude Code), cowork (Claude.ai Projects), chat (Claude.ai chat), codex (Codex CLI). Custom values are allowed for other tools. Agent identity: use tags=['agent:name'] -- not the surface field.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| agents | No | ||
| projects | No | ||
| tag_style | No | simple |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It details what is created (project registrations, config file, reference doc) and explains the response includes a markdown doc to paste. Also clarifies surface and agent identity usage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with purpose first, then bullet points for outputs and args. Slightly verbose but each sentence adds value. Front-loaded with key call instructions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, but description explains the reference doc response. Covers all aspects: when to call, what it creates, args, surface field guidance. Complete for a setup tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so description must add meaning for all parameters. It does so: name (workspace/team name), projects (snake_case identifiers), agents (agent names), tag_style (simple vs detailed with explanation). Provides full semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool sets up or updates LoreConvo workspace configuration. It distinguishes from sibling tools by specifying it's called once after install and again for updates, listing specific outputs like project registrations and config file.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to call (once after install, again for updates) and provides guidance on surface field and agent identity. Lacks explicit when-not conditions or alternatives, but context from siblings makes usage clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pin_sessionPin SessionA
Pin or unpin a session to exclude it from automated cleanup.
keep_forever=True (default): session excluded from future cleanup; any existing expires_at is cleared atomically. keep_forever=False: pin removed; session can receive expiry again.
Returns: {"ok": True, "session_id": "...", "keep_forever": bool} {"ok": False, "code": "invalid_session_id", "message": "..."} {"ok": False, "code": "invalid_param", "message": "..."} {"ok": False, "code": "session_not_found", "message": "..."} {"ok": False, "code": "db_error", "message": "..."} {"ok": False, "code": "feature_disabled", "message": "..."}
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes | ||
| keep_forever | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose all behavioral traits. It explains that pinning atomically clears expires_at and unpinning removes the pin. It lists error codes, but does not mention auth requirements or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is concise, uses bullet points for parameter details and return values, and front-loads the core purpose. Every sentence is necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of annotations and output schema, the description covers behavior, parameters, and error codes well. It could mention potential limits (e.g., maximum pinned sessions) but is otherwise complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description fully compensates. It explains the meaning and effects of keep_forever (default true, clears expiry atomically) and implicitly covers session_id as required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb ('pin or unpin') and resource ('session'), with a specific purpose: to exclude from automated cleanup. This distinguishes it from sibling tools like set_session_expiry.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use each value of keep_forever, providing clear context for usage. However, it does not explicitly contrast with sibling tools or state when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rebuild_indexRebuild Semantic IndexA
Rebuild the LanceDB semantic search index from all stored sessions. Pro only.
Run after first Pro activation, or to recover from a corrupted index. Downloads BAAI/bge-small-en-v1.5 (~130MB) once on first run; subsequent runs use the cached model. May take 1-2 minutes for large session stores.
Returns a dict with 'indexed' (sessions added to index) and 'total_in_db' (total sessions in SQLite, including those excluded from indexing).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully covers behavioral expectations. It discloses that it downloads BAAI/bge-small-en-v1.5 (~130MB) on first run, caches the model for subsequent runs, and may take 1-2 minutes for large session stores. It also states the return format, a dict with 'indexed' and 'total_in_db' keys. This is comprehensive and avoids surprises.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured. It leads with the main purpose, then provides usage context and behavioral details in separate short paragraphs. Every sentence adds value, and there is no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and no output schema, the description provides all necessary information. It explains the purpose, when to use, side effects (model download, time estimate), and return value. The description is complete for an agent to select and invoke this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema coverage is 100%. Per guidelines, the baseline score is 4 since no additional parameter description is needed. The description briefly mentions output format, which is helpful but not required for parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Rebuild the LanceDB semantic search index from all stored sessions.' It specifies the resource (LanceDB semantic search index) and the action (rebuild). It also distinguishes the tool by noting it is 'Pro only' and providing specific use cases (first Pro activation, recovery from corrupted index), setting it apart from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use the tool: 'Run after first Pro activation, or to recover from a corrupted index.' It also mentions the model download and caching behavior, giving the agent a clear understanding of when invocation is appropriate. While it doesn't list alternatives, the context of sibling tools makes the intended use clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_sessionSave SessionA
Save a session summary to persistent memory.
Call this at the end of a session or when the user requests /bridge save. Captures decisions, artifacts, skills used, and open questions for recall in future sessions.
Args: title: Short descriptive title for the session surface: Where this session ran - 'cowork', 'code', or 'chat' summary: 2-3 paragraph narrative summary of what happened decisions: List of key decisions made during the session artifacts: List of files created or modified open_questions: Unresolved questions to carry forward tags: Freeform tags for categorization skills_used: Skills that were invoked during this session project: Project name if part of a defined project start_date: ISO 8601 start time (defaults to now) end_date: ISO 8601 end time session_id: Optional session ID to enable deduplication with the auto-save hook. If a session with this ID already exists (e.g., auto-saved at session end), the record is updated with the richer manual metadata. Artifacts from the existing record are preserved when the caller does not supply artifacts. If omitted, a new UUID is generated (existing behavior). external_tool_session: Set True when saving a session generated by an external tool (e.g., Anthropic Managed Agents). Flagged sessions are excluded from auto-load and search by default to prevent context contamination. Override exclusion with include_external=True on search, or set LORECONVO_EXTERNAL_TOOL_EXCLUSION=0 to disable globally. reasoning_notes: Optional free-form text capturing the reasoning chain or thought process behind decisions. Stored as-is; blank or None leaves the field empty. summarize: If True and ANTHROPIC_API_KEY is set, send the summary to Claude API (Haiku) for compression before saving. Opt-in only; defaults to False. Falls back to the raw summary on any API error or if the key is absent. See INSTALL.md Privacy Note.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | ||
| title | Yes | ||
| project | No | ||
| summary | Yes | ||
| surface | Yes | ||
| end_date | No | ||
| artifacts | No | ||
| decisions | No | ||
| summarize | No | ||
| session_id | No | ||
| start_date | No | ||
| skills_used | No | ||
| open_questions | No | ||
| reasoning_notes | No | ||
| external_tool_session | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses behavioral traits: persistent memory storage, deduplication via session_id, update behavior preserving artifacts, exclusion of external tool sessions from auto-load/search, and opt-in summarization via Claude API. All key behavioral aspects are covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is fairly long but well-structured with a brief intro, usage trigger, and detailed parameter list. Each sentence adds value; minor redundancy could be trimmed (e.g., the session_id explanation is somewhat verbose), but overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 15 parameters, 3 required, no output schema, the description covers all parameters and behavioral nuances including deduplication, update semantics, exclusion logic, and summarization. It is complete for a save operation with no gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage, so the parameter descriptions carry full burden. Each of the 15 parameters is explained with purpose, defaults, and behavioral nuance (e.g., session_id deduplication, external_tool_session exclusion, summarize opt-in). This significantly adds meaning beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Save a session summary to persistent memory' with a specific verb and resource. It mentions when to call (end of session or /bridge save), but does not explicitly differentiate from sibling tools like consolidate_memories or import_sessions, though the purpose is distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage context: 'Call this at the end of a session or when the user requests /bridge save.' It does not specify when not to use or mention alternatives, but the trigger is clear and sufficient for most scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_sessionsSearch SessionsA
Search session memory by keyword, with optional filters.
Use to find sessions where a topic was discussed, a decision was made, or a specific skill/project was involved.
Args: query: Search keywords (matched against title, summary, decisions) persona: Filter to sessions tagged with this persona (supports prefix matching) tags: Filter to sessions with any of these tags skills: Filter to sessions that used any of these skills project: Filter to sessions in this project limit: Max results (default 10) include_external: If True, include sessions flagged as external_tool_session. Default False. Can also be enabled globally via LORECONVO_EXTERNAL_TOOL_EXCLUSION=0. semantic: If True, use LanceDB hybrid (vector + BM25) search instead of FTS5. Pro tier only. Falls back to FTS5 if index not built yet; run rebuild_index to build it after first Pro activation. include_expired: If True, include sessions whose expires_at is in the past. Default False (expired sessions are hidden from search).
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | ||
| limit | No | ||
| query | Yes | ||
| skills | No | ||
| persona | No | ||
| project | No | ||
| semantic | No | ||
| include_expired | No | ||
| include_external | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses important behaviors: default exclusion of expired and external sessions, fallback mechanism for semantic search, and global env variable for external tool inclusion. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with a brief intro, usage guidance, and parameter list. Though slightly lengthy, every sentence adds value. Could trim redundant phrasing (e.g., 'Use to find...' repeated).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists (no need to explain returns), all 9 parameters are explained, behavioral nuances are covered, and sibling context is provided. No gaps identified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description explains each parameter (query, persona, tags, skills, project, limit, include_external, semantic, include_expired) with details like prefix matching, default values, and conditions (e.g., 'Pro tier only').
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Search session memory by keyword, with optional filters,' with a specific verb and resource. It distinguishes itself from sibling tools like 'get_session' or 'get_recent_sessions' by focusing on keyword search with filters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit use cases ('when a topic was discussed, a decision was made, or a specific skill/project was involved') but does not explicitly contrast with sibling tools like 'get_related_sessions' or 'inspect_sessions'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
session_link_docLink Session to DocA
Create a manual cross-product link from a LoreConvo session to a LoreDocs doc.
Manual links are accessible on all tiers. The target doc must not be in a vault with cross_link_opt_out enabled. Both products must be installed.
Args: session_id -- LoreConvo session UUID doc_id -- LoreDocs document ID vault_id -- LoreDocs vault containing the document
Returns dict with: ok -- bool reason -- failure description on error (generic; details in debug log)
| Name | Required | Description | Default |
|---|---|---|---|
| doc_id | Yes | ||
| vault_id | Yes | ||
| session_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It reveals that the tool creates a link (a write operation) and returns an ok/reason dict, but it lacks information about side effects, idempotency, permissions, or rate limits. The failure reason is noted as 'generic; details in debug log', which is only moderately transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (about 100 words), well-structured with a clear action statement, constraints list, parameter documentation, and return value description. Every sentence adds value, and the bulleted args/rets improve readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (3 string params, no output schema), the description covers the core action, constraints, parameters, and return values. It lacks examples, error handling details, and mention of uniqueness/duplication behavior, but overall it provides sufficient context for an agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% coverage (no descriptions), so the description must compensate. It does so by explaining each parameter's purpose (e.g., 'session_id -- LoreConvo session UUID'), adding meaning beyond the raw schema. However, it could provide more detail (e.g., format constraints or examples).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action (create a manual cross-product link from a LoreConvo session to a LoreDocs doc), distinguishing it from sibling tools like link_sessions (which links sessions together) or get_docs_for_session (which retrieves existing links).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the context ('manual cross-product link', 'accessible on all tiers') and lists prerequisites (target doc not in opt-out vault, both products installed). However, it does not explicitly state when not to use this tool or mention alternatives, leaving some room for improvement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_session_expirySet Session ExpiryA
Set or clear an expiry date on a session.
After expires_at passes, the session is excluded from search_sessions, get_recent_sessions, and the auto-load hook. The session is NOT deleted -- recover it with search_sessions(include_expired=True). Pass expires_at=None to clear a previously set expiry.
Args: session_id: ID of the session to update expires_at: ISO 8601 date string (e.g. '2027-01-01T00:00:00Z'), or None to clear
| Name | Required | Description | Default |
|---|---|---|---|
| expires_at | Yes | ||
| session_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full behavioral disclosure. It explains that expired sessions are excluded from certain tools but not deleted, and that clearing expiry is possible via None. This covers key side effects, though it omits potential error behaviors (e.g., non-existent session).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured. It opens with a one-line purpose, follows with behavioral details in paragraph form, and ends with argument descriptions. Every sentence contributes useful information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema, the description sufficiently covers return behavior (no deletion, recovery option) and impact on other tools. It could be improved by mentioning error handling for invalid inputs, but overall it is complete for a simple mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema coverage is 0%, requiring the description to fully explain parameters. It does so effectively: session_id is described as 'ID of the session to update,' and expires_at includes format guidance ('ISO 8601 date string') and the special value None. This significantly adds meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Set or clear an expiry date on a session,' specifying a precise verb and resource. It distinguishes itself from sibling tools like get_session or save_session by focusing solely on expiry management.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use the tool (setting or clearing expiry) and provides context on consequences (exclusion from searches, recovery). It offers clear usage details but does not explicitly exclude alternative scenarios or mention when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tag_as_anti_patternTag Session as Anti-PatternA
Mark an existing session as an anti-pattern. Idempotent.
Args: session_id: The sessions.id value to mark (TEXT <= 255 chars). source: Attribution for this tag (e.g., 'claude-code', 'agent:gina'). reason: Human-readable reason for the tag. Stored in audit log.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | ||
| source | No | unknown | |
| session_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description provides idempotency and notes that the reason is stored in audit log. However, it does not disclose side effects, permissions, or error handling beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: a one-sentence summary followed by a compact arg list. No redundant information, every line is useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with no output schema, the description covers the action, idempotency, and parameters but omits details like return value, error cases, or what happens if session_id is invalid. This is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage, so the description fully compensates by explaining each parameter: session_id (constraint), source (example), reason (purpose and storage). This is thorough for a 3-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the purpose: 'Mark an existing session as an anti-pattern.' This is specific and distinguishes it from general tagging tools like 'tag_session', though it does not explicitly contrast with siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as 'tag_session' or 'untag_anti_pattern'. The description does not mention context, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tag_sessionTag SessionA
Tag a session with a persona for filtered recall.
Supports hierarchical personas (e.g., 'ron-bot:sql' matches 'ron-bot' queries).
Args: session_id: Session to tag persona_name: Persona identifier (e.g., 'ron-bot', 'ron-bot:sql', 'tax-prep') relevance_note: Optional note about why this session is relevant to the persona
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes | ||
| persona_name | Yes | ||
| relevance_note | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It mentions hierarchical persona matching but does not disclose whether tagging is additive or overwrites, the impact on existing tags, or any required permissions. The behavioral traits are minimally described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with a clear purpose statement followed by bulleted parameter explanations. No redundant or unnecessary sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose and parameters, and mentions hierarchical personas. However, it lacks information about return values, error handling, idempotency, or behavior when tagging an already-tagged session. Given the absence of annotations and output schema, these gaps reduce completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description includes an Args section that adds meaning beyond the schema: explains session_id as 'Session to tag', persona_name with examples, and relevance_note as optional. This significantly compensates for the schema's lack of descriptions (0% coverage in context signals).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action: 'Tag a session with a persona for filtered recall.' It uses a specific verb (tag) and resource (session with persona), distinguishing it from siblings like pin_session or tag_as_anti_pattern.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for 'filtered recall' but does not explicitly state when to use this tool versus alternatives such as pin_session or tag_as_anti_pattern. No when-not-to-use conditions or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
untag_anti_patternUntag Anti-PatternA
Remove an anti-pattern tag from a session. Idempotent.
The audit log row is written on successful removal; not written if the session was not tagged (idempotent no-op case).
Args: session_id: The sessions.id value to untag (TEXT <= 255 chars). source: Attribution for this untag (e.g., 'claude-code', 'admin'). reason: Human-readable reason for the removal. Stored in audit log.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | ||
| source | No | unknown | |
| session_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, but the description fully discloses idempotency and audit log behavior (log written on success, not on no-op). This covers the main behavioral aspects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, well-structured with clear sections, and every sentence adds value. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description is self-contained. It explains idempotency, audit log, and all parameters, providing complete context for invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description fully explains each parameter: session_id as a sessions.id, source as attribution, reason as human-readable. This adds essential meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The verb 'untag' clearly indicates removal, and 'anti-pattern' specifies the tag type. It directly distinguishes from sibling tools like 'tag_as_anti_pattern' and 'tag_session'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when removing an anti-pattern tag, and idempotency indicates it's safe to call multiple times. However, it doesn't explicitly state when to use or not use alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vault_set_tierSet License TierAIdempotent
Activate a tier (free or pro) for LoreConvo.
Pro tier removes the free-tier session limit (default: 50 sessions). After purchasing a Pro license, set LORECONVO_PRO= in your environment and restart the server, then call this tool with tier='pro' to confirm Pro is active. Reverting to tier='free' re-enables limits (existing sessions are preserved -- only new saves are blocked once the limit is hit).
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses beyond annotations: Pro removes session limit, free re-enables limits preserving existing sessions, and env var prerequisite. No contradiction with annotations (idempotent, non-destructive).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise and well-structured: first sentence defines purpose, then specific details. No redundant sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, usage, prerequisites, effects, and idempotency. Output schema exists for return values, so complete for this simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Adds meaning to the single parameter 'tier' by explaining consequences of each value (pro removes limit, free re-enables). Schema description only says 'Tier to activate: free or pro', so tool description adds value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool activates a tier (free or pro) for LoreConvo, with specific effects for each tier. Distinguishes from sibling get_tier (read-only).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit steps: after purchasing Pro license, set env var, restart server, then call with tier='pro'. Also explains reverting to free. Lacks explicit 'when not to use' but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vault_suggestGet Context SuggestionsA
Get proactive context suggestions based on your session history.
Analyzes recent sessions and surfaces:
Sessions with unresolved open questions that need follow-up
Sessions with key decisions worth reviewing before starting new work
Skill gaps: skills expected by a project but not used recently
Use at the start of a session to find the most valuable prior context, or when you're unsure what to work on next.
Args: project: Filter suggestions to this project persona: Filter to sessions tagged with this persona (prefix matching) days_back: How far back to look (default 14 days) limit: Max suggestions to return (default 5)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| persona | No | ||
| project | No | ||
| days_back | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It explains the output categories and parameters but fails to state whether the tool is read-only, has side effects, or performance implications. The description is adequate but lacks depth on behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a concise first sentence, bulleted output categories, usage guidance, and a parameter list. It is front-loaded and every sentence contributes value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the tool's purpose, usage, and parameter details. While it lacks an output schema, it explains what the tool surfaces. It is largely complete but could benefit from mentioning the return format or data structure for clarity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, but the description provides clear, contextual explanations for all four parameters, including default values for days_back and limit and prefix matching for persona. This fully compensates for the schema gap and adds significant meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides proactive context suggestions from session history, listing specific categories like unresolved questions and skill gaps. It uses the verb 'Get' and resource 'context suggestions', but does not explicitly differentiate from siblings like get_context_for or get_related_sessions, leaving some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises using the tool at the start of a session or when unsure what to work on next. However, it does not mention when not to use it or suggest alternative tools for specific needs, such as searching for individual sessions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
33 tool updates
v0.8.3- First observed
consolidate_memories - First observed
create_project - First observed
export_for_anthropic - First observed
export_sessions - First observed
get_anti_patterns - First observed
get_context_for - First observed
get_docs_for_session - First observed
get_dream_log - First observed
get_memory_digest - First observed
get_project - First observed
get_recent_sessions - First observed
get_related_sessions - First observed
get_server_info - First observed
get_session - First observed
get_skill_history - First observed
get_stats - First observed
get_tier - First observed
import_sessions - First observed
inspect_sessions - First observed
link_sessions - First observed
list_projects - First observed
loreconvo_onboard - First observed
pin_session - First observed
rebuild_index - First observed
save_session - First observed
search_sessions - First observed
session_link_doc - First observed
set_session_expiry - First observed
tag_as_anti_pattern - First observed
tag_session - First observed
untag_anti_pattern - First observed
vault_set_tier - First observed
vault_suggest
TDQS
Most tools have distinct purposes, but there is some overlap between get_context_for and search_sessions, as both retrieve session content based on queries. However, the former focuses on 'prior decisions and context' while the latter is a general search, so they are mostly distinguishable.
All tool names follow a consistent snake_case and verb_noun pattern (e.g., consolidate_memories, create_project, search_sessions). Even compound names like tag_as_anti_pattern and untag_anti_pattern are logically consistent. No mixing of camelCase or other conventions.
With 33 tools, the set is quite large for a memory server. Each tool serves a distinct purpose, but the overall scope might be overwhelming. The number is borderline high compared to typical well-scoped servers (3-15 tools), though the domain is broad.
The tool surface covers most lifecycle operations for sessions, projects, memory, and anti-patterns. Notable gaps include no explicit delete session tool (though set_session_expiry and pin_session manage lifecycle) and no update project tool. Overall, the set is comprehensive with minor gaps.
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 across Claude, ChatGPT and any MCP client.
- mcpOAuthai.butlerbrain
Persistent memory for AI assistants. Save once; recall from Claude, ChatGPT, or any MCP client.
Portable memory for AI agents: capture once, recall across Claude, Cursor, and any MCP client.
Persistent AI memory shared across Claude, ChatGPT, coding agents, and compatible MCP clients.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables AI coding agents to maintain persistent, cross-session memory of codebase architecture, naming conventions, and decisions through MCP tools. Eliminates repetitive project re-explanation by automatically injecting stored context into every session with local-first SQLite storage and optional team sharing capabilities.4MIT
- AlicenseNot gradedqualityAmaintenancePersistent memory for any AI assistant. Zero token cost until recall. Stores memories in local SQLite, ranks by 6-factor scoring, returns results 79% smaller than JSON. Works with Claude, ChatGPT, Grok, Cursor, Windsurf, and any MCP client.47Apache 2.0
- AlicenseAqualityDmaintenancePersistent memory API for AI agents — store, recall, and inject semantically-searchable context across sessions. EU-hosted, GDPR-compliant. Supports Claude, Cursor, Cline, and any MCP-compatible client.42MIT
- AlicenseNot gradedqualityAmaintenancePersistent, local memory for AI coding agents that learns how you work, not just what you said. Supports Claude Code, Codex CLI, Cursor, and any MCP client.66MIT
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/labyrinth-analytics/loreconvo'
If you have feedback or need assistance with the MCP directory API, please join our Discord server