Skip to main content
Glama
diaz3618

memory-bank-mcp

by diaz3618

Memory Bank MCP

NPM Version Semgrep CE scan License: MIT

An MCP server that gives AI assistants persistent memory across sessions. It stores project context, decisions, and progress in structured markdown files — locally or on a remote server via SSH.

Related repos:

Quick Start

# Run directly (no install needed)
npx @diazstg/memory-bank-mcp

# Or install globally
npm install -g @diazstg/memory-bank-mcp

Via Smithery (Claude Desktop)

npx -y @smithery/cli install @diazstg/memory-bank-mcp --client claude

Related MCP server: Adaptive Reasoning Server

Configuration

Add to your editor's MCP config (.vscode/mcp.json, Cursor, Claude Desktop, etc.):

{
  "servers": {
    "memory-bank-mcp": {
      "command": "npx",
      "args": ["-y",
          "@diazstg/memory-bank-mcp",
          "--username",
          "your-username"
      ],
      "type": "stdio"
    }
  }
}

Tip: Including --username is highly recommended for proper progress tracking.

Common Options

npx @diazstg/memory-bank-mcp --username "github-user"   # Username for progress tracking (recommended)
npx @diazstg/memory-bank-mcp --mode code                # Set operational mode
npx @diazstg/memory-bank-mcp --path /my/project         # Custom project path
npx @diazstg/memory-bank-mcp --folder my-memory         # Custom folder name (default: memory-bank)
npx @diazstg/memory-bank-mcp --help                     # All options

Remote Server (SSH)

Store your Memory Bank on a remote server:

npx @diazstg/memory-bank-mcp --remote \
  --remote-user username \
  --remote-host example.com \
  --remote-path /home/username/memory-bank \
  --ssh-key ~/.ssh/id_ed25519

See Remote Server Guide.

How It Works

Memory Bank stores project context as markdown files in a memory-bank/ directory:

File

Purpose

product-context.md

Project overview, goals, tech stack

active-context.md

Current state, ongoing tasks, next steps

progress.md

Chronological record of updates

decision-log.md

Decisions with context and rationale

system-patterns.md

Architecture and code patterns

The AI assistant reads these files at the start of each session and updates them as work progresses, maintaining continuity across conversations.

MCP Tools

Tool

Description

initialize_memory_bank

Create a new Memory Bank

get_memory_bank_status

Check current status

read_memory_bank_file

Read a specific file

write_memory_bank_file

Write/update a file

track_progress

Add a progress entry

log_decision

Record a decision

update_active_context

Update current context

switch_mode

Change operational mode

graph_upsert_entity

Create or update a knowledge graph entity

graph_add_observation

Add an observation to an entity

graph_link_entities

Create a relation between entities

graph_search

Search entities by name or type

graph_open_nodes

Get full details of specific entities

graph_compact

Compact the event log

Modes

Mode

Focus

code

Implementation and development

architect

System design and planning

ask

Q&A and information retrieval

debug

Troubleshooting and diagnostics

test

Testing and quality assurance

Modes can be set via CLI (--mode code), tool call (switch_mode), or .mcprules-[mode] files. See Usage Modes.

As a Library

import { MemoryBankServer } from "@diazstg/memory-bank-mcp";

const server = new MemoryBankServer();
server.run().catch(console.error);

Documentation

Alternative: HTTP + PostgreSQL + Redis

The feature/http-postgres-redis-supabase branch provides a cloud-native variant that replaces stdio/local-filesystem with HTTP Streamable MCP transport, PostgreSQL (via Supabase) for storage, and Redis for caching. It is deployed exclusively via Docker and is not published to npm. See the branch README for setup instructions.

Contributing

See CONTRIBUTING.md.

License

See LICENSE.

Available Tools

36 tools
add_progress_entryC

Add a structured progress entry to the Memory Bank. Provides a type-safe API for logging progress with categories and metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYesType/category of the progress entry
summaryYesBrief summary of the change (one line)
detailsNoDetailed description of the progress
filesNoList of files affected by this change
tagsNoTags for categorizing this entry (e.g., ["api", "performance"])

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so description must cover behavioral traits. It only states it adds an entry, but does not disclose side effects (e.g., whether it overwrites or appends, persistence guarantees, access permissions, or consequences of missing context). Significant gap.

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, 22 words, clearly front-loaded with the core action. Every word contributes value; no waste. Appropriately sized for the tool's simplicity.

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 no annotations and no output schema, the description lacks details on preconditions (e.g., initialized memory bank), behavior on failure, return values, or data lifecycle. It meets minimum viability but leaves many practical concerns unaddressed.

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 descriptions for all 5 parameters. Description adds minimal extra meaning ('type-safe', 'categories and metadata' hint at enum usage) 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.

Purpose4/5

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

Clearly states verb 'add' and resource 'progress entry to the Memory Bank', with added context about type-safe API and categories. Does not explicitly distinguish from siblings like 'track_progress', but purpose is well-defined.

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 siblings (e.g., track_progress) or when not to use it. The description only states what it does, not when it's appropriate.

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

add_session_noteA

Add a timestamped session note to the active context. Useful for recording observations, blockers, or context that should persist.

ParametersJSON Schema
NameRequiredDescriptionDefault
noteYesThe note text to add
categoryNoCategory of the note (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 correctly conveys that the tool creates a timestamped, persistent note. It does not discuss potential side effects or limits, but for a simple append operation the transparency is adequate.

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 concise sentences front-load the core action and purpose without extraneous detail.

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 and full schema coverage, the description provides nearly complete context for correct usage, including the timestamped nature and active context target.

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 adequately describes both parameters. The description adds minimal value beyond the schema, mainly aligning the category enum with common use cases (observations, blockers).

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 adds a timestamped session note to the active context, distinguishing it from siblings like add_progress_entry and log_decision which serve different purposes.

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 indicates it is useful for recording observations, blockers, or persistable context, implying when to use it. However, it does not explicitly state when not to use it or contrast with alternatives.

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

batch_read_filesA

Read multiple Memory Bank files in a single request. More efficient than individual reads for loading context.

ParametersJSON Schema
NameRequiredDescriptionDefault
filesYesList of filenames to read (e.g., ["progress.md", "active-context.md"])
includeEtagsNoWhether to include ETags for each file (default: true)

TDQS

A3.9/5.0
Behavior3/5

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

No annotations exist, so the description alone must disclose behavior. It mentions efficiency but omits details like read-only nature, file size limits, or error handling. The claim 'more efficient' adds some context but is insufficient for full 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, no redundant words, and the key information is front-loaded. 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?

For a simple batch read tool with no output schema, the description hints at efficiency but does not explain what the tool returns (e.g., file contents). This gap leaves the agent uncertain about the output format, making it merely adequate but not fully complete.

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 no further meaning beyond what the schema provides for the two parameters; it repeats the idea of reading multiple files but no additional semantic detail.

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 verb 'read' and the resource 'Memory Bank files', specifying batch operation ('multiple...in a single request'). It implicitly differentiates from siblings like batch_write_files and read_memory_bank_file.

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 a use case ('loading context') and claims efficiency over individual reads. However, it does not explicitly state when not to use or list alternative tools for different scenarios.

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

batch_write_filesA

Write multiple Memory Bank files in a single request. Supports optimistic concurrency via ETags.

ParametersJSON Schema
NameRequiredDescriptionDefault
filesYesArray of files to write
stopOnErrorNoWhether to stop on first error (default: false)

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description provides some behavioral insight by mentioning optimistic concurrency via ETags. However, it does not disclose error handling behavior, the atomicity of the batch, or what happens on partial failures.

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 clear sentence, front-loaded with the main purpose, and contains no unnecessary 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?

Despite the complexity of batch writing with concurrency and potential partial failures, the description lacks details on return values, error formats, and order guarantees. It is insufficient for an agent to fully understand the tool's 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?

Schema coverage is 100%, so parameters are documented. The description adds value by relating ifMatchEtag to concurrency control, which clarifies the ETag parameter's purpose. However, it does not explain stopOnError beyond its schema default.

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 writes multiple Memory Bank files in a single request, with a specific verb and resource. It effectively distinguishes from its sibling tool write_memory_bank_file, which writes a single file.

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 batch operations but does not explicitly state when to use this tool over write_memory_bank_file or what the trade-offs are. No alternatives or exclusions are mentioned.

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

create_backupA

Create a backup of the current Memory Bank state, or list existing backups. Backups are stored in the parent directory with timestamped names.

ParametersJSON Schema
NameRequiredDescriptionDefault
backupDirNoOptional custom directory to store the backup. If not provided, uses the parent of the memory bank directory.
listOnlyNoIf true, lists existing backups instead of creating a new one

TDQS

A4.2/5.0
Behavior4/5

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

Discloses backup storage location and naming pattern (parent directory, timestamped) but does not mention potential side effects like disk usage or performance impact, which is acceptable for a straightforward 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?

A single sentence that is clear and compact, with 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?

Adequately covers the two modes and storage details, but lacks information about return values or confirmation messages, which would be helpful for an agent.

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 covers both parameters with descriptions, and the description adds context by explaining backupDir defaults to parent directory and how listOnly switches behavior, going beyond 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 creates or lists backups of the Memory Bank state, which is specific and distinguishes it from siblings like restore_backup.

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 two modes (create vs list) but lacks explicit guidance on when to use each or how this tool relates to restore_backup, leaving some ambiguity.

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

debug_mcp_configB

Debug the current MCP configuration

ParametersJSON Schema
NameRequiredDescriptionDefault
verboseNoWhether to include detailed information

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided, so the description must disclose behavior. It only says 'Debug' without explaining what that entails—no side effects, whether it runs checks, or what output is produced. The parameter 'verbose' hints at detail but does not clarify core 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?

One concise sentence with no unnecessary words or repetition. Front-loaded and efficient.

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?

No output schema and no description of what the tool returns or its behavior. For a debug tool, agents need to know output format and potential actions—completely missing.

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 boolean parameter, so the description need not add param info. It does not add meaning beyond the schema, yielding a baseline 3.

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 'Debug the current MCP configuration,' which is a specific verb and resource. No sibling tool has a similar purpose, so it is well-distinguished.

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?

No guidance on when to use this tool vs alternatives or prerequisites. While it is a standalone debug tool, context about typical scenarios (e.g., configuration issues) is missing.

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

finalize_thinking_sessionA

Persist the outcome of a thinking session into Memory Bank files. Accepts only human-facing summary fields — raw thoughts are NEVER persisted. Writes to existing Memory Bank files (active-context.md, decision-log.md, progress.md) via existing mechanisms.

ParametersJSON Schema
NameRequiredDescriptionDefault
summaryYesHuman-facing summary of the thinking session outcome
decisionNoOptional decision to log
tasksNoOptional task updates (compatible with update_tasks)
nextStepsNoOptional next steps to add to active context
progressEntryNoOptional progress entry to record
sessionIdNoSession ID (appended as a tag to session note)

TDQS

A3.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 that raw thoughts are never persisted and that it writes to existing files via existing mechanisms, but lacks specifics on whether it overwrites or appends, and does not mention potential side effects or idempotency.

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 two sentences that front-load the purpose and add a critical constraint. Every word is informative and there is no 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 tool's complexity (6 parameters, nested objects, no output schema) and lack of annotations, the description could be more complete. It does not explain what happens to the session after finalization, whether the operation is idempotent, or how the files are updated.

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 the description adds only marginal value beyond the schema. It reinforces the human-facing constraint on the summary parameter, but does not significantly enhance understanding of other parameters.

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: persisting the outcome of a thinking session into specific Memory Bank files. It distinguishes itself from sibling tools like add_progress_entry and log_decision by bundling multiple updates into a single finalization step, emphasizing it writes to three named files.

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 usage after a thinking session and mentions that only human-facing summaries are accepted, but does not explicitly state when not to use it or compare it to alternatives. The guidance is clear enough for context.

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

get_context_bundleA

Get all Memory Bank files in a single response for quick context loading. Returns all core files (product-context, active-context, progress, decision-log, system-patterns) as a combined JSON object.

ParametersJSON Schema
NameRequiredDescriptionDefault
includeEtagsNoWhether to include ETags for each file (default: true)

TDQS

A4/5.0
Behavior3/5

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

No annotations exist, so description must cover behavior. It specifies the return format and files but does not mention prerequisites (e.g., initialized memory bank), side effects, or error states. Adequate but not comprehensive.

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, 35 words, extremely concise. The first sentence states purpose, the second specifies content and format. No filler.

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 optional param, no output schema), the description lists the exact files returned and indicates a combined JSON. Lacks mention of prerequisites, but sufficient for the its straightforward function.

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 does not discuss the includeEtags parameter or its effect; it relies entirely on the schema. No added value.

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 all Memory Bank core files in a single call and lists them explicitly. This distinguishes it from siblings like get_context_digest or get_targeted_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?

Phrase 'for quick context loading' implies the intended scenario, but no explicit comparison with alternatives or conditions when not to use it is provided. Could be improved with direct guidance.

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

get_context_digestA

Get a compact summary of the Memory Bank for context-limited situations. Returns recent progress entries, current tasks, known issues, and recent decisions.

ParametersJSON Schema
NameRequiredDescriptionDefault
maxProgressEntriesNoMaximum number of recent progress entries to include (default: 10)
maxDecisionsNoMaximum number of recent decisions to include (default: 5)
includeSystemPatternsNoWhether to include system patterns summary (default: false)

TDQS

A3.8/5.0
Behavior3/5

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

No annotations provided, so description must carry the burden. It discloses that the tool returns specific content types, implying a read-only operation, but does not explicitly state idempotency, auth requirements, or rate limits.

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

Conciseness5/5

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

Two sentences, front-loaded with purpose and content list. No wasted words; every sentence provides useful 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 no output schema and no annotations, the description sufficiently covers what the tool returns and its intended use. It could detail return structure but is adequate for an agent to decide whether to invoke it.

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 the description does not add value beyond the schema's parameter descriptions. Baseline 3 is appropriate.

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 compact summary of the Memory Bank with specific content types (progress, tasks, issues, decisions), distinguishing it from siblings like get_context_bundle or get_memory_bank_status.

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?

Mentions 'context-limited situations' as the use case, but does not explicitly state when to avoid it or name alternatives. Implied guidance without explicit exclusions.

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

get_instructionsA

⚠️ CALL THIS FIRST. Get comprehensive instructions for using the Memory Bank MCP server. Call this tool FIRST at the start of every session to understand the available tools and recommended workflow.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It describes the tool as providing instructions, implying a safe, read-only operation. Adds context about being the first call, which is helpful. Could be improved by explicitly stating it doesn't modify any state.

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 concise sentences with a warning emoji. Front-loaded with important usage instruction. No unnecessary words.

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 zero parameters and no output schema, the description fully covers what the tool does (provides instructions) and when to call it. No gaps remain.

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?

No parameters in schema, and schema description coverage is 100%. Baseline score is 4, and description does not need to add parameter details. It focuses on behavior.

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 provides comprehensive instructions for the Memory Bank MCP server and emphasizes it should be called first. This is a specific verb+resource combination that distinguishes it from sibling tools that perform other tasks.

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 'CALL THIS FIRST' and 'at the start of every session', providing clear when-to-use guidance. It doesn't mention when not to use it, but that's implicit given its role as a starting point.

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

get_memory_bank_statusB

Check Memory Bank status

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 carry the full burden. It mentions checking status but does not disclose whether the operation is read-only, what data it returns, or any side effects. This lack of detail reduces 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?

The description is a single, concise sentence with no wasted words. It is appropriately front-loaded and efficient.

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 no output schema and minimal description, the agent lacks information about what the response contains or how this tool fits into the workflow. The presence of many sibling tools increases the need for contextual guidance, which is absent.

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 no parameters, so the description does not need to add parameter context. The baseline score for 0 parameters is 4, and the description adequately indicates no inputs are required.

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 action ('Check') and resource ('Memory Bank status'), distinguishing it from siblings like 'initialize_memory_bank' or 'read_memory_bank_file'. However, 'status' is somewhat vague—it could mean health, version, or last activity.

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. An agent must infer its purpose from the name alone, with no explicit context about typical use cases or prerequisites.

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

get_targeted_contextA

Returns a budgeted, minimal "context pack" for a query by using the knowledge graph as an index. Reads only the smallest relevant slices of Memory Bank files instead of dumping full documents. Prefer this over get_context_bundle or batch_read_files for most questions.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query to find relevant context
maxCharsNoHard ceiling for entire payload in characters (default: 8000)
maxFilesNoMaximum number of files to excerpt (default: 4)
graphLimitNoMaximum number of KG entity hits (default: 6)
graphDepthNoNeighborhood expansion depth (1 or 2, default: 1)
preferActiveContextNoPrioritize core Memory Bank files in pointer ranking (default: true)

TDQS

A4.2/5.0
Behavior4/5

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

Without annotations, the description carries the full burden. It discloses the key behavior: returns budgeted, minimal context, reads only relevant slices, and uses knowledge graph indexing. No side effects are mentioned but none are expected for a read 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?

The description is three sentences, each serving a purpose: purpose, behavior, selection guideline. No redundant or 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?

Given the complexity of 6 parameters and no output schema, the description provides enough context about the overall approach and selection criteria. It doesn't detail the return structure, but that is implicitly understood as a context pack.

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?

All 6 parameters have descriptions in the input schema (100% coverage). The description adds overall context about minimality but doesn't add new parameter-specific semantics beyond the schema. Baseline of 3 is appropriate.

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 that the tool returns a minimal context pack using the knowledge graph as an index, reading only relevant slices. It distinguishes itself from siblings like get_context_bundle and batch_read_files by emphasizing minimal and budgeted output.

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 explicitly advises to prefer this tool over get_context_bundle or batch_read_files for most questions, providing clear guidance on when to use it. However, it doesn't mention specific cases when not to use it, which is a minor gap.

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

graph_add_doc_pointerA

Link a knowledge graph entity to a specific Memory Bank file (and optional heading). This helps get_targeted_context find the right file excerpts for a query. The file path is validated before saving.

ParametersJSON Schema
NameRequiredDescriptionDefault
entityNameOrIdYesName or ID of the KG entity to link
docPathYesMemory Bank root file path (e.g., "decision-log.md", "system-patterns.md")
headingNoOptional heading within the file to point to
noteNoOptional note to include in the observation

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries full transparency burden. It mentions file path validation before saving, which is useful, but does not disclose side effects, destructive potential, or required permissions. The behavioral description is adequate but not rich.

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 concise sentences that front-load the core action, then provide context and a validation detail. No redundant or unnecessary 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 tool with no output schema and no annotations, the description adequately covers purpose and operation. It could be more complete by explaining what happens after saving (e.g., persistence, scope), but it is sufficient for an agent to use correctly.

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 minimal value: it rephrases `docPath` as 'Memory Bank root file path' with examples but does not provide deeper semantics beyond what the schema already conveys.

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: linking a knowledge graph entity to a Memory Bank file with optional heading. It provides context on how it aids `get_targeted_context` and mentions validation, making it distinct from sibling tools like `graph_add_observation`.

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 usage for entity-file linking but does not explicitly specify when to use versus alternatives (e.g., `graph_add_observation`). However, the context of linking to a file path is clear enough for an agent to infer appropriate scenarios.

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

graph_add_observationB

Add an observation about an entity. Observations are facts, notes, or information associated with entities.

ParametersJSON Schema
NameRequiredDescriptionDefault
storeIdNoOptional store ID to target a specific registered store instead of the active one
entityYesEntity name or ID to attach the observation to
textYesThe observation text content
sourceNoOptional source of the observation
timestampNoOptional ISO timestamp (defaults to current time)

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description bears full burden of disclosure. It confirms a write operation but omits behavioral details like idempotency, duplicate handling, required permissions, or error cases. The definition of observations adds minimal context.

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 concise sentences with no redundancy. Every word adds value—states action and defines the resource.

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 simplicity (no output schema, no nested objects), the description is minimally adequate. It covers the core purpose but lacks details on return value or side effects.

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 no extra meaning beyond the schema; parameters like 'storeId', 'source', 'timestamp' are explained only in 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 states the tool adds an observation about an entity and defines what observations are (facts, notes, information). However, it does not differentiate from sibling tools like graph_add_doc_pointer, which also add something to an entity.

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 lacks any guidance on when to use this tool versus alternatives (e.g., when to add an observation vs. a document pointer or link). No when-not or exclusion criteria are provided.

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

graph_delete_entityB

Delete an entity from the knowledge graph, or delete a specific observation if observationId is provided.

ParametersJSON Schema
NameRequiredDescriptionDefault
storeIdNoOptional store ID to target a specific registered store instead of the active one
entityYesEntity name or ID to delete (or the entity that owns the observation)
observationIdNoIf provided, deletes only this observation instead of the entire entity. Observation IDs start with "obs_".

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided, so description must carry behavioral disclosure. Indicates mutation (delete) but no details on side effects (e.g., cascading deletes), permissions needed, or success/failure behavior.

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?

Single sentence, clear and efficient. Could be slightly more structured (e.g., bullet points) but no wasted words.

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 annotations and no output schema, description covers basic operation but lacks details on return behavior, error conditions, and prerequisites. Adequate but not thorough.

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?

Adds meaning beyond schema: explains observationId deletes only that observation, mentions ID format (obs_), clarifies entity role as owner. Baseline 3 due to 100% schema coverage, plus extra value.

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 deletes an entity or a specific observation, distinguishing between two use cases. It differentiates from sibling tools like graph_add_observation or graph_upsert_entity.

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 vs. alternatives such as graph_maintain or graph_upsert_entity. Lacks when-not-to-use or prerequisite conditions.

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

graph_maintainC

Perform maintenance operations on the knowledge graph: rebuild snapshot from event log, or compact event history.

ParametersJSON Schema
NameRequiredDescriptionDefault
storeIdNoOptional store ID to target a specific registered store instead of the active one
operationYesMaintenance operation: "rebuild" fixes inconsistencies, "compact" reduces file size, "stats" returns graph statistics

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 mentions two of three operations (rebuild, compact) and lacks detail on side effects, permissions, or whether changes are reversible. The 'stats' operation is omitted entirely.

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 12-word sentence, very concise. However, it omits the 'stats' operation, making it slightly incomplete but still efficient.

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 simple tool with rich schema, the description lacks completeness: does not mention the 'stats' operation, prerequisites, or what happens during rebuild/compact. Overall insufficient context for a maintenance tool.

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?

Schema coverage is 100% so baseline is 3, but the description fails to mention the 'stats' operation, which is only in the schema. The description does not add meaning beyond what is already in the input 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 that the tool performs maintenance operations on the knowledge graph, specifically rebuild and compact. It differentiates from sibling tools like graph_search or graph_add_observation which focus on querying or adding data.

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 does not specify prerequisites or context for choosing between operations like rebuild, compact, or stats.

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

graph_open_nodesB

Open specific nodes and their neighborhood. Returns a subgraph with the requested entities and their connections.

ParametersJSON Schema
NameRequiredDescriptionDefault
storeIdNoOptional store ID to target a specific registered store instead of the active one
nodesYesArray of entity names or IDs to open
depthNoNeighborhood depth (1 or 2, default: 1)

TDQS

B3.3/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 returning a subgraph but fails to specify if the operation is read-only, if it modifies state, or what happens when nodes are not found. This is insufficient for safe invocation.

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, clear sentence with no unnecessary words. It is appropriately front-loaded and efficient.

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 lack of an output schema and annotations, the description is minimally adequate. It covers the basic purpose but does not explain return values, error cases, or side effects, which are needed for a complete understanding.

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 has 100% coverage, so the description adds minimal value. It reiterates that 'nodes' are entity names/IDs and 'depth' is neighborhood depth, which is already in the schema. The description does not enrich the parameters further.

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 (open), the resource (specific nodes and their neighborhood), and the output (subgraph with connections). This effectively distinguishes it from sibling tools like graph_search or graph_delete_entity.

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, such as graph_search. It lacks explicit context for the appropriate use case, leaving the agent without decision-making support.

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

graph_upsert_entityB

Create or update an entity in the knowledge graph. If an entity with the same name exists, it will be updated.

ParametersJSON Schema
NameRequiredDescriptionDefault
storeIdNoOptional store ID to target a specific registered store instead of the active one
nameYesEntity name (human-readable identifier)
entityTypeYesType of entity (e.g., "person", "project", "concept")
attrsNoOptional key-value attributes for the entity

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description must disclose behavioral traits. It explains the upsert semantics (update if name exists), which is the primary behavior. However, it does not mention whether attributes are merged or replaced, what happens on failure, or any side effects. The description provides basic transparency but lacks depth for a mutation 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—two short sentences that front-load the core action. Every word adds value, with no repetition or filler. This is an ideal length for quick comprehension.

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 absence of annotations and output schema, the description lacks important context. It does not explain return values, attribute merging behavior, or what 'update' entails (e.g., partial vs full replacement). For a tool that modifies a knowledge graph, more detail is needed to ensure correct usage.

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?

Input schema has 100% coverage with descriptions for all four parameters. The description adds no additional meaning beyond the schema; it only restates the overall behavior. Baseline 3 is appropriate since the schema already handles parameter documentation sufficiently.

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 creates or updates an entity, using the specific verb 'upsert' and resource 'entity'. It mentions the key behavior of updating an existing entity with the same name. However, it does not explicitly differentiate from sibling tools like graph_add_observation or graph_link_entities, which handle related but distinct actions.

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 indicates when to use the tool (to create or update an entity by name) but provides no guidance on when not to use it or what alternatives exist among siblings. For example, it does not mention that for pure creation without overwriting, users might need to check existence first. This omission leaves the agent without clear decision boundaries.

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

initialize_memory_bankC

Initialize a Memory Bank in the specified directory

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath where the Memory Bank will be initialized

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 must disclose side effects but only says 'Initialize a Memory Bank'. It does not mention what happens if the bank already exists, permissions needed, or any destructive potential.

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, front-loaded sentence with no wasted words. It is concise, though very brief; it could expand slightly without losing conciseness.

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?

For a simple tool with one parameter and no output schema, the description is minimally adequate. However, it lacks context about prerequisites or post-conditions, leaving some gaps for an 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?

Schema coverage is 100% with a clear description for the 'path' parameter. The tool description adds no extra semantic value beyond what the schema already provides, resulting in a baseline score of 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 'Initialize' and resource 'Memory Bank', with the specific directory. It is specific enough to distinguish from sibling tools like 'set_memory_bank_path' which implies an existing bank, but does not explicitly state this distinction.

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 'set_memory_bank_path' or what prerequisites exist. The description gives no context about appropriate scenarios.

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

list_memory_bank_filesD

List Memory Bank files

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

D1.7/5.0
Behavior1/5

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

No annotations are provided, and the description fails to disclose behavioral traits such as whether the tool is read-only, whether it returns file names or full paths, or how it handles empty memory banks. The agent has no information about side effects or limitations.

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 extremely short (4 words) and under-specified. While concise, it sacrifices essential information, making it insufficient for the agent to understand what the tool returns or how to interpret results.

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 zero parameters and no output schema, the description fails to provide necessary context about the tool's output format, filtering, or behavior. The agent cannot fully understand the tool's capabilities from this description alone.

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 zero parameters, the input schema is fully covered. The description adds no parameter information, but none is required. Baseline score of 4 is appropriate given the absence of parameters.

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

Purpose1/5

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

The description 'List Memory Bank files' is a tautology of the tool name 'list_memory_bank_files', providing no additional clarity about what files are listed or how they are presented. It does not differentiate from sibling tools like 'list_stores' or 'read_memory_bank_file'.

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

Usage Guidelines1/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 such as 'batch_read_files' or 'search_memory_bank'. There is no mention of prerequisites, context, or exclusions.

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

list_storesA

List all registered Memory Bank stores. Returns the currently active store and any additional configured stores from the persistent registry.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description explains the return data but does not explicitly confirm the operation is read-only and non-destructive. The word 'list' implies immutability, but not stated outright.

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?

Description is two succinct sentences: first states action, second states output. Front-loaded and concise with no unnecessary 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?

Given zero parameters and no output schema, the description adequately covers purpose and output. However, it could optionally mention sorting or state consistency.

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?

No parameters exist (schema coverage 100%), so the description adds no parameter detail. Per rule, baseline score is 4.

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 it lists all registered Memory Bank stores and specifies what it returns (active and additional configured stores). It effectively distinguishes from sibling tools like 'select_store'.

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 vs alternatives such as 'select_store' or 'get_memory_bank_status'. Given the many sibling tools, this omission is a significant gap.

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

log_decisionC

Log a decision in the decision log

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesDecision title
contextYesDecision context
decisionYesThe decision made
alternativesNoAlternatives considered
consequencesNoConsequences of the decision

TDQS

C2.9/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 describe behavioral traits. It fails to disclose any side effects, persistence behavior, or required state. The minimal description offers no transparency beyond the basic action.

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 extremely concise at 6 words, with no wasted content. It front-loads the core purpose. However, it is so brief that it may sacrifice clarity for brevity.

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 has 5 parameters, 3 required, and no output schema, the description is insufficiently complete. It does not explain the tool's integration, output, or any contextual details needed to use it 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 input schema covers all 5 parameters with descriptions, achieving 100% coverage. The tool description adds no additional meaning or examples beyond what the schema provides, so it meets the baseline without adding value.

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 indicates the action (log) and resource (decision/decision log), distinguishing it from sibling tools like add_progress_entry or add_session_note. However, it could be more specific about the scope and purpose of the decision log.

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 compared to alternatives, nor does it mention prerequisites, limitations, or exclusions. The agent is left to infer usage from context.

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

migrate_file_namingB

Migrate Memory Bank files from camelCase to kebab-case naming convention

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior2/5

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

No annotations exist, so the description must reveal behavior. It only states migration but does not explain what 'migrate' entails (e.g., renaming files, updating references, creating backups, reversibility, or safety). This lack of detail hinders the agent's understanding of side effects.

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 clear sentence with no filler. However, it could be slightly more informative without losing conciseness (e.g., mentioning it renames files).

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, no output schema, and no annotations, the description captures the core purpose but leaves gaps about behavior, side effects, and prerequisites. For a tool with zero parameters, completeness is moderate.

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?

There are no parameters, so the description cannot add parameter-level semantics. The baseline for zero parameters is 4, and the description correctly summarizes the tool's action without needing to detail parameters.

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 ('Migrate'), the resource ('Memory Bank files'), and the specific transformation ('from camelCase to kebab-case naming convention'). It clearly distinguishes from sibling tools, none of which mention naming migration.

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, prerequisites, or when not to use it. There is no mention of alternatives or required conditions (e.g., ensuring no concurrent file operations).

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

read_memory_bank_fileA

Read a file from the Memory Bank. Returns content with ETag for optimistic concurrency control.

ParametersJSON Schema
NameRequiredDescriptionDefault
filenameYesName of the file to read
includeEtagNoWhether to include ETag in response (default: true)

TDQS

A3.8/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 that the tool returns content with an ETag for optimistic concurrency, which adds value. However, it does not mention error handling or behavior for missing files, leaving some gaps.

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 two short sentences, no redundant words, and front-loads the primary action. Every sentence provides essential 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?

For a simple read tool with no output schema, the description adequately covers its purpose and a key behavioral detail (ETag). It does not explain return format or error cases, but given the tool's simplicity, this is reasonable.

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 both parameters clearly (100% coverage). The description adds marginal value by implying the role of includeEtag via ETag mention, 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 verb 'Read' and the resource 'a file from the Memory Bank', which is specific and directly distinguishes it from batch or write operations. The mention of ETag for concurrency control adds precision.

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 use for reading a single file, but provides no explicit guidance on when to prefer this over sibling tools like batch_read_files or write_memory_bank_file. The context is clear but lacks exclusion criteria.

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

restore_backupA

Restore the Memory Bank from a specified backup. By default, creates a backup of the current state before restoring.

ParametersJSON Schema
NameRequiredDescriptionDefault
backupIdYesThe backup ID (folder name) to restore from. Use create_backup with listOnly:true to see available backups.
createPreRestoreBackupNoWhether to create a backup of the current state before restoring (default: true)

TDQS

A3.8/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 mentions the default backup creation, which is a safety behavior, but does not explicitly state that restoration overwrites the current state or is destructive.

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 two sentences long, front-loads the core purpose, and contains no extraneous information. Every word is meaningful.

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 (2 parameters, no output schema), the description covers the essential behavior and a key default. It could mention that restoration overwrites the current memory bank, but overall it is sufficiently complete for an agent to understand.

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 has 100% description coverage, so the baseline is 3. The tool description adds no new parameter information beyond what is already in the schema, but it does not mislead.

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: 'Restore the Memory Bank from a specified backup.' It uses a specific verb and identifies the resource, and distinguishes itself from the sibling 'create_backup' by implying this is the restore counterpart.

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 does not explicitly state when to use or not use this tool, nor does it mention alternatives. However, the default behavior of creating a pre-restore backup provides implicit guidance on safe usage.

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

search_memory_bankC

Search across all Memory Bank files with full-text search

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query string
filesNoOptional list of specific files to search (e.g., ["progress.md", "decision-log.md"]). If not provided, searches all core files.
maxResultsNoMaximum number of results to return (default: 20)
caseSensitiveNoWhether search is case-sensitive (default: false)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description must fully disclose behavior, but it only states it performs full-text search. It does not mention that the operation is read-only, how results are returned, or any limitations like performance or file size.

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, clear sentence that is front-loaded with the key action. No unnecessary 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?

For a search tool with four parameters and no output schema, the description does not explain return format, pagination, or how to interpret results. It is incomplete given the complexity.

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 has 100% description coverage for all four parameters, so the description adds no additional meaning beyond what is already in the schema. Baseline score of 3 is appropriate.

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 searches across all Memory Bank files with full-text search, specifying the verb and resource. However, it does not differentiate from the sibling 'graph_search' which might be an alternative search method.

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 graph_search or when not to use it. The description lacks context for optimal usage.

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

select_storeB

Manage Memory Bank stores. Actions: select (switch active store), register (add to registry), unregister (remove from registry). Default action is "select" for backward compatibility.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionNoAction to perform: "select" (default), "register", or "unregister"
pathNoAbsolute path to the project root (required for select/register)
storeIdNoStore ID (required for register/unregister, optional for select)
kindNoKind of store (for register action, default: "local")

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description should disclose side effects, reversibility, or prerequisites. The description only lists actions without explaining consequences (e.g., what happens to current active store, registration 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?

Two sentences front-load the purpose and enumerate actions. No wasted words, efficient and clear.

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?

For a tool with 4 parameters and no output schema, the description is too brief. It lacks details on action semantics, usage context, and typical workflows, making it insufficient for a complex multifunction tool.

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?

Input schema covers all parameters with 100% description coverage, so the description's added value is limited. It notes the default action, which is helpful but not transformative.

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 manages Memory Bank stores with three distinct actions (select, register, unregister), specifying a default for backward compatibility. This distinguishes it from sibling tools like list_stores or initialize_memory_bank.

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 each action or when not to use the tool altogether. Alternative tools are not mentioned, leaving the agent without decision support for choosing between e.g., select vs. initialize_memory_bank.

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

sequential_thinkingA

Record a numbered thinking step for structured reasoning, or reset session history. Use this to break complex problems into sequential steps with optional branching and revision. The raw thought text is NOT returned — only metadata. Call finalize_thinking_session when done to persist outcomes to Memory Bank. Set reset:true to clear thinking history instead of recording a thought.

ParametersJSON Schema
NameRequiredDescriptionDefault
thoughtNoThe thinking step content (will NOT be returned in the response). Not required if reset:true.
nextThoughtNeededNoWhether another thinking step is needed after this one. Not required if reset:true.
thoughtNumberNoCurrent thought number (>= 1). Not required if reset:true.
totalThoughtsNoEstimated total number of thoughts (>= 1, auto-adjusts upward). Not required if reset:true.
isRevisionNoWhether this thought revises a previous one
revisesThoughtNoThe thought number being revised (when isRevision is true)
branchFromThoughtNoThe thought number to branch from
branchIdNoIdentifier for the branch
needsMoreThoughtsNoExplicit signal that the total should be increased
sessionIdNoSession identifier to isolate thinking state across tasks
resetNoIf true, resets the session(s) instead of recording a thought. If sessionId is provided, resets only that session.

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations, the description fully discloses key behavior: 'The raw thought text is NOT returned — only metadata.' It explains the reset mode's effect based on sessionId and describes branching and revision capabilities. This adds significant transparency beyond the input schema.

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 two sentences plus a final note, all front-loaded with key information. Every sentence adds value: purpose, usage guidance, behavioral note, and reset instruction. No fluff or redundancy.

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 complexity (11 params, branching, revision, session management) and no output schema, the description covers the two modes, behavioral constraints, and persistence workflow. It lacks details about what 'metadata' is returned, but the overall completeness is strong.

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%, so the schema already documents each parameter. The description provides overarching context (e.g., thought not returned, reset implications) but does not add meaning substantially beyond the inline schema descriptions. Baseline 3 is appropriate.

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's dual purpose: 'Record a numbered thinking step for structured reasoning, or reset session history.' It clearly distinguishes itself from the sibling tool 'finalize_thinking_session' by mentioning it for persisting outcomes. The verb 'Record' and resource 'thinking step' are specific.

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?

The description provides explicit guidance: 'Use this to break complex problems into sequential steps' and 'Set reset:true to clear thinking history instead of recording a thought.' It also directs the agent to 'Call finalize_thinking_session when done to persist outcomes to Memory Bank,' clearly differentiating from siblings.

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

set_memory_bank_pathB

Set a custom path for the Memory Bank

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoCustom path for the Memory Bank. If not provided, the current directory will be used.

TDQS

B3/5.0
Behavior2/5

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

Without annotations, the description must disclose all behavioral traits. It only states 'Set' without indicating persistence, scope (global vs. session), side effects (e.g., overriding existing path), or any required prior steps. This is insufficient for an AI agent.

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

Conciseness3/5

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

The description is extremely short (one sentence). While concise, it lacks structure or additional detail that would improve usability. It is not wasteful but is borderline under-specified.

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 (1 optional param, no output schema), the description still fails to cover behavioral aspects like what happens if the path is invalid, whether it persists, or how it interacts with other memory bank operations. The context is incomplete for agent 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?

The input schema has 100% coverage (one parameter documented). The description adds the word 'custom' but otherwise does not enhance understanding beyond the schema's description. Baseline 3 is appropriate.

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 action ('Set') and resource ('custom path for the Memory Bank'). It distinguishes from siblings like 'initialize_memory_bank' and 'get_memory_bank_status', though it could be more precise about what 'path' entails.

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 provides no guidance on when to use this tool versus alternatives, such as 'initialize_memory_bank' for initial setup or 'select_store' for store selection. It implies it is used to change the path but does not explain prerequisites or context.

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

switch_modeA

Switch to a specific mode, get current mode info, or manage UMB (Update Memory Bank) state. Call with no parameters to get current mode. Set umb:true to activate UMB, umb:false to deactivate.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoName of the mode to switch to (architect, ask, code, debug, test). Omit to get current mode info.
umbNoSet true to activate UMB mode, false to deactivate UMB mode
umbCommandNoUMB command text (when umb: true). If not provided, defaults to "UMB"

TDQS

A3.9/5.0
Behavior3/5

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

No annotations provided, so the description carries the full burden. It discloses the ability to switch mode, get current mode, and manage UMB, but does not detail side effects of mode switching, potential permissions, or rate limits. The UMB management is explained adequately, but overall behavior could be more transparent.

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 two sentences, front-loaded with the primary purpose, and each sentence adds unique value. No unnecessary words or repetition.

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?

For a tool with 3 parameters and no output schema, the description covers the main use cases but omits what the tool returns (e.g., format of current mode info) and any prerequisites or side effects. It is adequate but not fully complete.

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 the baseline is 3. The description adds context about calling with no parameters and setting UMB values, but this largely mirrors the schema. No new semantic meaning beyond what the schema provides.

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 uses a clear verb 'Switch' and specifies the resources: specific mode, current mode info, and UMB state. It distinguishes between these three use cases, and no sibling tool appears to handle mode switching or UMB management, making the purpose distinct.

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 context for when to call with no parameters to get current mode, and when to set UMB. However, it does not explicitly mention when not to use this tool or compare it to alternatives, which would improve guidance.

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

track_progressC

Track progress and update Memory Bank files

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction performed (e.g., 'Implemented feature', 'Fixed bug')
descriptionYesDetailed description of the progress
updateActiveContextNoWhether to update the active context file

TDQS

C2.5/5.0
Behavior2/5

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

With no annotations, the description must fully disclose behavior. It mentions updating Memory Bank files but does not specify which files, the effect of updateActiveContext, or whether the operation is destructive.

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

Conciseness3/5

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

The description is very concise (6 words), but it sacrifices clarity for brevity. It is not front-loaded with key information.

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 no annotations, no output schema, and 3 parameters, the description is insufficient. It does not provide enough context for an agent to understand the tool's role in the memory bank workflow.

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 the baseline is 3. The description adds no extra meaning beyond what the schema already provides.

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

Purpose3/5

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

The description 'Track progress and update Memory Bank files' provides a general purpose but lacks specificity. It does not clearly differentiate from sibling tools like add_progress_entry or update_tasks.

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 vs alternatives such as add_progress_entry or add_session_note. The description does not mention prerequisites or exclusions.

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

update_active_contextC

Update the active context file

ParametersJSON Schema
NameRequiredDescriptionDefault
tasksNoList of ongoing tasks
issuesNoList of known issues
nextStepsNoList of next steps

TDQS

C2.2/5.0
Behavior1/5

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

With no annotations, the description must convey behavioral traits. It fails to disclose whether updates are destructive, append vs. replace, or require any prerequisites. The single sentence offers no behavioral insight beyond the action.

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?

At only 5 words, the description is extremely terse. While concise, it omits necessary details, making it under-specified rather than efficiently 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?

Given the tool has 3 optional parameters and no output schema, the description should explain how parameters relate, default behavior, and the concept of 'active context'. It provides none of this, leaving the agent underinformed.

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?

All three parameters (tasks, issues, nextSteps) have descriptions in the schema (100% coverage). The description adds no additional meaning beyond what the schema already provides, so baseline 3 is appropriate.

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

Purpose3/5

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

The description states the tool updates the 'active context file', providing a verb and resource. However, it lacks specificity about what fields are updated (tasks, issues, nextSteps) and does not differentiate from sibling tools like 'update_tasks', which may have overlapping functionality.

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 (e.g., update_tasks, add_progress_entry). The description offers no context for appropriate invocation.

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

update_tasksB

Update the current tasks list in active context. Can add, remove, or replace tasks.

ParametersJSON Schema
NameRequiredDescriptionDefault
addNoTasks to add to the current list
removeNoTasks to remove (exact match or substring match)
replaceNoIf provided, replaces the entire tasks list

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 carries the full burden. It mentions the ability to add, remove, or replace tasks but does not disclose side effects, error conditions, or safety information (e.g., whether changes are reversible). The description is too brief to fully inform an agent about 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?

The description is two sentences with no redundancy or extraneous detail. The purpose is front-loaded in the first sentence, making it quick to parse.

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 lack of output schema and annotations, the description is somewhat incomplete. It does not clarify behavior when multiple parameters are provided (e.g., add and replace together) or explain how the current tasks list is accessed. However, for a simple tool, it provides minimally sufficient information.

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 detailed descriptions for all three parameters. The description adds minimal additional meaning beyond the schema (e.g., summarizing the operations). Baseline 3 is appropriate as the schema already provides adequate parameter info.

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 'update' and the resource 'current tasks list', and lists specific operations (add, remove, replace). It is specific and understandable, though it does not explicitly distinguish from sibling tools like track_progress or update_active_context.

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 (e.g., add_progress_entry). No when-not-to-use or prerequisite information is given, leaving the agent without context for selection.

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

write_memory_bank_fileA

Write to a Memory Bank file. Supports optimistic concurrency control via ifMatchEtag.

ParametersJSON Schema
NameRequiredDescriptionDefault
filenameYesName of the file to write
contentYesContent to write to the file
ifMatchEtagNoOptional ETag from a previous read. If provided, write will only succeed if the file has not been modified since the read.

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 the full burden. It discloses optimistic concurrency support but does not mention side effects, overwrite behavior, or success/failure response.

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, front-loaded with purpose then key behavior. No unnecessary words or 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?

Lacks details on error conditions, file creation behavior, or output format. With no output schema and no annotations, the description leaves gaps for a write operation.

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%, so parameters are already well documented. The description adds minimal value beyond the schema, repeating the concurrency note from the ifMatchEtag 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?

Clearly states the verb 'Write' and resource 'Memory Bank file', distinguishing it from sibling tools like batch_write_files. Mention of optimistic concurrency adds specificity.

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?

No explicit guidance on when to use this tool vs alternatives such as batch_write_files or create_backup. The concurrency feature is implied but not contrasted with others.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 36 tool updatesv1.3.0
    • Addedadd_progress_entry
    • Addedadd_session_note
    • Addedbatch_read_files
    • Addedbatch_write_files
    • Addedcreate_backup
    • Addeddebug_mcp_config
    • Addedfinalize_thinking_session
    • Addedget_context_bundle
    • Addedget_context_digest
    • Addedget_instructions
    • Addedget_memory_bank_status
    • Addedget_targeted_context
    • Addedgraph_add_doc_pointer
    • Addedgraph_add_observation
    • Addedgraph_delete_entity
    • Addedgraph_link_entities
    • Addedgraph_maintain
    • Addedgraph_open_nodes
    • Addedgraph_search
    • Addedgraph_upsert_entity
    • Addedinitialize_memory_bank
    • Addedlist_memory_bank_files
    • Addedlist_stores
    • Addedlog_decision
    • Addedmigrate_file_naming
    • Addedread_memory_bank_file
    • Addedrestore_backup
    • Addedsearch_memory_bank
    • Addedselect_store
    • Addedsequential_thinking
    • Addedset_memory_bank_path
    • Addedswitch_mode
    • Addedtrack_progress
    • Addedupdate_active_context
    • Addedupdate_tasks
    • Addedwrite_memory_bank_file

TDQS

B3.2/5.0
Disambiguation5/5

Each tool targets a specific operation (e.g., adding progress, reading files, managing knowledge graph) with detailed descriptions that clearly differentiate their purposes. Overlap is minimal and well-documented.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern in snake_case (e.g., add_progress_entry, batch_read_files, graph_upsert_entity), making the set predictable and easy to navigate.

Tool Count2/5

36 tools is well above the typical well-scoped range of 3-15, making the surface feel heavy. While many tools are individually useful, the count suggests the server may be trying to cover too many subdomains.

Completeness4/5

Core CRUD operations for files and knowledge graph, progress tracking, backups, and search are covered. However, there is no explicit file deletion tool, which represents a minor gap in an otherwise complete surface.

Maintenance

ActivityInactive
ResponsivenessNo issues

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

  • A
    license
    Not graded
    quality
    D
    maintenance
    A local MCP memory server that gives AI assistants durable project memory across coding sessions, storing context, changes, and decisions.
    3
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Open-source MCP server that gives AI coding assistants persistent memory, recording conversations and file changes to build user profiles and provide context across sessions.
    19
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/diaz3618/memory-bank-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server