MnemoQ
OfficialClick on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MnemoQlog learning about JWT token expiry handling"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MnemoQ
Local-first memory engine for AI agents — MCP-native, graph-linked, spaced repetition.
Agent ──log──▶ MnemoQ Engine ──store──▶ learnings.jsonl
Agent ◀──retrieve── MnemoQ Engine ◀──read── learnings.jsonl
Agent ──MCP──▶ mnemoq-mcp ──read/write──▶ learnings.jsonl
Install
pip install mnemoqCLI-only users (no Python project needed):
pipx install mnemoqRelated MCP server: Cortex
Quick Start
1. Scaffold a project
mnemoq-scaffold ./my-project --defaultsThis creates a memory/ directory with config.json and learnings.jsonl in your project.
Wire memory into your IDE/agent platform:
mnemoq-scaffold ./my-project --defaults --ide windsurf
mnemoq-scaffold ./my-project --defaults --ide windsurf,cursor,claude-code
mnemoq-scaffold ./my-project --defaults --ide all
mnemoq-scaffold --ide ?Supported platforms: opencode, windsurf, cursor, claude-code, copilot, all.
2. Log a learning
mnemoq --log '{"step":3,"source_agent":"claude","type":"pattern","domain":"backend","components":["api","auth"],"files_touched":["src/auth.py"],"trigger":"JWT validation failed on expired tokens","action":"Added explicit expiry check before signature verification","reason":"PyJWT silently accepts expired tokens when verify_exp is not set","importance":8,"severity":"major"}'PowerShell-safe alternative (avoids JSON quoting issues):
mnemoq --log-file learning.json3. Retrieve relevant learnings
mnemoq --step 3 --components api,auth --domain backend4. Other commands
mnemoq --stats # Memory statistics
mnemoq --resolve 2025-06-25T10:30:00 # Mark a learning resolved
mnemoq --review-agents --step 3 # AGENTS.md section health report
mnemoq --consolidate # Archive + promote (sleep cycle)
mnemoq --install-hooks # Install git post-commit auto-learn hookFor the full retrieve → work → log → evaluate → auto-learn loop and how to wire it into any IDE or agent, see the Integration Guide.
5. MCP server
MCP is the primary integration path for AI agents. The server runs over stdio (JSON-RPC 2.0) with no HTTP dependency.
mnemoq-mcp # auto-discovers memory/ in cwd
mnemoq-mcp --memory-dir /path/to/memory # explicit pathOr via environment variable: AGENT_MEMORY_DIR=/path/to/memory mnemoq-mcp
Tools exposed: retrieve_learnings, log_learning, resolve_learning, get_stats, consolidate
Works with Claude Desktop, Cursor, Windsurf, VS Code, and any MCP-compatible client. See the full MCP integration guide for client configuration snippets, tool reference, and troubleshooting.
CLI Reference
Command | Description |
| Log, retrieve, consolidate, and manage agent memories |
| Initialize a new project with memory directory and config |
| Update engine files in existing projects |
| Start MCP server (JSON-RPC over stdio) |
| Generate synthetic memory entries for testing |
See docs/cli-reference.md for all flags, examples, and mutual-exclusion rules.
Configuration
memory/config.json tunes retrieval scoring, retention, embeddings, reranking, and access control for your project. Below is a summary of all parameters — see the full Config Tuning Guide for ranges, defaults, and tuning recipes.
Parameter | Default | What it controls |
|
| Project identifier |
|
| Minimum engine version |
|
| Config schema version |
|
| Cap on step values ( |
|
| Accepted domain whitelist |
|
| Accepted agent whitelist |
|
| Agents that can retrieve but not log |
|
| Custom domain → canonical tag mappings |
|
| HTTP API auth key ( |
|
| sentence-transformers model name |
|
| Model file cache path |
|
| Reranker mode: |
|
| Number of top results to rerank |
|
| Cross-encoder model name |
|
| LLM endpoint URL for |
|
| LLM model name for |
|
| Exponential decay per step (recency) |
|
| Minimum score for non-critical candidates |
|
| Weight when task components match |
|
| Weight when task files match |
|
| Weight when domain matches |
|
| Weight when nothing matches |
|
| Max critical entries per retrieval |
|
| Max non-critical entries per retrieval |
|
| Step window for minor entries |
|
| Step window for major entries |
|
| Step age for escalation flagging |
|
| BM25 term frequency saturation |
|
| BM25 document length normalization |
|
| Reciprocal rank fusion constant |
|
| Blend weight: |
|
| Cosine similarity for duplicate detection |
|
| Days between consolidation triggers |
|
| Quarantine count that triggers consolidation |
Data Schema
Each entry in learnings.jsonl is a JSON object with these required fields:
Field | Type | Constraint |
|
| ≥ 1 |
|
| must be a valid agent name |
|
|
|
|
| e.g. |
|
| non-empty |
|
| non-empty |
|
| must start with |
|
| must contain |
|
| non-empty |
|
| 1–10 |
|
|
|
The engine auto-stamps ts, commit, access_count, reinforcement_count, embedding, schema_version, and provenance fields at log time. See docs/data-schema.md for the full reference including optional fields, enum values, schema versioning, and sample entries.
Development
git clone https://github.com/Mnemoq/MnemoQ.git
cd MnemoQ
pip install -e ".[dev]"
pytestStructure
src/mnemoq/— Engine source (CLI, retrieval, validation, consolidation, MCP server, dashboard, SDK)src/mnemoq/engine/— Core modules (retrieval, scoring, reranking, consolidation, validation, server)tests/— Test suitetemplates/— Config templates, prompts, eval datadocs/— Architecture documentation (index)scripts/— Deploy scripts
Changelog
See CHANGELOG.md.
Roadmap
See docs/ROADMAP.md for current status and planned features.
License
AGPL-3.0-or-later. See LICENSE for details.
Contributing
See CONTRIBUTING.md. Submitting a PR constitutes acceptance of the CLA.
Security
Report vulnerabilities privately via GitHub Security Advisories. See SECURITY.md for details.
Available Tools
8 toolscapture_interactionA
Capture a conversation interaction as memory. Extracts learnable moments from raw text and auto-logs them. Three-tier extraction: online LLM, offline LLM, heuristic fallback.
| Name | Required | Description | Default |
|---|---|---|---|
| step | No | Current plan step (default: 1) | |
| conversation | Yes | Raw conversation text (human and AI turns) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the three-tier extraction process (online LLM, offline LLM, heuristic fallback), which reveals internal behavior. However, it does not mention side effects, auth requirements, or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the purpose, and contains no redundant information. Every sentence contributes value: purpose, automatic logging, and extraction tiers.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple schema and no output schema, the description explains the extraction process but omits important details like what the tool returns (e.g., success confirmation, memory ID) or how it interacts with sibling tools. It lacks completeness for a full understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, meaning the input schema already fully documents both parameters. The tool description adds no extra meaning beyond what the schema provides, so it meets the baseline but does not enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('capture'), the resource ('conversation interaction as memory'), and the specific outcomes ('extracts learnable moments', 'auto-logs them'). It distinguishes itself from siblings like 'log_learning' and 'retrieve_learnings' by focusing on the initial capture step.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for storing raw conversation text as memory, but it lacks explicit guidance on when to use it versus alternatives like 'log_learning' or 'consolidate'. It does not specify prerequisites or scenarios where it is inappropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
consolidateB
Trigger a Sleep Cycle (consolidation): archives unresolved entries, generates promotion candidates, detects contradictions, and checks for stale entries.
| Name | Required | Description | Default |
|---|---|---|---|
| force | No | Overwrite existing archive if one exists. | |
| sprint_number | No | Sprint number for archive file naming. Auto-inferred if omitted. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It lists actions but does not mention side effects (e.g., data destruction via overwrite), authentication needs, rate limits, or return values. The 'force' parameter hints at destructive potential, but this is not explicitly stated in the description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that effectively communicates the tool's purpose through a list of actions. It is front-loaded and contains no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (four actions, two parameters, no output schema), the description is incomplete. It lacks explanation of the tool's output or result, prerequisites, and the concept of a 'Sleep Cycle'. The absence of output schema context leaves the agent guessing about return behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add any additional parameter information beyond what the schema provides. However, the schema descriptions are adequate and cover both parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb ('Trigger') and specifies the resource ('Sleep Cycle (consolidation)') with explicit sub-actions: archives unresolved entries, generates promotion candidates, detects contradictions, and checks for stale entries. This distinguishes it from sibling tools that capture, evaluate, log, or retrieve data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, nor any prerequisites or conditions. The description simply states what the tool does without contextualizing its appropriate use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
evaluate_promptB
Evaluate a structured prompt summary for learnable moments. Runs heuristic detectors on the summary, auto-logs high-confidence signals, and returns suggestions for medium-confidence ones.
| Name | Required | Description | Default |
|---|---|---|---|
| step | Yes | Current plan step number | |
| text | No | Salient gist of the interaction | |
| outcome | Yes | Outcome category of the prompt/response cycle | |
| components | Yes | Components involved in the interaction | |
| error_text | No | Error message if outcome is bug_fixed (optional) | |
| prompt_type | Yes | Who issued the prompt being evaluated | |
| files_touched | Yes | Files modified or discussed | |
| rejected_action | No | What the human said not to do | |
| corrected_action | No | What the human said to do instead |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions auto-logging and returning suggestions but does not disclose side effects (e.g., data modification), authorization needs, or rate limits. The auto-logging behavior is stated but not elaborated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, using one sentence (two clauses) to convey purpose and mechanism. It is front-loaded with the main verb and resource, and every phrase adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite 9 parameters and no output schema, the description lacks details about return structure (suggestions) and the auto-logging effect. The agent is left unsure of what the tool returns or whether it modifies state, making it incomplete for a complex tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description does not add meaning beyond the schema; it only describes high-level behavior without elaborating on any specific parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'evaluate' and the resource 'structured prompt summary' with specific purpose 'for learnable moments'. It distinguishes from siblings like capture_interaction and log_learning by focusing on heuristic detection and suggestion generation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage after a prompt summary is created but does not explicitly state when to use this tool versus alternatives like log_learning or retrieve_learnings. No exclusions or context are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_statsA
Get memory system statistics: total entries, unresolved/resolved counts, severity/type/scope breakdowns, reinforcement patterns, and sleep cycle status.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the burden. It indicates a read-only operation (getting statistics) but does not elaborate on behavioral details such as whether results are cached, how frequently they update, or whether the tool is safe to call repeatedly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the core purpose and efficiently lists details, with no extraneous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters, no output schema, and no annotations, the description provides a comprehensive overview of what statistics are available. It could mention the return format or whether the data is a snapshot, but overall it is fairly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters and 100% schema coverage, the description adds meaningful context by enumerating the specific statistical categories provided, which goes beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get', the resource 'memory system statistics', and lists specific breakdowns (total entries, unresolved/resolved counts, etc.), making the purpose highly specific and distinguishable from sibling tools like 'capture_interaction' or 'consolidate'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving statistics but does not explicitly state when to use this tool versus alternatives. No guidance on prerequisites or exclusions is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
log_learningA
Log a new learning entry. Validates, checks for duplicates/semantic duplicates, and appends to memory. Returns status (added/duplicate/semantic_duplicate/conflict/quarantined) and entry details.
| Name | Required | Description | Default |
|---|---|---|---|
| entry | Yes | Learning entry object with fields: step, source_agent, type, domain, components, files_touched, trigger, action, reason, importance, severity, scope, debt_level, etc. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description effectively discloses key behaviors: validation, duplicate checking, semantic duplicate detection, appending to memory, and possible return statuses. This gives the agent a clear understanding of what happens when the tool is invoked.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at three sentences, with the primary action front-loaded. Every sentence adds value: logging, behavior, and return value, with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a nested object with many fields and no output schema, the description provides sufficient behavioral context (validation, duplicates, return status). It does not explain parameter details, but the schema covers that adequately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (the 'entry' parameter has a field list). The tool description adds no additional meaning to the parameters beyond what the schema provides, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Log') and resource ('a new learning entry'), clearly stating the action. While it does not explicitly differentiate from sibling tools like 'capture_interaction' or 'retrieve_learnings', the purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. Sibling tools exist (e.g., 'retrieve_learnings', 'resolve_learning'), but the description does not mention usage context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_learningB
Mark an existing learning entry as resolved by its timestamp.
| Name | Required | Description | Default |
|---|---|---|---|
| timestamp | Yes | Entry timestamp (YYYY-MM-DDTHH:MM:SSZ format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only states 'mark as resolved' without explaining side effects, permissions, or reversibility. For a mutation tool, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no redundant information. It is appropriately sized and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a single parameter and no output schema or annotations. The description covers the basic action but lacks details on return values, effects, or prerequisites. Adequate for a simple tool but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (one parameter with format description). The description's mention of 'by its timestamp' adds little beyond the schema. Baseline score of 3 is appropriate as no additional semantic value is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Mark') and the resource ('existing learning entry') with the specific criterion ('by its timestamp'). It distinguishes from sibling tools like log_learning (create) and retrieve_learnings (read).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit guidance on when to use this tool versus alternatives (e.g., consolidate or evaluate_prompt). No context for exclusions or prerequisites is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieve_learningsA
Retrieve relevant learnings for the current task context. Returns warnings (critical issues) and patterns (architectural guidance), scored and ranked by relevance.
| Name | Required | Description | Default |
|---|---|---|---|
| step | Yes | Current plan step number | |
| files | No | File paths being worked on | |
| domain | No | Coarse domain tag (e.g. 'ui', 'data', 'tooling') | |
| components | No | Component names relevant to the task |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It states that the tool returns scored/ranked warnings and patterns, implying a read-only query, but it does not explicitly confirm no side effects, rate limits, or other behaviors. For a retrieval tool, this is adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the verb and resource, and every word contributes value. No redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of an output schema, the description provides necessary details about return content (warnings and patterns, scored/ranked). Parameter semantics are covered by the schema. The description could be improved by specifying the output format or any prerequisites, but it is largely complete for its purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add additional meaning or guidance beyond what the schema already provides for each parameter (step, files, domain, components).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description explicitly states 'Retrieve relevant learnings' and specifies the output (warnings and patterns, scored/ranked). The verb and resource are clear, and the purpose is distinct from siblings like log_learning (capture) and resolve_learning (resolution).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates usage 'for the current task context' but provides no explicit when-to-use or when-not-to-use guidance. No alternatives or exclusions are mentioned, leaving the agent to infer appropriate usage from the context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
review_agentsB
Diagnostic report on AGENTS.md section health. Cross-references recent learnings with AGENTS.md sections, categorizing sections as active (referenced by learnings), cold (no references), and identifying unmatched learnings.
| Name | Required | Description | Default |
|---|---|---|---|
| step | Yes | Current plan step number | |
| threshold | No | Step window for considering learnings recent |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It describes the analytical action but does not disclose whether the tool modifies data, requires permissions, or has side effects. The agent cannot infer if this is a read-only operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no extraneous information. The key functionality is stated upfront, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool lacks an output schema and does not describe the return format. For a diagnostic tool, the agent needs to know what the report looks like (e.g., categorical output). Additionally, behavioral transparency is missing, making the definition incomplete despite clear purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents both parameters. The tool description adds minimal extra meaning beyond the schema, merely echoing the step and threshold concepts. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: producing a diagnostic report on AGENTS.md section health. It specifies the verb (diagnostic), resource (AGENTS.md sections), and the cross-referencing action. This distinguishes it from sibling tools like capture_interaction or get_stats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description implies a use case (checking AGENTS.md health) but does not specify when it should be preferred over siblings like evaluate_prompt or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
8 tool updates
v0.1.0- First observed
capture_interaction - First observed
consolidate - First observed
evaluate_prompt - First observed
get_stats - First observed
log_learning - First observed
resolve_learning - First observed
retrieve_learnings - First observed
review_agents
TDQS
Each tool has a clearly distinct purpose: capturing raw interactions, logging structured learning, evaluating prompts, retrieving relevant learnings, resolving entries, consolidating memory, and reviewing agent documentation. No two tools overlap in function.
Most tools follow a clear verb_noun pattern in snake_case (e.g., capture_interaction, log_learning, retrieve_learnings). However, 'consolidate' breaks the pattern as a single verb without a noun, causing a minor inconsistency.
With 8 tools, the server covers core memory operations (create, read, update, consolidate, evaluate) without being overwhelming. The count is well-scoped for a memory management system.
The server lacks direct update and delete operations for learning entries, which are common in memory systems. While resolve_learning provides status change, editing entry content is missing. Retrieval is limited to context-based relevance, missing full listing.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
- memnodeOAuthdev.memnode
Persistent, inspectable memory for AI agents with lineage, correction, and a hosted MCP endpoint.
Shared, governed long-term memory for AI agents across tools and sessions via MCP and REST.
Persistent memory for AI agents across Claude, ChatGPT and any MCP client.
Persistent, portable memory for AI assistants — your private memory graph, from any MCP client.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceLocal-first memory engine that synthesizes entity profiles at ingestion. Enables persistent, reasoning memory for AI agents via MCP tools like add, search, and profile.MIT
- AlicenseNot gradedqualityDmaintenanceLocal-first AI memory layer with hybrid retrieval and brain-inspired namespaces. Enables agents to save, search, and manage memories directly via MCP tools.5MIT
- AlicenseNot gradedqualityBmaintenanceLocal-first memory daemon for AI coding agents that captures session transcripts, distills typed memories (decisions, facts, lessons, commands, todos), and serves them via hybrid search through MCP tools.47MIT
- AlicenseNot gradedqualityFmaintenanceLocal-first, auditable memory for AI agents. Provides durable context for MCP hosts with SQLite storage, CLI, and MCP tools for memory management.2Apache 2.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Mnemoq/MnemoQ'
If you have feedback or need assistance with the MCP directory API, please join our Discord server