Skip to main content
Glama

Claude Engram

Persistent memory and session intelligence for Claude Code. Hooks into the session lifecycle to auto-track mistakes, decisions, and context — then mines your full session history so past work resurfaces exactly when it's relevant.

Zero manual effort. Works with any MCP-compatible client.

What It Does

Everything below is automatic (hooks) unless marked as a tool:

  • Tracks every edit, error, test result, and session event; captures decisions straight from your prompts ("let's use X")

  • Injects the 3 most relevant memories before each file edit; warns before you repeat a past mistake

  • Error deja-vu: a failure matching a known recurring error gets the past fix injected at failure time

  • Verifies imports and shows blast radius before edits, and orients before reads — all from a per-project code index (AST, no LLM)

  • Lists the project's known-good test commands at session start

  • Survives compaction: checkpoint before, re-inject after; deliberate checkpoints live in a durable per-project ring

  • Mines your full history in the background (and live, mid-session): decisions, mistakes, recurring struggles — searchable across everything you've ever discussed, scoped to the right sub-project

  • Stays honest: failing TDD runs aren't logged as mistakes, edit loops get flagged, subagents are tracked without wasting their context

  • Tools (on demand): memory, session_mine, work, context checkpoints, deps_map, impact_analyze, scout_search — all annotated read-only/idempotent where true. /engram loads the full reference.

Related MCP server: Doclea MCP

How to Use It Effectively

From the author — mostly it just works in the background. The few things worth doing on purpose:

  • Pull /engram when you want Claude to actively reach for the tools (background tracking happens either way).

  • Half-remember something from weeks ago? Ask Claude to mine the sessions for it — it searches everything, not just what's in context.

  • Something it should never forget → save it as a rule. Per-project rules stay local; rules at your workspace root cascade to every project under it.

  • Before compacting, it auto-checkpoints — but a manual checkpoint with what you're doing and what's left resumes far cleaner. Deliberate saves always beat automatic ones.

  • On return, ask what you said you'd do this session (session_mine(commitments)) — a quick, best-effort reorient from the live transcript.

The less you poke at it, the better it works. Work in progress — issues welcome.

How It Works

Claude Code
    |
    +-- Hooks (remind.py)          <- intercept every tool call (1-2s budget)
    +-- Session mining (mining/)   <- background + live-tick intelligence
    +-- MCP server (server.py)     <- on-demand tools
    +-- Scorer daemon              <- warm encoder + hook dispatch, cpu-resident;
                                      bulk embeddings in a transient GPU worker

Benchmarks

Retrieval (recall@k): LongMemEval 0.966 R@5 / 0.982 R@10 (500 questions), ConvoMem 0.960 (250 items), LoCoMo 0.649 R@10 (~2k questions); ~43ms/query, 112ms cross-session over 7,310 chunks.

Product behavior: integration suites green — decision capture (97.8% precision), error auto-capture (100% recall), compaction survival (6/6), multi-project isolation (11/11), edit-loop detection (12/12), session mining (64/64), Obsidian-vault compat (25/25).

Full tables and reproduction commands: library-book.

Compatibility

Platform

What Works

Auto-Capture

Claude Code (CLI, desktop, VS Code, JetBrains)

Everything

Full — hooks + session mining

Cursor / Windsurf / Continue.dev / Zed / any MCP client

MCP tools

No hooks

Obsidian vaults

Full (with CLAUDE.md at root)

Full with Claude Code

Install

git clone https://github.com/20alexl/claude-engram.git
cd claude-engram
python -m venv venv
source venv/bin/activate  # or venv\Scripts\activate on Windows

pip install -e .                # Core
pip install -e ".[semantic]"    # + embedding model for vector search and semantic scoring

python install.py               # Hooks, MCP server, /engram skill, migrations

Per-Project Setup

python install.py --setup /path/to/your/project

Or copy .mcp.json to your project root. That's the only per-project file — hooks and the /engram skill are global. (The CLAUDE.md in this repo documents engram for people working on engram; your projects don't need it.)

Updating

cd claude-engram
git pull
pip install -e ".[semantic]"    # Reinstall if dependencies changed
python install.py               # Re-run to update hooks and /engram skill

Hooks pick up code changes immediately (editable install); reconnect the MCP server (/mcp) to reload it. Data migrations run automatically and are forward-only, idempotent, and downgrade-safe.

Mid-Project Adoption

Install normally. On first session, engram detects your existing Claude Code history and mines it in the background — decisions, mistakes, and patterns from every past conversation.

Configuration

All optional. Deep detail on each lives in the library-book.

Variable

Default

Description

CLAUDE_ENGRAM_MODEL

gemma3:12b

Ollama model — only scout_search, memory(consolidate), session_mine(reflect) use it

CLAUDE_ENGRAM_EMBED_MODEL

BAAI/bge-base-en-v1.5

Embedding model (~1.1GB scorer RAM). all-MiniLM-L6-v2 for a ~90MB setup at lower accuracy

CLAUDE_ENGRAM_EMBED_DIM

model native

Matryoshka truncation dim. Stores are signature-stamped — model changes rebuild them automatically

CLAUDE_ENGRAM_DEVICE

smart

Unset: daemon stays on cpu, bulk jobs use a transient GPU worker (full VRAM release). cuda/cpu forces one device

CLAUDE_ENGRAM_GPU_BULK_MIN

512

Job size (texts) that routes to the GPU worker

CLAUDE_ENGRAM_GPU_BATCH

64

Rows per forward pass on the GPU. Raise it on a card with headroom; the peak scales linearly (~26 MiB/row)

CLAUDE_ENGRAM_LIVE_MINE

300

Live mining tick interval (seconds); 0 disables

CLAUDE_ENGRAM_ARCHIVE_DAYS

14

Days until inactive memories archive

CLAUDE_ENGRAM_SCORER_TIMEOUT

1800

Scorer daemon idle timeout (seconds)

CLAUDE_ENGRAM_DIR

~/.claude_engram

Storage location (also the test-isolation seam)

CLAUDE_ENGRAM_SESSION_RETENTION_DAYS

0 (keep all)

Prune session-search shards older than N days

CLAUDE_ENGRAM_LAST_FILE_PATH

unset

Mirror last-read file path to this file (statusline integration)

CLAUDE_ENGRAM_HOOK_DEBUG

unset

1 prints a stderr breadcrumb per hook

~/.claude_engram/config.json additionally accepts embed_model, embed_dim, and lessons_globs (opt-in lessons bridge: globs of curated markdown whose dated entries sync as protected memories).

Reindexing

If search quality degrades or after a big update:

python scripts/reindex.py "/path/to/your/workspace" --force            # rebuild search index
python scripts/reindex.py "/path/to/your/workspace" --force --extract  # also re-extract decisions/mistakes

Or via MCP: session_mine(operation="reindex", mode="bootstrap")

Documentation

Library Book — design, internals, full usage guide, API reference, gotchas, changelog.

/engram — quick tool reference (installed by install.py).

License

MIT

Available Tools

21 tools
audit_batchC

Audit multiple files for issues. Supports glob patterns.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathsYes
min_severityNo

TDQS

C2.7/5.0
Behavior2/5

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

Only mentions glob pattern support. No disclosure of read-only nature, permissions, or other behavioral traits. With no annotations, description should carry this burden but fails to.

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

Conciseness4/5

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

Two sentences, efficient and front-loaded. No unnecessary words, though slightly under-detailed.

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

Completeness2/5

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

Missing return value description, behavior for empty paths, error cases, and meaning of min_severity. Given no output schema and no annotations, description is insufficient.

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

Parameters2/5

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

Glob pattern support adds value for file_paths but min_severity is completely unexplained. With 0% schema coverage, description should compensate more.

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

Purpose4/5

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

Clearly states it audits multiple files for issues, with glob support. Distinguishes from sibling audit tools like code_quality_check by focusing on file batches.

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

Usage Guidelines2/5

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 code_quality_check or scout_search. Missing context about prerequisites or selection criteria.

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

claude_engram_statusB

Check Claude Engram health. Returns: status, model, memory stats.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It does not disclose whether the tool is read-only, expensive, or requires specific permissions. The return fields are listed but behavioral traits are absent.

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 extremely concise: one sentence plus a short list of return items. Every word serves a purpose with no fluff.

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 no parameters and no output schema, the description is moderately complete. It explains the purpose and return fields but lacks detail on the format or semantics of each return value, which an agent might need for interpretation.

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 tool has zero parameters, so the baseline is 4. The description adds meaning by stating what the tool returns, which compensates for the lack of parameters.

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

Purpose4/5

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

The description clearly states the verb 'Check' and the resource 'Claude Engram health', and lists the return fields (status, model, memory stats). It is specific enough to distinguish from sibling tools like 'code_quality_check' or 'memory', though it does not explicitly differentiate itself from them.

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

Usage Guidelines2/5

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 its siblings or alternatives. With a list of 20 sibling tools, explicit usage context is missing.

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

code_pattern_checkC

Check code against stored conventions using LLM.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
codeYes

TDQS

C2.3/5.0
Behavior1/5

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

No annotations are present, so the description bears full responsibility. It only mentions 'using LLM' but fails to disclose whether the tool is read-only, destructive, or requires permissions, nor does it explain what 'checking' entails (e.g., does it modify anything?).

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

Conciseness2/5

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

The description is a single sentence, which is concise, but it sacrifices valuable detail. It does not earn its place because it leaves critical information out.

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

Completeness1/5

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

With no output schema and minimal schema descriptions, the description is severely incomplete. It does not explain what the result of the check looks like or how the tool integrates with other tools.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not elaborate on the parameters 'project_path' or 'code'. The agent cannot infer what values are expected or how they relate to the checking process.

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 action ('Check'), the resource ('code against stored conventions'), and the method ('using LLM'). This is specific and distinguishes it from sibling tools like 'code_quality_check'.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'code_quality_check' or 'audit_batch'. There are no prerequisites, exclusions, or use-case hints.

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

code_quality_checkC

Check code for AI slop: long functions, vague names, deep nesting.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYes
languageNopython

TDQS

C2.6/5.0
Behavior2/5

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

No annotations exist, so the description must fully convey behavioral traits. It only states the purpose but does not disclose whether the tool modifies code, requires specific permissions, or has any side effects. The word 'check' implies read-only, but this is not explicit.

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

Conciseness4/5

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

The description is a single sentence with no fluff, making it easy to scan. It is appropriately sized for the tool's simplicity, though it could benefit from slightly more detail in a structured format.

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

Completeness2/5

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 annotations, the description is too minimal. It does not explain what the tool returns (e.g., a list of issues or a score), or any constraints like maximum code length. This leaves the agent guessing about the tool's full behavior.

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

Parameters1/5

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

Schema description coverage is 0%, so the description must add meaning. However, it provides no additional context for the 'code' or 'language' parameters beyond their names. No format, size limits, or examples are given.

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

Purpose4/5

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

The description clearly states it checks code for 'AI slop' including specific issues like long functions, vague names, and deep nesting. This verb+resource combination is specific and distinguishes it from siblings like 'code_pattern_check' which likely targets different patterns.

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

Usage Guidelines2/5

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 'code_pattern_check' or 'scout_analyze'. No prerequisites or context for invocation are provided.

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

contextA

Context protection for long tasks. Operations:

  • checkpoint_save: Save task state (task_description, current_step, completed_steps, pending_steps, files_involved)

  • checkpoint_restore: Restore last checkpoint (task_id optional)

  • checkpoint_list: List saved checkpoints

  • verify_completion: Claim task done + verify (task, evidence, verification_steps)

  • instruction_add: Register critical instruction (instruction, reason, importance)

  • instruction_reinforce: Get instructions to remember

  • handoff_create: Create session handoff (handoff_summary, pending_steps, handoff_context_needed, handoff_warnings)

  • handoff_get: Retrieve latest handoff document

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesOperation
task_descriptionNo
current_stepNo
completed_stepsNo
pending_stepsNo
files_involvedNo
task_idNoFor restore: specific checkpoint
taskNoFor verify: task to verify
evidenceNoFor verify: proof
verification_stepsNoFor verify: checks
instructionNoFor instruction_add
reasonNo
importanceNo
project_pathNo
handoff_summaryNoFor handoff_create: summary for next session
next_stepsNoFor handoff_create: what to do next
handoff_context_neededNoFor handoff_create: context the next session needs
handoff_warningsNoFor handoff_create: warnings for next session

TDQS

A3.6/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden for behavioral transparency. While it lists operations and their parameters, it does not disclose side effects, persistence behavior, or resource constraints, leaving significant gaps for an agent.

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

Conciseness4/5

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

The description is well-structured with a lead sentence followed by a bulleted list of operations. It is relatively concise given the number of operations, though some repetition (e.g., 'For verify') could be streamlined.

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?

The description provides a good overview of operations and their parameters, but it lacks details on output/return values, error handling, and prerequisites. For a complex tool with 18 parameters and no output schema, this is adequate but not complete.

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 description adds meaningful context for many parameters by linking them to specific operations (e.g., 'For handoff_create: summary for next session'). This goes beyond the schema's brief descriptions, especially for the structured parameters like arrays, though some parameters like 'reason' lack context.

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's purpose as 'Context protection for long tasks' and enumerates eight specific operations with brief descriptions, making it easy to understand what the tool does and how it differs from sibling tools like 'memory' or 'output'.

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 implies usage through operation names and parameter details (e.g., when to use checkpoint_save vs checkpoint_restore), but it does not explicitly state when to use this tool over alternatives or provide exclusion criteria.

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

conventionB

Project conventions. Operations:

  • add: Store rule (project_path, rule, category, reason, examples, importance)

  • get: Get rules (project_path, category)

  • check: Check code/filename (project_path, code_or_filename)

  • remove: Remove convention by matching text (project_path, rule)

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesOperation
project_pathYes
ruleNo
categoryNo
reasonNo
examplesNo
importanceNo
code_or_filenameNo

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description must convey behavioral traits. It mentions basic effects (store, retrieve, check, remove) but omits side effects, permissions, idempotency, error handling, or concurrency details.

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

Conciseness4/5

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

The description is short and uses a clear list format to separate operations. Every sentence contributes value; no redundant text. Slightly more structure (e.g., parameter roles) could improve readability.

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

Completeness2/5

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

With 8 parameters, 4 operations, no annotations, and no output schema, the description is insufficient. It does not explain return values, error conditions, or default behavior for optional parameters, leaving the agent with significant unknowns.

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 only 13%, so the description must compensate. It maps parameters to operations (e.g., rule, category for 'add'; rule for 'remove'), adding grouping information not in the schema. However, it still lacks detailed semantics for each 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 clearly identifies the tool as handling project conventions with four explicit operations (add, get, check, remove). Each operation is briefly described, and the tool is distinct from siblings like code_pattern_check or code_quality_check.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives. The description only lists operations without context on when each is appropriate or what prerequisites exist.

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

deps_mapC

Map file dependencies. Shows imports and optionally reverse deps.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYes
include_reverseNo
project_rootNo

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only states what it does vaguely. It does not disclose whether it modifies files, requires specific permissions, or handles missing files, which is insufficient for a dependency mapping tool.

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?

Two short sentences, no redundancy, and front-loaded with the core purpose. Every sentence adds value without extra fluff.

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

Completeness2/5

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

Despite clear intent, the description lacks specifics on output format, scope of dependency scanning, and the role of project_root. Without annotations or output schema, it leaves significant gaps for an agent to use effectively.

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?

The description mentions 'imports' and 'reverse deps', which map to file_path and include_reverse, but does not explain project_root. With 0% schema coverage, this partially compensates but misses one parameter's meaning.

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

Purpose4/5

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

The description clearly states the tool maps file dependencies and shows imports with optional reverse deps, using a specific verb and resource. However, it does not explicitly differentiate from sibling tools like code_pattern_check or impact_analyze.

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

Usage Guidelines2/5

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. Lacks context about prerequisites or scenarios where it is appropriate, leaving the agent to infer usage from the name and description.

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

file_summarizeC

Summarize file purpose. Modes: quick (pattern-based) or detailed (LLM).

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYes
modeNoquick

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It mentions two modes (quick/detailed) with brief explanations, but omits critical details: whether the tool is read-only, what happens if the file doesn't exist, how the output is structured, or any side effects. These gaps reduce transparency significantly.

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 extremely concise—only two sentences. The first sentence states the core purpose immediately, and the second adds crucial mode details. Every word earns its place with no redundancy.

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

Completeness2/5

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

Given the tool's simplicity (2 parameters, no output schema, no annotations), the description is incomplete. It lacks information about return values, error handling (e.g., file not found), and does not clarify if the tool modifies anything. An agent might need more context to use it reliably.

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 0%, so the description must compensate. It explains the 'mode' parameter's enum values ('quick' is pattern-based, 'detailed' is LLM), adding meaning. However, it does not describe the required 'file_path' parameter beyond implying it's the file to summarize. Thus, partial compensation warrants a 3.

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

Purpose4/5

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

The description clearly states the verb 'summarize' and the resource 'file purpose', making the tool's function evident. It also distinguishes two modes, which adds specificity. However, it doesn't explicitly differentiate from sibling tools that might also deal with files, like 'convention' or 'scope', leaving slight ambiguity.

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

Usage Guidelines2/5

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. There is no mention of prerequisites, excluded scenarios, or related tools. The agent receives no context about appropriate usage, making it rely on inference.

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

find_similar_issuesC

Search codebase for bug pattern (e.g., 'except:\s*pass').

ParametersJSON Schema
NameRequiredDescriptionDefault
issue_patternYesRegex pattern
project_pathYes
file_extensionsNo
exclude_pathsNo

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden. It does not disclose behavioral traits such as read-only nature, potential performance impact, or whether results are limited to matches or include context.

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

Conciseness4/5

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

The description is a single concise sentence with a useful example. However, it could include more context without becoming verbose.

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

Completeness2/5

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

Given 4 parameters with only 25% schema coverage and no output schema, the description should compensate. It falls short by not explaining return values, parameter usage, or behavioral expectations.

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

Parameters2/5

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

Only issue_pattern has a schema description ('Regex pattern'), and the tool description only provides an example pattern. No explanation for project_path, file_extensions, or exclude_paths, leaving their roles ambiguous.

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 action ('Search codebase') and the resource ('bug pattern'), with a concrete example ('except:\s*pass'). This clearly distinguishes from siblings like code_pattern_check, which likely handles general patterns.

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

Usage Guidelines2/5

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 code_pattern_check or others. The description lacks context on prerequisites or scenarios where this tool is preferred.

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

impact_analyzeC

Analyze change impact. Shows dependents, exports, risk level.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYes
project_rootYes
proposed_changesNo

TDQS

C2.8/5.0
Behavior2/5

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

No annotations exist, and the description only lists outputs but does not disclose side effects, mutability, authentication needs, rate limits, or output format.

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

Conciseness4/5

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

Extremely concise at two sentences, but lacks crucial details. Still, no wasted words.

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

Completeness2/5

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

Given the tool's complexity (change impact analysis), the description omits output schema, interpretation of risk level, and limitations. Incomplete for practical use.

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

Parameters1/5

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

Schema description coverage is 0%, yet the description does not explain any parameter meanings or acceptable values for file_path, project_root, or proposed_changes.

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 analyzes change impact and shows dependents, exports, and risk level. This distinguishes it from sibling tools like scout_analyze or deps_map.

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

Usage Guidelines2/5

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

No information on when to use this tool versus alternatives, or when not to use it. No prerequisites or context provided.

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

loopA

Loop detection to prevent death spirals. Operations:

  • record_edit: Log file edit (file_path, description)

  • record_test: Log test result (passed, error_message)

  • check: Check if safe to edit (file_path)

  • status: Get edit counts and warnings

  • reset: Clear all loop tracking for a fresh start

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesOperation
file_pathNoFile being edited
descriptionNoFor record_edit: what changed
passedNoFor record_test: did tests pass
error_messageNoFor record_test: error if failed

TDQS

A3.6/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 burden. It describes behaviors for each operation (log, check, clear) but lacks details on statefulness, side effects, or what 'death spirals' entails. Could be more explicit about mutability and persistence.

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 extremely concise: one sentence stating purpose followed by a clear bullet list of operations. No unnecessary words, and critical information is front-loaded.

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

Completeness2/5

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

While the operation list is helpful, the description omits expected return values or outputs for each operation (e.g., what does 'check' return? 'status' returns counts?). With no output schema, this gap is significant for an AI agent.

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?

The input schema already describes all parameters with 100% coverage. The description adds operational context (e.g., which parameters apply to which operation) but does not significantly enhance understanding beyond the schema.

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 purpose as 'Loop detection to prevent death spirals' and enumerates specific operations (record_edit, record_test, check, status, reset) with a brief explanation for each, making it distinct 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.

Usage Guidelines3/5

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

The description implies usage contexts via operations (e.g., record_edit when editing, check before editing), but does not explicitly state when to use this tool versus alternatives or provide any exclusions.

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

memoryC

Memory operations. Operations:

  • remember: Store a note (just content - category/relevance optional)

  • recall: Get all memories for project

  • forget: Clear project memories

  • search: Find by file/tags/query (file_path, tags, query, limit)

  • clusters: View grouped memories (cluster_id to expand)

  • cleanup: Dedupe/cluster/decay (dry_run, min_relevance, max_age_days)

  • consolidate: LLM-powered merge of related memories (tag, dry_run)

  • add_rule: Add permanent rule (content, reason) - never decays

  • list_rules: Get all rules for project

  • modify: Edit memory (memory_id, content, relevance, category)

  • delete: Remove single memory (memory_id)

  • batch_delete: Bulk delete by IDs (memory_ids) or by category. Rules/mistakes protected from category delete.

  • promote: Promote memory to rule (memory_id, reason)

  • recent: Get recent memories newest first (category, limit)

  • archive: Move old inactive memories to cold storage (dry_run to preview)

  • restore: Bring archived memory back to active (memory_id)

  • archive_search: Search archived memories (query, tags, limit)

  • archive_status: Show hot vs archived memory counts

  • hybrid_search: Semantic + keyword + scored search (query, file_path, tags, limit). Best retrieval.

  • embed_all: Generate AllMiniLM embeddings for all memories (enables hybrid_search)

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesOperation to perform
project_pathYesProject directory
contentNoFor remember/add_rule/modify: content
categoryNoFor remember/modify/batch_delete/recent: memory category
relevanceNoFor remember/modify: importance 1-10
file_pathNoFor search: filter by file
tagsNoFor search: filter by tags
queryNoFor search: keyword search
limitNoFor search/recent: max results
cluster_idNoFor clusters: expand specific cluster
tagNoFor consolidate: only consolidate memories with this tag
dry_runNoFor cleanup/consolidate: preview only
min_relevanceNoFor cleanup: min to keep
max_age_daysNoFor cleanup: decay threshold
memory_idNoFor modify/delete/promote: memory ID
memory_idsNoFor batch_delete: list of memory IDs to delete
reasonNoFor add_rule/promote: why this rule

TDQS

C2.9/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It discloses destructive operations (forget, delete, etc.) and explains protections (rules/mistakes from category delete). However, it does not address authentication needs, rate limits, or failure behavior, leaving gaps.

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

Conciseness2/5

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

The description is a long, unstructured list that is not concise. It could be organized into categories or groups. While front-loaded with 'Memory operations', it still reads as a wall of 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 (20 operations, 17 parameters), the description is fairly complete in covering each operation's behavior. However, it lacks information about return values (no output schema) and error conditions, making it less than fully comprehensive.

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%, so baseline is 3. The description adds minor context by associating parameters with specific operations, but largely repeats what the schema already states. It does not significantly deepen understanding beyond the schema.

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

Purpose4/5

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

The description clearly enumerates each operation with a brief explanation, making it specific about what the tool does across multiple memory management tasks. However, the lack of a title and the overwhelming list slightly reduce clarity. It is distinguishable from siblings by being a general memory tool.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus other sibling tools (e.g., context, convention). The description only lists operations without providing context on when each operation is appropriate or when to choose an alternative tool.

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

outputC

Output validation. Operations:

  • validate_code: Check for fake/silent failures (code, context)

  • validate_result: Check output for fakes (output, expected_format, should_contain, should_not_contain)

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesOperation
codeNo
contextNo
outputNo
expected_formatNo
should_containNo
should_not_containNo

TDQS

C2.9/5.0
Behavior2/5

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

No annotations exist, and the description fails to disclose behavioral traits such as side effects, authorization needs, or return values. It is unclear whether validation failures raise errors or return results.

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

Conciseness4/5

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

The description is short and uses a clear bullet-point structure. It front-loads the purpose and efficiently lists operations. Minor improvement would be to add a return value note.

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

Completeness2/5

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

Given 7 parameters, no output schema, and no annotations, the description is insufficient. It does not explain return values, error handling, or full parameter details, leaving significant gaps.

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?

The description adds meaning for parameters used in each operation (e.g., validate_code uses code and context), but many parameters remain unexplained (e.g., context, expected_format syntax). With only 14% schema description coverage, the description partially compensates.

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

Purpose4/5

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

The description clearly states it performs output validation and lists specific operations with brief explanations. However, it does not differentiate from sibling tools like code_quality_check or code_pattern_check, which may overlap.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, nor on choosing between validate_code and validate_result. The agent must infer usage.

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

pre_edit_checkB

Run BEFORE editing important files. Checks: past mistakes, loop risk, scope violations.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYesFile about to edit

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided; description does not disclose side effects, authorization needs, rate limits, or return behavior. Only lists what it checks, which is minimal transparency.

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?

Two sentences, zero wasted words, key information front-loaded. Highly concise and well-structured.

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

Completeness2/5

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

Missing output schema and description does not specify return value or format. For a check tool, agents need to know what to expect (e.g., boolean, list, or summary) for decision-making.

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 coverage is 100% with a clear description for 'file_path.' The tool description adds no additional meaning beyond what the schema already provides, so baseline 3 applies.

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

Purpose4/5

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

Description clearly states it is a pre-edit check tool that examines past mistakes, loop risk, and scope violations, distinguishing it from sibling tools like code_pattern_check or code_quality_check.

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?

Explicitly says 'Run BEFORE editing important files,' providing clear timing for use. Does not specify exclusions or alternatives, but context is strong.

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

scopeA

Scope guard for multi-file tasks. Operations:

  • declare: Set task scope (task_description, in_scope_files, in_scope_patterns)

  • check: Verify file is in scope (file_path)

  • expand: Add files to scope (files_to_add, reason)

  • status: Get violations

  • clear: Reset scope

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesOperation
task_descriptionNoFor declare: task being done
in_scope_filesNoFor declare: allowed files
in_scope_patternsNoFor declare: glob patterns
file_pathNoFor check: file to verify
files_to_addNoFor expand: files to add
reasonNoFor expand: why adding

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It explains the operations and their parameter associations but does not disclose behavioral details such as side effects (e.g., does 'clear' destroy data?), authorization needs, or concurrency behavior. The operations are transparent in what they do but not their full impact.

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 extremely concise: one introductory sentence and a bulleted list of operations. Every sentence is necessary and front-loaded with the core purpose. No redundant or verbose language.

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 (multiple operations with many parameters) and lack of output schema, the description adequately covers operations and parameter usage. However, it omits details about return values (e.g., what does 'status' return?), scope persistence, or how this interacts with sibling tools like 'session_start' or 'context'.

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 coverage is 100%, and each parameter already has a description indicating which operation it applies to. The description merely restates this mapping (e.g., 'For declare: task being done'), adding no new semantic meaning beyond the schema.

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 is a 'Scope guard for multi-file tasks' and lists five specific operations (declare, check, expand, status, clear), making the purpose unambiguous. It distinguishes itself from sibling tools like 'context' or 'loop' by focusing on file scoping.

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 implies usage for 'multi-file tasks' but provides no explicit guidance on when to use this tool versus alternatives among siblings (e.g., 'context', 'pre_edit_check'). No when-not-to-use or exclusion criteria are given.

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

scout_analyzeC

Analyze code with local LLM. Provide code and question.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYes
questionYes

TDQS

C2.9/5.0
Behavior3/5

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

The description discloses that analysis uses a local LLM, which is a key behavioral trait (privacy, dependency). However, it does not mention potential side effects, limitations, or authorization requirements. With no annotations, this is minimally adequate.

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

Conciseness4/5

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

Two sentences with no wasted words. However, it could be more structured (e.g., bullet points) to improve readability.

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

Completeness2/5

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

No output schema or annotations provided. The description does not mention return values, error handling, or usage context. For a simple tool, it leaves significant gaps in understanding what the tool produces.

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

Parameters2/5

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

The description restates parameter names ('code and question') without adding meaning beyond the schema. With schema description coverage at 0%, the description fails to compensate by explaining constraints, formats, or examples.

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

Purpose4/5

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

The description clearly states the verb 'analyze' and resource 'code with local LLM'. It is specific but does not differentiate from siblings like code_pattern_check or code_quality_check, which also analyze code.

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

Usage Guidelines2/5

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. The description only instructs to provide code and question, lacking context for selection.

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

session_endA

Optional. Shows session summary. All memories auto-save without this - just a nice recap.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathNoProject directory (optional)

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description bears full responsibility. It transparently states the tool is optional, shows a summary, and doesn't affect memory saving. No negative traits like destruction or auth needs are mentioned, which is appropriate for a harmless tool.

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 extremely concise with one sentence that front-loads the key purpose ('Optional. Shows session summary.') and adds clarifying context. No 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?

For a simple optional tool, the description covers the essential purpose and clarifies it's a recap. No output schema exists, but the description implies the output is a summary, which is sufficient. Lacks mention of the parameter, but given its optionality and schema coverage, it's adequate.

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?

There is one optional parameter 'project_path' with 100% schema description coverage. The tool description does not add any extra meaning beyond what the schema already provides, so baseline score of 3 applies.

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 'shows session summary', specifying the verb and resource. It distinguishes itself from sibling tools like 'session_start' and 'session_mine' by indicating it's a recap, not a start or mine.

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 marks it as 'Optional' and clarifies that memories auto-save without it, implying it's for a recap only. While it doesn't explicitly state when to use or alternatives, the context is clear that it's not required.

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

session_mineA

Mine session history. Operations:

  • search: Search across past conversations (query, project_path, limit, method=hybrid|semantic|keyword)

  • decisions: Find when/why a decision was made (query, project_path)

  • replay: Find discussions about a file (file_path, project_path)

  • struggles: Files/areas with repeated difficulty (project_path)

  • errors: Recurring error patterns across sessions (project_path)

  • correlations: Files always edited together (project_path)

  • timeline: Project development timeline (project_path)

  • summaries: Auto-generated session summaries (project_path)

  • overview: High-level project stats (project_path)

  • status: Mining index coverage (project_path)

  • reindex: Trigger background re-indexing (project_path, mode=post_session|bootstrap|full)

  • predict: Predict context needed for a file edit (file_path, project_path)

  • cross_project: Patterns across all projects (no project_path needed)

  • reflect: LLM-powered analysis of mistakes, patterns, and decisions (project_path)

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesOperation to perform
project_pathNoProject directory
queryNoFor search/decisions: search query
file_pathNoFor replay: file to find discussions about
limitNoMax results (default 10)
methodNoFor search: search method
modeNoFor reindex: mining mode
sinceNoFor search: filter after date (YYYY-MM-DD)
untilNoFor search: filter before date (YYYY-MM-DD)

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, so the description bears full responsibility. It describes what each operation does but fails to disclose behavioral traits such as side effects (e.g., reindex modifies state), authorization needs, 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.

Conciseness4/5

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

The description is structured as a bulleted list within a paragraph, making it scannable. It front-loads the main purpose, but the list is lengthy (14 items) and could be more concise.

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

Completeness5/5

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

Given the tool's complexity (14 operations, 9 parameters, no output schema), the description covers every operation and its associated parameters comprehensively, providing a complete picture of the tool's capabilities.

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?

With 100% schema coverage, the description adds value by grouping parameters per operation (e.g., 'for search/decisions: query') and clarifying which parameters apply to which operation, going beyond the schema's flat descriptions.

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 'Mine session history' and enumerates 14 distinct operations with specific verbs (search, decisions, replay, etc.), correctly distinguishing from sibling tools like scout_search or memory.

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 lists operations but does not provide explicit guidance on when to use this tool versus alternatives. Usage is implied through operation names, but no when-not-to or comparison to siblings is given.

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

session_startA

Load full context: memories, checkpoints, decisions, memory health. Auto-cleans duplicates. Hook auto-starts basic session, but this gives deep context.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYesProject directory path

TDQS

A3.5/5.0
Behavior2/5

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 mentions 'auto-cleans duplicates' which implies mutation, but does not clarify whether the tool is read-only or modifies state. No disclosure of auth needs, rate limits, or side effects beyond cleanup.

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

Conciseness4/5

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

The description is two sentences, front-loaded with the core purpose, and uses clear language. It is efficient but could be more structured for skimming.

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

Completeness2/5

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

The tool has no output schema, so the description should explain return values or side effects. It mentions auto-cleaning duplicates but does not describe what the tool returns or any prerequisites. Incomplete for a tool that loads context.

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% for the single parameter 'project_path'. The description does not add any meaning beyond the schema's 'Project directory path' explanation. Baseline score of 3 applies as no extra value is provided.

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 loads full context including memories, checkpoints, decisions, and memory health. It differentiates from a basic session start by noting the hook auto-starts basic session but this gives deep context.

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 implies when to use this tool (when deep context is needed) versus the hook (basic session). It does not explicitly list when not to use or mention alternatives like session_mine, but provides sufficient guidance.

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

workB

Work tracking. Operations:

  • log_mistake: Record error (description, file_path, how_to_avoid)

  • log_decision: Record choice (decision, reason, alternatives)

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesOperation
descriptionNoFor log_mistake: what went wrong
file_pathNoFor log_mistake: affected file
how_to_avoidNoFor log_mistake: prevention
decisionNoFor log_decision: what was decided
reasonNoFor log_decision: why
alternativesNoFor log_decision: other options

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are present, so the description must bear the full burden. It states it 'records' data but provides no details on side effects, persistence, idempotency, or authentication requirements.

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 extremely concise, using a bullet list format with no extraneous words. Every sentence serves a purpose.

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 complexity (7 parameters, no output schema, no annotations), the description provides an overview and parameter grouping but lacks information about return values, confirmation, or persistence behavior.

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 schema has 100% coverage with per-parameter descriptions. The description adds value by grouping parameters under each operation (log_mistake: description, file_path, how_to_avoid; log_decision: decision, reason, alternatives), clarifying which parameters belong to which operation.

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

Purpose4/5

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

The description clearly states the tool is for 'Work tracking' and lists two operations (log_mistake, log_decision) with their purposes. This differentiates it from sibling tools, which do not mention logging mistakes or decisions.

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

Usage Guidelines2/5

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 or when not to use it. It only lists the operations without context on selection criteria.

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. 21 tool updatesv0.2.0
    • First observedaudit_batch
    • First observedclaude_engram_status
    • First observedcode_pattern_check
    • First observedcode_quality_check
    • First observedcontext
    • First observedconvention
    • First observeddeps_map
    • First observedfile_summarize
    • First observedfind_similar_issues
    • First observedimpact_analyze
    • First observedloop
    • First observedmemory
    • First observedoutput
    • First observedpre_edit_check
    • First observedscope
    • First observedscout_analyze
    • First observedscout_search
    • First observedsession_end
    • First observedsession_mine
    • First observedsession_start
    • First observedwork

TDQS

B3.2/5.0

Scored across 21 tools

Disambiguation4/5

Most tools have distinct purposes, but there is some overlap between code_pattern_check, code_quality_check, and convention.check, which all analyze code against rules. Additionally, scout_search and find_similar_issues both search code for patterns, though they target different use cases. Descriptions help differentiate, but an agent might occasionally misselect.

Naming Consistency4/5

Tool names consistently use underscore_case with a verb_noun or noun_verb pattern (e.g., audit_batch, session_start, code_quality_check). However, a few names like claude_engram_status and find_similar_issues break the pattern slightly, and the nested operation prefixes (e.g., 'checkpoint_save' under 'context') could be more uniform.

Tool Count4/5

With 21 tools, the count is on the higher side but still reasonable for a comprehensive developer assistant server. Each tool serves a distinct purpose, and the inclusion of nested operations (e.g., under 'memory' and 'session_mine') keeps the top-level list manageable. A slight reduction could improve navigability.

Completeness4/5

The tool set covers a wide range of features: memory management, session/handoff handling, code analysis, conventions, scope, output validation, and work tracking. It lacks direct file I/O tools, but that is likely handled by other servers. Overall, the surface is comprehensive for a context and memory management server, with only minor gaps like a dedicated planning or task decomposition tool.

Maintenance

ActivityMaintained
ResponsivenessResponsive

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

Related MCP Servers