Skip to main content
Glama

wasurenagusa

Научите своего ИИ-агента учиться на ошибках.

npm version License: MIT Node.js Ko-fi

wasurenagusa (незабудка) — японский цветок, название которого означает «не забывай меня».


Проблема

ИИ-агенты для написания кода мощны, но страдают амнезией. Каждая сессия начинается с чистого листа — ваши проектные соглашения, прошлые решения и усвоенные уроки исчезают, как только сессия заканчивается.

Существующие решения либо требуют ручного труда, либо просто хранят «сырые» воспоминания, которые разрастаются до тех пор, пока не переполняют контекстное окно.

Related MCP server: memory-bank-mcp

Решение

wasurenagusa — это MCP-сервер, который не просто запоминает — он учится.

  1. Автоматически обнаруживает ошибки — отслеживает паттерны повторных попыток, разочарование пользователя и повторяющиеся сбои.

  2. Дистиллирует уроки в принципы — LLM сжимает сотни «сырых» записей в несколько применимых правил.

  3. Превращает негатив в позитив — генерирует positiveRule вместе с каждым принципом: «не делай X» превращается в «вместо этого делай Y». Исследования показывают, что LLM значительно лучше следуют утвердительным инструкциям, чем запретам (проблема «Розового слона»).

  4. Сжимает конфигурацию в темы — LLM группирует разрозненные настройки в связные резюме, сохраняя такие факты, как порты и пути.

  5. Внедряет только то, что важно — только консолидированная мудрость + активные настройки. Никакого мусора из шаблонов, никаких дубликатов.

  6. Гибридный поиск (полнотекстовый + семантический) — хранилище на базе SQLite с локальным выводом эмбеддингов (внешний API не нужен). Полнотекстовый поиск с поддержкой японского языка + векторный семантический поиск, объединенные и дедуплицированные. Работает полностью офлайн.

  7. Умное извлечение по тегам — взвешенные теги, сгенерированные LLM + композитный скоринг (свежесть, вес тега, частота доступа) оптимизируют приоритет извлечения без удаления данных.

  8. Стейшинг/восстановление памяти — временно выгружайте воспоминания из активного контекста, чтобы сэкономить место, и восстанавливайте их при необходимости. Идеально для длинных сессий с под-агентами.

Полная автоматизация через хуки Claude Code — никакой настройки после установки.

Реальное влияние

Из ежедневного использования автором в 8 производственных проектах (с обменом памятью между проектами):

1,581 "dont" entries   →  5-9 principles per project    (LLM consolidation)
  each with positiveRule  →  affirmative-only injection  (Pink Elephant fix)
29 config entries      →  4-5 thematic summaries        (LLM consolidation)
21,800 chars raw data  →  6,200 chars injected           (71% reduction)

Демонстрация

  1. Сессия 1: Claude использует порт 3000 — пользователь исправляет его на 8080.

  2. Хук остановки: wasurenagusa автоматически анализирует диалог и записывает ошибку.

  3. Сессия 2: Claude правильно использует порт 8080 без напоминаний.


Почему wasurenagusa

Большинство инструментов памяти хранят то, что произошло. wasurenagusa учит ваш ИИ почему что-то пошло не так — и гарантирует, что он никогда не повторит ту же ошибку.

Это не банк памяти. Это система обучения.

wasurenagusa

claude-mem

mcp-memory-service

CLAUDE.md

Авто-обнаружение ошибок

Да (повторы + тональность)

Нет

Нет

Нет

Авто-консолидация (LLM)

Да (негатив→принципы, конфиг→темы)

Нет

Да (на основе затухания)

Нет

Векторный семантический поиск

Да (локальный вывод, офлайн)

Да (ChromaDB)

Да (SQLite-vec / ChromaDB)

Нет

Уровни памяти (кратко/средне/долго)

Да (пороги косинусного расстояния)

Нет

Нет

Нет

Авто-продвижение (интенсивность)

Да (счетчик доступа → интенсивность 5)

Нет

Нет

Нет

Нулевые усилия через хуки

Да

Да

Частично

Нет

Читаемое человеком хранилище

Нет (SQLite — авто-миграция из v1 Markdown)

Нет (SQLite)

Нет (SQLite-vec)

Да

Поддержка нескольких LLM

Gemini / OpenAI / Anthropic (эмбеддинги локальны)

Только Claude

Локально (MiniLM-L6-v2)

Н/Д

Эффективное извлечение токенов

Да (индекс → детали, экономия 70-90%)

Да (3 уровня)

Н/Д

Нет

Память между проектами

Да (топ-5 активных проектов)

Нет

Нет

Нет

Лицензия

MIT

AGPL-3.0

Apache-2.0

Н/Д


Как это работает

Session Start (Hook) — injection mode
  → Checks if consolidation is stale
  → Spawns background LLM worker if needed (non-blocking)
  → Spawns background embedding backfill worker (non-blocking)
  → Injects consolidated config + principles (layer 1) + recent 30-day entries (layer 2) + owner profile
  → Vector search injects semantically related short-term memories (layer 3)
  → Cross-project vector search injects related memories from other active projects (layer 4)
  → Only customized settings injected (defaults stripped)

Session Start (Hook) — agent mode
  → Injects dont summary + config index + owner profile (minimal footprint)
  → No vector search at startup (deferred to on-demand recall)

User Prompt (Hook) — agent mode
  → Injects 1-line reminder: "search memory if relevant"
  → Main agent spawns memory-recall sub-agent as needed
  → Sub-agent runs memory_search → returns summary only (no raw data in main context)
  → Survives compaction (re-injected on every user message)

During Session
  → memory_save auto-generates embedding via local inference (no API call)
  → memory_save enriches tags with LLM-assigned weights (0.0-1.0) (when API key available)
  → Theme shift triggers background re-tagging of related past entries
  → memory_search merges keyword + vector semantic + tag-weighted results
  → Vector hits increment access counts → auto-promote to intensity 5 at threshold

Session End (Hook)
  → LLM analyzes the conversation
  → Detects mistakes, frustration, retry patterns
  → Auto-saves lessons learned (with embedding)
  → Deduplicates against existing entries before saving
  → Updates active projects tracker (top 5 recent projects)

Background (async workers)
  → Consolidates "dont" entries → behavioral principles
  → Consolidates "config" entries → thematic summaries
  → Backfills embeddings for entries created before vector layer (20/run)
  → Results used in next session start

Быстрый старт

💡 Рекомендуется: Вставьте этот README в Claude Code и попросите его настроить wasurenagusa за вас. Он автоматически выполнит все действия ниже.

Предварительные требования

  • Node.js 18+

  • Claude Code (CLI)

  • Внешний API-ключ не требуется для основных функций памяти (эмбеддинги работают локально)

  • Опционально: API-ключ для консолидации/анализа LLM — Gemini / OpenAI / Anthropic

1. Установка

npm install -g wasurenagusa-mcp

Или из исходного кода:

git clone https://github.com/tsutushi0628/wasurenagusa-mcp.git
cd wasurenagusa-mcp
npm install && npm run build
npm link

npm run build автоматически выполняет chmod +x для CLI-точек входа. Ручная настройка прав не требуется.

2. Конфигурация

Создайте ~/.wasurenagusa/.env:

# Set at least one API key
GEMINI_API_KEY=your-key-here
# OPENAI_API_KEY=your-key-here
# ANTHROPIC_API_KEY=your-key-here

Переменная

Обязательно

Описание

GEMINI_API_KEY

Одна из трех

API-ключ Google Gemini

OPENAI_API_KEY

Одна из трех

API-ключ OpenAI

ANTHROPIC_API_KEY

Одна из трех

API-ключ Anthropic

LLM_PROVIDER

Нет

gemini (по умолчанию), openai или anthropic

LLM_MODEL

Нет

Переопределение модели по умолчанию

MEMORY_DIR

Нет

Директория памяти (по умолчанию: .wasurenagusa)

MAX_ENTRIES_PER_CATEGORY

Нет

Лимит записей на категорию до авто-архивации (по умолчанию: 100)

LOG_RETENTION_DAYS

Нет

Срок хранения логов в днях (по умолчанию: 30)

SLACK_WEBHOOK_URL

Нет

Slack-уведомления для автономных задач

3. Регистрация MCP-сервера

claude mcp add wasurenagusa -- wasurenagusa-mcp

4. Настройка хуков

⚠️ Обязательно — без этого шага память не будет внедряться при запуске сессии. Это самый часто пропускаемый шаг настройки.

Добавьте в ~/.claude/settings.json (или settings.local.json, если предпочитаете разделять хуки):

{
  "hooks": {
    "SessionStart": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "wasurenagusa-context",
            "timeout": 5
          }
        ]
      }
    ],
    "UserPromptSubmit": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "wasurenagusa-context",
            "timeout": 5
          }
        ]
      }
    ],
    "Stop": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "wasurenagusa-analyze",
            "timeout": 30
          }
        ]
      }
    ],
    "PreCompact": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "wasurenagusa-context",
            "timeout": 15
          }
        ]
      }
    ]
  }
}

5. Начало использования

Запустите Claude Code. Это всё.

  • Первая сессия: директория .wasurenagusa/ создается автоматически.

  • После первого диалога: хук остановки анализирует и сохраняет важный контекст.

  • Со второй сессии: накопленная мудрость автоматически внедряется при старте.

Добавьте .wasurenagusa/ в ваш .gitignore — там хранятся специфичные для проекта данные памяти.


Категории памяти

Категория

Что хранит

Файл

config

API URL, порты, пути авторизации

memory.db

dont

Ошибки, анти-паттерны, разочарования

memory.db

decision

Архитектурные решения, выбор технологий

memory.db

log

Записи реализации, решенные ошибки

memory.db

snippet

Часто используемые команды и запросы

memory.db


Инструменты MCP

Инструмент

Описание

memory_get_context

Получить конфиг + консолидированные принципы (вызывается при старте)

memory_search

Легкий поиск по индексу (только ID, заголовок, теги). Используйте project: "active" для поиска по всем проектам

memory_get_detail

Получить полные детали по ID

memory_save

Явное сохранение записи памяти

memory_stash

Временная выгрузка памяти для экономии контекста

memory_restore

Восстановление выгруженной памяти в активный контекст

memory_delete

Удаление записей по ID

task_submit

Отправка автономной задачи для выполнения 24/7

task_status

Проверка статуса выполнения задачи

task_action_list

Список и управление ожидающими действиями человека

project_init

Инициализация стандартов качества проекта


Команды CLI

Команда

Цель

Кем вызывается

wasurenagusa-context

Вывод конфига + dont + векторной памяти в stdout

SessionStart / UserPromptSubmit / PreCompact Hook

wasurenagusa-analyze

LLM-анализ диалога и авто-сохранение

Stop Hook

wasurenagusa-backfill

Генерация эмбеддингов для записей без векторов

Фон (авто-запуск)

wasurenagusa-rebuild

Исправление поврежденных данных памяти

Вручную

wasurenagusa-spec-update

Авто-обновление документов спецификаций

cron / systemd timer

wasurenagusa-consolidate-all

Запуск консолидации по всем проектам

Вручную / Планировщик

wasurenagusa-scheduler

Установка/удаление ночного планировщика

Вручную


Режим вывода

wasurenagusa поддерживает два режима вывода для хука SessionStart, настраиваемых для каждого проекта через .wasurenagusa/config.json.

Режим

Описание

Лучше всего для

injection (по умолч.)

Внедряет полный текст памяти при старте

Сред без под-агентов (Cursor, Windsurf и т.д.)

agent

Внедряет минимальный индекс + напоминание о вызове памяти

Claude Code + Команды агентов

Конфигурация

Добавьте outputMode в .wasurenagusa/config.json вашего проекта:

{
  "outputMode": "agent"
}

Если файл отсутствует или outputMode не задан, по умолчанию используется "injection" (полная обратная совместимость).

Рекомендуемые правила CLAUDE.md для режима агента

При использовании режима "agent" с командами агентов Claude Code, добавьте эти правила в CLAUDE.md вашего проекта:

- Read/write memories via sub-agents (memory_search / memory_get_detail / memory_save)
- Do not bring raw memory data into the main context
- When system-reminder suggests memory recall, spawn a sub-agent to run memory_search and return summary only

Продвинутые функции

Уровни векторной памяти

wasurenagusa представляет систему памяти, вдохновленную биологическими принципами, на базе локальных эмбеддингов. Каждое воспоминание преобразуется в 384-мерный вектор, что позволяет выполнять поиск по смыслу, выходящий далеко за рамки простого сопоставления ключевых слов.

Трехуровневая архитектура с порогами косинусного расстояния:

Уровень

Порог

Вариант использования

Краткосрочная

≤ 0.2

Высокая релевантность — авто-внедрение при старте

Среднесрочная

≤ 0.45

Контекстуально связанная — всплывает при memory_search

Долгосрочная

≤ 0.7

Слабо связанная — доступна, но не показывается проактивно

Автоматическое продвижение: Каждый раз, когда воспоминание извлекается через векторный поиск, счетчик доступа увеличивается. После 5 извлечений воспоминание автоматически переходит в intensity: 5, гарантируя, что часто нужные знания получают максимальный вес при консолидации.

Как это работает:

memory_save
  → Text → local inference (Hugging Face Transformers) → embedding → SQLite (sqlite-vec)

memory_search "authentication setup"
  → Full-text search (FTS5, Japanese support) ─┐
  → Embed query → vector similarity search     ─┤→ merge, deduplicate → results
                                                └→ increment access count
                                                   → auto-promote if threshold met

SessionStart Hook
  → Embed project name → short-tier search → inject related memories

Внешний API не требуется — эмбеддинги генерируются локально через @huggingface/transformers. Данные хранятся в SQLite с sqlite-vec для векторной индексации. Работает полностью офлайн.

Автоматическая миграция из v1 — существующие Markdown-файлы памяти автоматически переносятся в SQLite при первом запуске.

Умное извлечение по тегам

Умное извлечение по тегам повышает точность поиска тремя механизмами — без удаления или забывания данных:

  1. Взвешенное обогащение тегами при сохранении — при сохранении памяти LLM генерирует описательные теги и присваивает каждому вес (0.0-1.0). Конкретные факты (порты, API) получают высокий вес; общие категории — низкий.

  2. Фоновая перемаркировка при смене темы — при обнаружении новой темы фоновый процесс обновляет теги связанных прошлых записей.

  3. Композитный скоринг — результаты поиска ранжируются по смеси свежести, веса тега и частоты доступа.

Память между проектами

wasurenagusa автоматически отслеживает 5 последних использованных проектов и ищет релевантный контекст в их памяти.

**Как это работает

Available Tools

10 tools
memory_deleteA

メモリエントリを削除する。memory_searchで取得したIDを指定して削除。 複数IDを一括指定可能。カテゴリをまたいだ削除もOK。

NameRequiredDescriptionDefault
idsYes削除したいエントリのID配列

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full disclosure burden. It mentions cross-category deletion scope and bulk capability, but fails to mention whether deletion is permanent, if there are permission requirements, or error handling behavior when IDs don't exist.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four compact sentences with zero waste: action definition, ID source requirement, bulk capability, and scope flexibility. Information is front-loaded with the core action first, followed by constraints and capabilities.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter deletion tool without output schema, the description adequately covers the operational workflow (search-then-delete) and key behavioral constraints (bulk, cross-category). Minor gap in not describing the operation's result or permanent nature, but sufficient for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

While the schema has 100% coverage (baseline 3), the description adds valuable semantic context by specifying that IDs come from 'memory_search' (workflow prerequisite) and explicitly noting that multiple IDs can be bulk-specified, reinforcing the array nature of the parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states 'メモリエントリを削除する' (Delete memory entries), providing a specific verb and resource. It clearly distinguishes this as the sole deletion tool among siblings (memory_save, memory_search, memory_update_intensity, etc.).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear workflow guidance by specifying that IDs should be obtained from 'memory_search' first. It also notes bulk and cross-category deletion capabilities. However, it lacks explicit 'when not to use' guidance or mention of alternatives like memory_update_intensity for partial modifications.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

memory_get_contextA

config(設定情報)とdont(やってはいけないこと)を一括取得する。 通常はSessionStart Hookで自動注入されるため、手動で呼ぶ必要は少ない。 セッション途中でコンテキストを再確認したい場合に使用。

NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It successfully conveys the SessionStart Hook injection pattern, which is critical operational context. However, it lacks explicit statements about read-only safety, idempotency, caching behavior, or the structure of the returned config/dont data, leaving gaps in the safety/behavioral profile.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with zero waste: (1) function definition, (2) automatic usage pattern/warning, (3) exceptional manual usage case. The logical flow moves from what it does, to the common case (don't use), to the edge case (do use). Japanese text is economical and every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter retrieval tool, the description adequately covers the operational context (hook injection) and identifies the returned data categories (config and dont). However, given the absence of annotations and output schema, it could be improved by explicitly confirming the read-only nature of the operation or describing the return format structure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema contains zero parameters (empty object). According to calibration rules, zero parameters establishes a baseline score of 4. The description correctly does not invent parameter documentation where none exist, and the 100% schema coverage is vacuously satisfied.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the tool performs batch retrieval ('一括取得') of specific resources: 'config' (configuration) and 'dont' (constraints/things not to do). It clarifies what 'context' means in this domain, effectively distinguishing it from siblings like memory_get_detail or memory_search which likely operate on specific memories rather than system context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit usage guidance: it states when NOT to use the tool ('通常はSessionStart Hookで自動注入されるため、手動で呼ぶ必要は少ない' - rarely needed manually because it's auto-injected at session start) and specifically when TO use it ('セッション途中でコンテキストを再確認したい場合' - when reconfirming context mid-session). This clear conditional guidance prevents unnecessary invocations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

memory_get_detailA

memory_search で取得したIDを指定して、メモリのフル詳細を取得する。 複数IDを一括指定可能。必要なものだけ取得してトークンを節約すること。

NameRequiredDescriptionDefault
idsYes取得したいメモリエントリのID配列

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Discloses batch capability ('複数IDを一括指定可能') and cost implications (token saving). However, lacks disclosure of error behavior (what happens if ID not found), idempotency, or safety characteristics beyond the implicit 'get' operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise with two efficient sentences. First sentence establishes purpose and batch capability; second provides optimization guidance. Zero redundancy, front-loaded with essential workflow information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (1 parameter, no nested objects, 100% schema coverage), the description is appropriately complete. It explains the integration with memory_search (sibling tool) and batch behavior. Minor gap regarding error handling or return value description, but acceptable without output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, establishing baseline 3. Description adds valuable semantic context that IDs should come specifically from memory_search (not arbitrary sources) and emphasizes batch retrieval capability, enriching the 'ids' parameter meaning beyond the schema's basic type description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool retrieves 'full details' (フル詳細) of memories using IDs, with specific verb+resource. It distinguishes from sibling memory_search by explicitly stating this tool requires IDs obtained from memory_search, establishing a clear workflow dependency.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit prerequisite ('memory_search で取得したIDを指定して'), guiding users to search first. Includes specific optimization guidance ('必要なものだけ取得してトークンを節約') for efficient usage. Lacks explicit 'when not to use' or named alternatives, though the workflow implication is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

memory_saveA

メモリを保存する。カテゴリ:

  • config: API URL、ポート、認証情報などの設定

  • dont: やってはいけないこと、過去のミス、ユーザーが怒ったこと、AIのリトライパターン

  • decision: 決定事項、採用した方針

  • log: 実装したこと、解決したエラー

  • snippet: よく使うコマンド、クエリ、便利スクリプト

titleには検索しやすい具体的な名詞を含めること。

NameRequiredDescriptionDefault
categoryYesメモリのカテゴリ
titleYes1行の要約タイトル(20文字以内推奨)。検索用の具体的な名詞を含める。例: 「本番API URL」「ログ未読への怒り」
contentYes保存する内容の詳細
tagsNo検索用タグ(オプション、最大5個)
scopeNoスコープ(オプション)。推奨候補: frontend, backend, infra, design, spec, ai, general。自由入力も可
intensityNo怒られ度(オプション、1〜10の整数)。1=提案, 2=軽い注意, 3=明確な指摘, 4=強い不満, 5=激怒・諦め。6以上は手動ピン留め用(数値が大きいほどcontext注入で優先される)。指定時はLLM自動判定より優先される

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It successfully discloses behavioral semantics of the intensity parameter (the 1-10 scale meaning from '提案' to '激怒') and category taxonomy, but omits operational details like idempotency, overwrite behavior for duplicate titles, 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Perfectly structured with the core action front-loaded, followed by a scannable bulleted category list with inline semantics, and closing with specific title guidance. No redundant text; every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the 100% schema coverage and lack of output schema, the description is appropriately complete for a save operation. It comprehensively covers the categorical taxonomy and intensity semantics that the schema cannot express fully, though it could briefly mention whether the operation returns an ID or confirmation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

While the input schema has 100% description coverage (baseline 3), the description adds significant semantic value by detailing what each enum value in 'category' represents (e.g., 'config: API URL、ポート、認証情報などの設定') and expanding the 'intensity' parameter with the full semantic scale of anger levels (1=提案 through 5=激怒).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with the specific verb+resource 'メモリを保存する' (save memory) and immediately distinguishes this as the creation tool among CRUD siblings by enumerating the five distinct category types (config, dont, decision, log, snippet) that can be saved.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides extensive contextual guidance on when to use each category (e.g., 'config' for API URLs/auth, 'dont' for past mistakes, 'snippet' for commands) and specific title formatting instructions. Lacks explicit comparison to sibling tools like memory_update_intensity or memory_delete.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

memory_update_intensityA

既存メモリエントリのintensity(重要度)だけを変更する。 ピン留め運用に使う: intensity 6以上を設定するとcontext注入で最優先される。 memory_searchで取得したIDを指定すること。

NameRequiredDescriptionDefault
idYes更新対象エントリのID
intensityYes新しいintensity値(1〜10の整数)。6以上は手動ピン留め用

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses critical behavioral details: setting intensity 6+ results in 'highest priority in context injection' (context注入で最優先される), explaining the ranking mechanism. It also clarifies this is a partial update (only intensity). It does not mention error handling for invalid IDs or idempotency, but covers the key domain-specific behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tightly structured sentences with zero waste: (1) purpose/scope, (2) usage mechanics and threshold behavior, (3) prerequisite workflow. Information is front-loaded and every sentence earns its place. Appropriate length for the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Complete for a simple 2-parameter update tool. It explains the domain concept (intensity/pinning), references the necessary sibling tool (memory_search) for the workflow, and describes the priority system's effect. No output schema exists, but the description does not need to explain return values for this type of operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, establishing a baseline of 3. The description adds workflow semantics beyond the schema: it specifies that the ID should come from memory_search (establishing tool chaining) and elaborates on the 'context injection priority' effect of the intensity parameter, which is not fully explained in the schema's description of the number range.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it 'only changes the intensity of existing memory entries' (既存メモリエントリのintensityだけを変更する), using a specific verb and resource. It explicitly distinguishes itself from creation tools like memory_save by emphasizing 'existing' entries and narrowing scope to 'only intensity'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear context for when to use: 'Used for pin operation' (ピン留め運用に使う) and specifies the prerequisite workflow 'Specify the ID obtained from memory_search' (memory_searchで取得したIDを指定すること). However, it does not explicitly state when NOT to use it (e.g., for creating new entries) or name alternatives like memory_save.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

project_initA

プロジェクトの初期設定を行う。自律タスク実行のために、プロジェクトの品質基準・フェーズ・判断基準を登録する。

操作モード:

  • mode="generate": 選択式の質問リストを生成

  • mode="save": 回答をもとにプロジェクトメタ情報を保存

NameRequiredDescriptionDefault
modeYes操作モード
projectNameYesプロジェクト名
projectPathNoプロジェクトの絶対パス(mode=save時に必須)
initialInfoNoプロジェクトの初期情報(mode=generate時、省略可)
answersNo質問への回答(mode=save時に必須)。キーは質問のkey、値は選択した回答

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses that the tool registers project metadata and saves meta-information, and mentions the autonomous execution context. However, it fails to specify critical operational details: whether 'save' mode is destructive (overwrites existing), idempotent, requires specific file permissions for projectPath, or what side effects occur (file creation vs database storage).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently structured with a clear purpose statement followed by operation mode bullets. Every sentence serves a function: the first defines the action and target, the second explains the 'why' (autonomous execution), and the bullets clarify the mode parameter semantics. No redundancy or filler text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (5 parameters, nested objects, conditional requirements, two distinct operating modes) and lack of output schema, the description adequately explains the input workflow but omits critical details about return values (what does 'generate' return? what does 'save' return?) and error conditions. For an initialization tool, it should also address idempotency concerns.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

While the schema has 100% coverage documenting each parameter, the description adds valuable workflow context explaining that 'generate' produces questions and 'save' consumes those answers to create metadata. It clarifies the semantic relationship between the mode, answers, and initialInfo parameters beyond the schema's standalone descriptions, though it doesn't add syntax details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool performs 'initial project setup' (プロジェクトの初期設定を行う) and specifies exactly what gets registered: 'quality standards, phases, and decision criteria for autonomous task execution' (品質基準・フェーズ・判断基準を登録する). It effectively distinguishes from siblings like memory_* (memory management) and task_* (task execution) by focusing on project metadata initialization.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the two-mode workflow (generate vs save) and implies the sequence (generate questions first, then save based on answers). However, it lacks explicit guidance on when to use this versus task_submit or memory_save, and doesn't specify prerequisites or conditions where this tool should not be used (e.g., existing projects).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

task_action_listA

人間アクションリストを管理する。AIが解決できなかったタスクの一覧表示と対応操作。

操作モード:

  • mode="list"(デフォルト): アクションリストを表示

  • mode="resolve": タスクに対応(action: "retry"=再実行, "complete"=手動解決済み, "cancel"=対応不要)

NameRequiredDescriptionDefault
modeNo操作モード(デフォルト: list)
taskIdNo対応するタスクID(mode=resolve時に必須)
actionNo対応アクション(mode=resolve時に必須)

TDQS

A4.1/5.0
Behavior3/5

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 successfully explains the semantics of actions (retry=re-execute, complete=manual resolution, cancel=no action needed) and conditional requirements, but lacks disclosure of side effects, return values, or safety profile (e.g., whether resolve operations are reversible).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is optimally structured with a clear purpose statement followed by an 'Operation modes' section that efficiently delineates the two modes and their associated actions. Every sentence earns its place with zero redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of an output schema and annotations, the description adequately covers the input parameters and operational modes but fails to describe what the 'list' mode returns or the success/failure behavior of the 'resolve' mode, leaving gaps in contextual completeness for a tool handling task lifecycle operations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

While the schema has 100% coverage, the description adds significant value by explaining the operational semantics of enum values (e.g., clarifying that 'complete' means manually resolved and 'cancel' means no action needed) and explicitly noting conditional requirements for taskId and action that are not enforced in the schema's required fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it manages 'human action lists' specifically for 'tasks AI could not resolve' (AIが解決できなかったタスク), using specific verbs (管理する, 一覧表示, 対応操作). This effectively distinguishes it from siblings like task_submit (new tasks) and task_status (monitoring).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear operational guidance through the two-mode structure (list vs resolve) and explains when each parameter is required (mode=resolve時に必須). However, it does not explicitly contrast with sibling tools like task_submit to clarify when to escalate to human action versus initial submission.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

task_statusA

自律タスクの状態サマリを返す。pending/in-progress/completed/failed/human-required/cancelledの件数と直近20件のタスク一覧を表示。

NameRequiredDescriptionDefault
projectNoプロジェクト名でフィルタ(省略時は全プロジェクト)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It adds valuable context about pagination (20-item limit) and specific status taxonomy, but does not explicitly state safety characteristics (read-only nature) or error handling, leaving gaps an annotation would normally cover.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, dense sentence that front-loads the core function (returning status summaries) and efficiently packs in specific status values and result limits with zero wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 adequately compensates by detailing the return structure (count metrics + task list). For a single-parameter read operation, this provides sufficient completeness, though explicit safety confirmation would strengthen it further.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, documenting the optional 'project' filter parameter fully. The description does not mention the parameter, but since the schema is self-explanatory, it meets the baseline expectation without adding redundant information.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns a status summary (状態サマリ) of autonomous tasks, specifying exact status categories (pending/in-progress/completed/failed/human-required/cancelled) and output format (counts + recent 20 items), effectively distinguishing it from sibling tools like task_submit (submission) and task_action_list (action listing).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

While the description implies usage context by detailing the output (status counts and recent tasks), suggesting it's for status overview/monitoring, it lacks explicit guidance on when to use this versus task_action_list or task_submit, and contains no 'when-not-to-use' exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

task_submitA

自律タスクを投入する。AIが24/365で自動実行し、完了条件を満たすまでリトライする。

投入する4項目:

  • why: なぜやるか(背景・目的)

  • what: どんな体験/行動変容を与えたいか

  • done: 完了条件(機械検証可能な基準。例: "npx tsc通過 + vitest全パス")

  • project: プロジェクト名

NameRequiredDescriptionDefault
whyYesなぜやるか(背景・目的)
whatYesどんな体験/行動変容を与えたいか
doneYes完了条件(機械検証可能な基準)
projectYesプロジェクト名

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden and successfully discloses critical behavioral traits: continuous execution (24/365), automatic retry logic, and completion-based termination. It could be strengthened by mentioning failure modes (e.g., max retry limits) or return values, but the execution model disclosure is substantial.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely efficient structure: one sentence for purpose/behavior, a header '投入する4項目:', then four bullet-style parameter definitions. Every line earns its place. The critical behavioral information (24/365, retry) is front-loaded before parameter details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 4-parameter flat schema with no output schema, the description adequately covers operational context. It explains what happens after invocation (AI takes over execution). Minor gap: doesn't describe the return value (likely a task ID) or how to reference the task later, though sibling tools suggest this functionality exists.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, establishing a baseline of 3. The description adds significant value by providing a concrete, syntax-rich example for the 'done' parameter: '例: "npx tsc通過 + vitest全パス"'. This example clarifies expected machine-verifiable formats beyond the schema's abstract description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with '自律タスクを投入する' (submit autonomous tasks) and immediately clarifies the unique execution model: 'AIが24/365で自動実行し、完了条件を満たすまでリトライする' (AI executes automatically 24/365, retrying until completion conditions are met). This specific verb+resource+behavioral scope clearly distinguishes it from siblings like task_status (query) or memory_save (storage).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 24/365 auto-execution and retry behavior implicitly signals when to use this (for persistent background tasks) versus one-shot operations. While it doesn't explicitly name alternatives like 'use task_status to monitor progress,' the operational model is distinct enough to guide selection. Lacks explicit 'when not to use' guidance.

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.

  1. 10 tool updatesv0.15.0
    • First observedmemory_delete
    • First observedmemory_get_context
    • First observedmemory_get_detail
    • First observedmemory_save
    • First observedmemory_search
    • First observedmemory_update_intensity
    • First observedproject_init
    • First observedtask_action_list
    • First observedtask_status
    • First observedtask_submit

TDQS

A4.1/5.0

Scored across 10 tools

Disambiguation4/5

Most tools have distinct purposes, but there is some overlap between memory_get_context and memory_get_detail, as both retrieve memory information. However, memory_get_context focuses on config and dont categories specifically, while memory_get_detail retrieves full details for any memory entry, which helps differentiate them. The other tools like memory_search, memory_save, and task-related tools are clearly distinct in their functions.

Naming Consistency4/5

The naming follows a consistent verb_noun pattern throughout, such as memory_delete, memory_get_context, and task_submit. All tools use snake_case, which is uniform. The only minor deviation is project_init, which fits the pattern but stands out slightly as it doesn't start with a memory or task prefix, though it's still consistent in structure.

Tool Count5/5

With 10 tools, the count is well-scoped for the server's purpose, which appears to be memory management and task automation. This number allows for comprehensive coverage without being overwhelming, including operations for memory CRUD, context retrieval, and task lifecycle management, making it efficient for agents to handle.

Completeness4/5

The tool set provides good coverage for memory operations (save, search, get, delete, update) and task management (init, action list, status, submit), but there are minor gaps. For example, there's no tool for updating memory content beyond intensity, and task operations lack direct update or delete functions, though agents might work around this with existing tools like task_action_list for resolution.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A self-hosted MCP server that provides AI assistants with a shared, persistent SQLite-backed memory for storing and retrieving project context, decisions, and discoveries. It enables cross-session continuity and team-wide knowledge sharing to keep AI coding tools aligned and informed.
    3
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    An MCP server that gives AI assistants persistent memory across sessions. It stores project context, decisions, and progress in structured markdown files as well as a knowledge graph and sequential thinking for better memory storage.
    36
    34 npm
    1
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    A local MCP server that gives AI assistants a long-term memory by capturing sessions verbatim and surfacing relevant context automatically.
    15
    917
    MIT