RecallVault
Click on "Deploy 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., "@RecallVaultRemember that this project uses pnpm and Postgres 16."
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.
status: confirmed created: 2026-10-27 updated: 2026-10-27
RecallVault 文档索引
Related MCP server: saripati
阅读顺序
按认知顺序排列,每一步都依赖前一步的结论:
竞品调研报告 — GitHub 同类项目全景扫描,10+ 个竞品的能力矩阵和定位分析
痛点需求分析 — 4 个核心痛点的底层需求拆解 + 竞品覆盖度评估
隔离策略专题 — 从"纯物理隔离"到"逻辑隔离+共享层"的决策过程
架构设计 — 完整架构:目录结构、Frontmatter schema、MCP 工具签名、检索策略
自动存取路线图 — 基于 7 家竞品源码级深挖的实现方案:FTS5+RRF 融合检索、双时钟 frontmatter、onboard、Eyes 层、追溯索引(8 天实施)
工作方法 — 开发哲学、MVP 分批、决策模型、验证策略
文档规范
Frontmatter
每个文档顶部必须包含:
---
status: draft | confirmed | archived
created: YYYY-MM-DD
updated: YYYY-MM-DD
---draft:待审阅,内容可能调整confirmed:已确认锁死,后续变更需显式记录archived:已废弃,保留供参考
引用格式
调研数据:
[cite:N]内联标注,文档末尾附## Sources节,每条格式为[cite:N] 标题 — URL架构决策:采用「决策 → 理由 → 备选方案 → 影响」四段式,记录在每个决策点
变更记录
状态从
draft→confirmed:更新 frontmatterupdated日期,在文档末尾追加一行确认记录confirmed文档的内容变更:追加## 变更记录节,每条记录日期 | 变更内容 | 原因
Available Tools
10 toolsarchive_memoryA
Archive or unarchive a memory. Archived memories are excluded from recall by default.
| Name | Required | Description | Default |
|---|---|---|---|
| scope | No | Disambiguate when same id exists in both scopes. | |
| memory_id | Yes | Memory identifier (frontmatter id field). | |
| unarchive | No | False=archive, true=unarchive. Default false. | |
| project_id | No | Further disambiguation for scope=project. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and usefully discloses that archived memories are excluded from recall by default. It does not clarify permissions, whether archived memories remain retrievable by id or in list_memories, or whether the operation is idempotent, leaving meaningful gaps 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with zero wasted words. The core operation is front-loaded in the first sentence and the downstream recall behavior follows immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple toggle tool with fully documented parameters and no output schema, the description covers the essential operation and the key recall-side effect. It stops short of explaining the relationship to delete_memory and the full lifecycle of archived memories, but it is largely sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters are already documented in the schema, including the unarchive boolean and scope disambiguation. The description adds no parameter-specific detail beyond the general archive/unarchive concept, so the baseline 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 states a specific verb and resource: archive or unarchive a memory. It is clear what the tool does, but it does not explicitly distinguish itself from the sibling delete_memory tool, which is the nearest alternative operation.
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 by noting that archived memories are excluded from recall by default, suggesting you archive instead of deleting when you want to hide but retain a memory. However, it does not explicitly say when to use this versus delete_memory, update_memory, or set_memory_priority, and it offers no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_memoryA
Permanently deletes a memory file. NO RECOVERY — be sure. Use archive_memory if you may need it back.
| Name | Required | Description | Default |
|---|---|---|---|
| scope | No | Disambiguate when same id exists in both scopes. | |
| memory_id | Yes | Memory identifier to DELETE. | |
| project_id | No | Further disambiguation for scope=project. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full load — and it does disclose the single most important behavioral trait: the operation is permanent with no recovery. It does not cover permission/auth requirements or what happens to references or shared-scope copies, which is why it falls short of a 5.
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?
Three short sentences, the destructive warning is front-loaded in caps, and the alternative follows immediately. Every sentence earns its place with no 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?
For a destructive three-parameter tool with no annotations and no output schema, the description covers the critical risk (irreversibility) and the safe alternative. It omits scope-related consequences (e.g., deleting a shared-scope memory) and permission requirements, leaving modest gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with memory_id, scope enum, and project_id disambiguation all documented in the schema. The description adds no parameter-level meaning beyond that, so the baseline of 3 applies.
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?
States a specific verb and resource ('Permanently deletes a memory file') and immediately distinguishes itself from the sibling archive_memory by naming it as the non-destructive alternative. An agent can select this tool versus archive_memory without inspecting either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly gives the condition that should redirect the agent elsewhere: 'Use archive_memory if you may need it back.' That is a concrete when-to-use-this-instead-of-that rule, which is exactly what the sibling routing requires.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
health_checkA
Check RecallVault server health, configuration, and return a suggested context bundle for session start.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Because no annotations are provided, the description carries the full burden of behavioral disclosure. It does disclose a useful trait, namely that the tool returns a suggested context bundle for session start; however, it is silent on whether the tool is read-only, what "configuration" reveals (for example, whether secrets could be exposed), and whether there are 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no filler, and the server-health purpose is front-loaded. Its only weakness is that it compresses two deliverables, the health and configuration check and the context bundle, into one clause without separating them.
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?
With no annotations and no output schema, the description should explain what the caller receives from a health check. It gestures at a "suggested context bundle" but does not describe the shape of the health or configuration report, so an agent cannot anticipate what the response contains or how to act on it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so no parameter documentation is required; the baseline score for a zero-parameter tool is 4. Nothing in the description conflicts with 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 opens with a concrete verb-plus-resource phrase ("Check RecallVault server health, configuration") and adds that it returns a suggested context bundle. This is clearly distinguishable from the memory CRUD siblings. It loses a point because it bundles two distinct purposes (health check and context-bundle suggestion) into one description without explaining how they relate.
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 phrase "for session start" hints at the appropriate moment to call this tool, but there are no explicit when-not conditions and no alternatives named. The description does not say what to do if the health check fails or whether to call this before or after memory_setup.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_memoriesB
List memory entries with metadata overview. Useful for inventory and inspection.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Default 50. | |
| offset | No | Pagination offset. Default 0. | |
| sort_by | No | Default time_desc. | |
| project_id | No | ||
| memory_type | No | Default all. | |
| include_shared | No | Default false. | |
| include_archived | No | Default false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the whole burden of behavioral disclosure. It does not say that include_shared/include_archived default to false (i.e., that results are narrowed by default), does not mention pagination behavior, and does not describe the returned metadata fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the resource and result type, with no filler. Slightly thin rather than padded, which is the preferable failure mode.
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?
With 7 parameters, no annotations, and no output schema, the description should at minimum explain what a 'metadata overview' contains and how shared/archived filtering affects results. Neither is covered, leaving real gaps for a fairly configurable list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 86%, so nearly every parameter is already documented in the schema, including defaults and enums. The description adds only the phrase 'metadata overview' and no additional meaning about limit/offset/sort/filters, so baseline 3 applies.
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?
States a specific verb and resource ('List memory entries') plus the shape of the result ('metadata overview'), so the agent knows this is a browse/enumerate operation. It does not, however, contrast itself with recall or the other memory siblings, so a reader must infer why this differs from recall.
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?
'Useful for inventory and inspection' gestures at when to call it, but gives no explicit when-not and never names recall as the alternative for filtered/targeted retrieval. Usage is implied rather than directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_importA
Phase 4: Import existing project docs (.trae/documents/ and docs/) as semantic memories. Idempotent — skips already-imported files.
| Name | Required | Description | Default |
|---|---|---|---|
| scope | No | Default project. | |
| from_docs | No | Scan docs/. Default true. | |
| project_id | No | Default vault basename. | |
| from_trae_documents | No | Scan .trae/documents/. Default true. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses idempotency and that already-imported files are skipped, but it does not describe permissions, side effects beyond memory creation, error behavior, or return values.
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 tightly written sentences. It front-loads the phase and action, then adds the key idempotency behavior with no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a four-parameter, mutation-style tool with no annotations and no output schema, the description covers the core action and idempotency but leaves gaps around scope, project targeting, and what the import returns or changes in more detail.
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 parameter schema already documents all four optional parameters. The description reinforces the two directory-scanning parameters by naming `.trae/documents/` and `docs/`, but adds no further semantics for `scope` or `project_id` beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: importing existing project docs from `.trae/documents/` and `docs/` as semantic memories. It is clear what the tool does, though it does not explicitly distinguish itself from sibling tools such as `remember` or `memory_setup`.
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 'Phase 4' label and mention of importing existing project docs imply usage context, but the description gives no explicit when-to-use guidance, prerequisites, or alternatives among the sibling memory tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_setupB
Phase 3: Initialize vault with fence block and optional starter memories. Safe to call multiple times (idempotent).
| Name | Required | Description | Default |
|---|---|---|---|
| agent | No | Agent identifier for fence block. Default trae. | |
| generate_starters | No | Generate starter semantic template. Default false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It usefully discloses idempotency and that calling multiple times is safe, but it does not explain whether existing vault contents are overwritten, what permissions are required, or what side effects the fence block has.
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 short sentences and is front-loaded with the core action. It is efficient, though the leading 'Phase 3' adds ambiguity without contextual 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?
For a simple two-optional-parameter setup tool with no output schema and no annotations, the description covers the basic purpose and idempotency. It still omits important context such as prerequisites for 'Phase 3', effects on existing memories, and what the caller should expect after setup.
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 schema already documents both optional parameters and their defaults. The description alludes to the 'fence block' and 'optional starter memories' but adds little meaning beyond what the parameter descriptions already provide.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Initialize vault with fence block and optional starter memories.' It is clearly distinct from sibling tools like remember, recall, or list_memories, which handle ongoing memory operations. The only weakness is the unexplained 'Phase 3' context, which assumes prior steps without saying what they are.
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 this is the setup/initialization step and states it is safe to call multiple times, which is useful guidance. However, it does not say when to use this versus alternatives, what prerequisites 'Phase 3' implies, or when not to call it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recallC
Search and retrieve relevant memories. Keyword match + filters + sort + window-size adaptation.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Filter by tags (AND: all must match). | |
| agent | No | ||
| limit | No | Default 10. | |
| query | Yes | Natural language query or keywords. | |
| sort_by | No | Default relevance. | |
| project_id | No | Project to search. If omitted, searches all. | |
| session_id | No | Filter by session/task. | |
| memory_type | No | Default all. | |
| reviewed_only | No | Only reviewed semantic memories. Default false. | |
| include_shared | No | Also search shared/semantic. Default false. | |
| include_archived | No | Default false. | |
| include_superseded | No | Phase 2: Default false. Include memories with valid_to set (superseded facts). | |
| context_window_size | No | Current agent context window size (tokens). Auto-adjusts recall granularity. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, and it largely fails to: it does not say what is returned (snippets? full records? scores?), whether results are ranked, or what happens on empty matches. "Window-size adaptation" is the one genuine behavioral note, but it merely echoes the context_window_size parameter description in the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the core verb and resource; nothing is padded. The second sentence is a compressed feature fragment rather than prose, which is space-efficient but slightly telegraphic, keeping it just below a 5.
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?
This is a 13-parameter retrieval tool with no annotations and no output schema, so the description should cover return shape, result ranking, and default behavior. It covers none of these, leaving an agent unable to predict what a call yields or how to interpret empty/oversized results.
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 92% — tags, limit, sort_by, memory_type, include_shared, include_archived, include_superseded and context_window_size are all documented inline. The description adds no parameter-level meaning beyond this, so the baseline 3 applies; the only slight addition is characterizing the matcher as keyword-based, which implies the query is not vector/semantic search.
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?
States a specific verb+resource pair ("Search and retrieve relevant memories") that is clearly a retrieval operation, distinct in spirit from the write-oriented siblings like remember/archive_memory. However, it never names list_memories, the closest sibling, so the search-vs-list boundary is left for the agent to infer.
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 offers no when-to-use, when-not-to-use, or alternative-tool guidance. An agent cannot tell from this text whether to call recall, list_memories, or remember for a given information need; the fragment "Keyword match + filters + sort" hints at capability but not at selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rememberB
Write memory (session context or permanent knowledge) to RecallVault. Creates new entry or appends to existing.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Obsidian-compatible tags (no # prefix). | |
| agent | No | Source agent. | |
| scope | No | Default project. episodic always project-only. | |
| content | Yes | Memory body in Markdown. | |
| priority | No | 1=low 2=normal 3=high. Default 2. | |
| replaces | No | Phase 2: Existing memory_id that this new memory supersedes. Old memory valid_to is set to now. | |
| append_to | No | Existing memory_id to append content to (instead of creating new). | |
| project_id | No | Required for scope=project. Folder name under projects/. | |
| session_id | No | Session/task identifier for grouping episodic entries. | |
| memory_type | Yes | episodic = short-term session context; semantic = permanent knowledge. | |
| related_files | No | Vault-root-relative paths to related files. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It conveys that this is a write operation and that it either creates or appends, but says nothing about permissions/scope requirements, reversibility, or that the 'replaces' path silently sets the prior memory's valid_to to now. For a mutation tool with zero annotation coverage, this is a 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the action and destination, and no redundant filler. Nothing needs trimming.
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?
With 11 parameters, no output schema, and no annotations, the definition leans almost entirely on the schema. It covers the core action but omits selection guidance against siblings and the consequence of destructive-ish paths (replaces superseding old memories), leaving the agent under-prepared for a moderately complex write 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 parameter meaning is already fully documented, and the baseline is 3. The description adds only a light gloss ('session context or permanent knowledge') that roughly mirrors the memory_type enum already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (write) and resource (memory in RecallVault) and clarifies the two content categories: session context vs permanent knowledge. It also discloses the create-or-append duality, which helps distinguish it from recall/archive_memory. It stops short of naming the closest sibling (update_memory) as an alternative.
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?
There is no explicit when-to-use guidance: nothing says when to call remember versus update_memory, memory_import, or set_memory_priority. The 'creates new entry or appends to existing' phrasing hints at the append_to path but leaves the agent to infer selection criteria from the schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_memory_priorityA
Quickly set memory priority (1=low, 2=normal, 3=high). Higher priority memories rank higher in recall.
| Name | Required | Description | Default |
|---|---|---|---|
| scope | No | Disambiguate when same id exists in both scopes. | |
| priority | Yes | 1=low 2=normal 3=high. | |
| memory_id | Yes | Memory identifier. | |
| project_id | No | Further disambiguation for scope=project. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It usefully discloses the behavioral consequence ('higher priority memories rank higher in recall'), which is real value beyond a bare mutation statement. However, it says nothing about whether this overwrites an existing priority, permission requirements, or what is returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action and scale, with no padding. Minor redundancy with the schema's priority enum description, but the second sentence earns its place by explaining impact on recall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a four-parameter mutation tool with a fully documented schema and no output schema, the description covers the action and the semantic effect of the value. The remaining gap is mutation safety context (overwrite behavior, permissions) that annotations would normally supply.
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 schema already documents all four parameters including the priority scale and the scope enum. The description restates the 1/2/3 mapping and adds the recall-ranking effect, but adds no detail on the scope/project_id disambiguation, so baseline 3 applies.
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?
States a specific verb and resource ('set memory priority') and defines the value scale inline. It is distinguishable from a generic update_memory, but the description never names update_memory or explains why this tool exists alongside it, so sibling differentiation is only implicit.
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 word 'Quickly' hints this is a lightweight single-field shortcut rather than a full update, but no explicit when-to-use guidance or alternative is given. An agent must infer that update_memory is the route for other fields.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_memoryB
Update memory content or frontmatter fields. Replaces body/tags/related_files or sets reviewed/priority/archived.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Replace all tags. | |
| scope | No | Disambiguate when same id exists in both scopes. | |
| content | No | Replace entire body with this Markdown text. | |
| archived | No | Archive or unarchive. | |
| priority | No | 1=low 2=normal 3=high. | |
| reviewed | No | Mark as reviewed/unreviewed (semantic memories only). | |
| memory_id | Yes | Memory identifier. | |
| project_id | No | Further disambiguation for scope=project. | |
| related_files | No | Replace related_files list. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does usefully disclose destructive overwrite semantics ('Replaces body/tags/related_files'), which tells the agent that existing values are lost rather than merged. It says nothing about permissions, whether partial updates are atomic, what happens when conflicting fields are supplied, or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the resource and immediately followed by the field groupings. No filler, though the replace/set split is compressed into a single sentence rather than structured as two clear modes.
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?
A 9-parameter mutation tool with no annotations and no output schema needs more than two sentences. The scope/project_id disambiguation logic, the constraint that reviewed applies only to semantic memories, and the interaction between simultaneous content and metadata updates are all left to the schema or unstated.
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 schema already explains every parameter, including 'Replace all tags' and the priority scale. The description's 'Replaces ... or sets ...' phrasing adds only a light framing of replace-versus-set semantics on top of that, so the baseline 3 applies.
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?
States a specific verb (update) and resource (memory), and enumerates the two modes of change: replacing body/tags/related_files versus setting reviewed/priority/archived. It does not acknowledge that siblings set_memory_priority and archive_memory cover a subset of the same ground, so the boundary is left implicit.
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?
There is no statement of when to use this tool versus the siblings. This is a real gap because set_memory_priority and archive_memory overlap directly with the priority and archived fields this tool accepts, and nothing tells the agent which to prefer or whether scope/project_id must be supplied.
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.
10 tool updates
v0.2.0- First observed
archive_memory - First observed
delete_memory - First observed
health_check - First observed
list_memories - First observed
memory_import - First observed
memory_setup - First observed
recall - First observed
remember - First observed
set_memory_priority - First observed
update_memory
TDQS
Scored across 10 tools
Most tools have clearly distinct purposes, but update_memory explicitly sets archived and priority fields, overlapping archive_memory and set_memory_priority. remember versus update_memory also requires care, though the descriptions distinguish create/append from replacement.
The set mixes verb_noun names like list_memories, archive_memory, and delete_memory with bare verbs like remember and recall, plus noun-first names like health_check, memory_setup, and memory_import. It remains readable, but there is no single predictable convention.
Ten tools are well-scoped for a memory vault: CRUD/search, archive, priority, setup/import, and health check. Each tool has a plausible place in the lifecycle, with no obvious bloat.
The surface covers create/append, search/retrieve, list, update, delete, archive, priority, setup/import, and health. There is no dedicated get-by-id or bulk operation, but recall and list_memories cover retrieval and inspection well enough for core workflows.
Maintenance
Related MCP Connectors
Persistent memory for AI agents. Search and store durable facts, preferences and decisions.
Persistent memory for AI agents. Search, store, and recall across sessions.
Persistent memory for AI agents, for code, research and everyday life. Stale facts retire.
Universal persistent memory and knowledge retrieval layer for AI agents and LLMs.
Related MCP Servers
- -licenseNot gradedqualityNot gradedmaintenanceProvides persistent local memory functionality for AI assistants, enabling them to store, retrieve, and search contextual information across conversations with SQLite-based full-text search. All data stays private on your machine while dramatically improving context retention and personalized assistance.3-
- AlicenseNot gradedqualityAmaintenanceProvides AI assistants a local, hybrid semantic+keyword memory vault to save research findings, notes, and project context, and recall them across sessions with session boot/save tools.4 npm2MIT
- AlicenseNot gradedqualityAmaintenanceLocal memory for AI agents in one SQLite file on your own machine. Facts carry a validity window and a confidence score, so an outdated one is superseded and downweighted rather than deleted, and retrieval fuses BM25, vector similarity and a knowledge graph.2Business Source 1.1
- AlicenseAqualityBmaintenanceEnables AI agents to persist facts with tags, sources, and importance in a local SQLite database, retrieve them through hybrid BM25 plus embedding search weighted by retention decay, link or supersede related entries, and review everything in a read-only visual dashboard showing the memory graph and timeline.6MIT