Skip to main content
Glama
caix84476-netizen

personal understanding

Personal Understanding

一个带原话溯洄的模拟人脑联想、发散、聚合、逆向等的 agent 记忆系统。

English · 它是什么 · 功能地图 · 上手 · 设计思路

PyPI Python License: MIT GitHub stars

agent 记忆 personal memory AI 记忆系统 MCP server local-first verbatim capture 原话溯洄 联想检索 Personalized PageRank 时间线记忆 可审计记忆 anti-hallucination memory personal knowledge management LLM agent memory claude skill codex skill


它是什么

给 AI 助手用的个人记忆系统:装在 Claude / Codex / Pi 这类客户端里,让它跨会话地「记得你这个人」。

和主流做法(每句话先摘要、先向量化,原话加工完就丢)相反,它把顺序倒过来:先把你说的话一字不改存下来,理解只是原话的派生物。派生物记错了可以重算、可以纠正,原话永远在位可以核对——这是「原话溯洄」的意思。至于「联想、发散、聚合、逆向」,是它在回忆时模拟人脑的四种找法,下面功能地图逐个讲。

Related MCP server: midas-memory-mcp

一条消息的一生

你的消息 → ① 预检分类:是个人内容吗?(技术问答直接跳过,不碰档案)
        → ② 原话捕获:完整消息逐字节落盘 + SHA-256,永不可改
        → ③ 派生:拆出事件、人物、情境卡、待回访;模型猜测进独立假设层
        → ④ 闭环:每条捕获显式关闭,过不了硬闸门就不算「已记住」
        → ⑤ 日后回想:survey 看地图 → probe 发散 → deep 回原话,外加一条联想通道

①–④ 的机制:docs/how-it-works.md 第一到三节;⑤ 在第四到八节。

功能地图

按「记、存、想、养」四组。每条给一句「为什么」,细节全部链到详文。

记:进来的时候

  • 两档闸门——个人内容走全流程;纯技术、吃什么、一次性购物完全不碰档案。分类器漏判由模型兜底,宁可多收不漏收。(为什么:漏收 = 原话永久丢失;机制)

  • 原话不可变捕获——完整消息逐字节落盘,带 SHA-256、时间戳、会话标识;纠正只新增不覆盖;图片音频保原件,OCR 只是派生。(为什么:摘要先行 = 原话加工后无法审计;机制)

  • 派生闭环 + 硬闸门——存下原话不算完:必须拆出记录并显式闭环,孤立捕获过不了回答前的 session_check。(为什么:「相信我,存好了」在真实生活里不够格——2.5.0 重复建档事故;机制)

  • 足迹纪律——游戏攻略、在读在看这类轻足迹:先定向查重,恰好一条微型记录,零新增体面关闭。(为什么:防止把单次咨询堆成档案噪声;机制)

存:档案怎么组织

  • 时间主干——每条记录带发生日/精度/依据/阶段/前后邻居;禁止把录入当天冒充发生日。(为什么:「你现在处于某阶段」的断言要先对日期再讲故事;细则)

  • 实体档案 + 情境卡——人、学校、地点、作品、游戏、概念九类实体页 + 「学校 × 足球」式交叉情境卡;事实只存一份,卡片只是投影。(为什么:实体正文写可变状态会变成永不更新的僵尸信息;细则)

  • 事实五层——原话事实 / 你的评价 / 你的解释 / 模型假设 / 无法确认,永远分层摆放;模型猜测恒为 candidate,至少两条证据才立项,永不转正。(为什么:防止 AI 把自己的推测当你的事实记;细则)

  • 待回访——「等几天看结果」这类开放闭环带到期日入档,到期主动带上下文回访。(为什么:沉默不是答复,换话题不等于已解决;细则)

想:怎么回忆起来

  • survey → probe → deep 三层渐进——先看 48K 紧凑路由地图定向,再沿实体/情境/时间邻居发散,最后回原话核验;每步预算封顶,不把全库灌给模型。(为什么:灌全库 = 模型被无关记忆淹没;机制)

  • 联想通道(发散)——个性化 PageRank 沿档案图扩散,带出词面零重叠但确实相关的候选(「打击感」→「巫师3 骑马手感」);是候选池不是结论,模型判断成立才引用。(为什么:「书荒了整本来嚼嚼」这类话三个词面通道全灭过——2.6.0 事故;机制)

  • 聚合读法(侦探拼图)——「我该怎么办」拆成情绪线/利益线/人物线分头查,再拼起来;回答分档案事实/模式观察/模型推断三层。(为什么:宽泛问题单一查询必漏;机制)

  • 逆向冷回溯——想不起关键词时,从人物/地点/时间任何线索顺实体发散、沿时间邻居走、按时间窗浏览认领;禁止宣布「查不到」。(为什么:「查不到」三个字在记忆系统里等于撒谎——只是没找到,不是不存在;机制)

养:档案的自我维护

  • 反馈回路——被纠正/确认才记录,note 必须引用当时原话作证据;沉默、换话题不算信号。(为什么:防止模型给自己的作业打分;细则)

  • 季度权重复盘——180 天未再确认的导入权重降为 0:保留、可检索、退出活跃地图,永不删除。(为什么:档案只增不减,权重会漂移;细则)

  • 语义审查 + 三态校验——定期扫「摘要冒充原话」「假设悄悄转正」「归属张冠李戴」;结构校验输出 clean/warnings/failed。(机制)

  • 快照备份与范围恢复——「跑了 7 天且校验通过」才切快照;恢复分 code/data/all 三级,dry-run 默认。(为什么:这份档案真实丢过一次数据;细则)

  • 可视化审计面板——本地静态页,能沿 事件→实体→情境→原话 完整链路逐层点开核查。(机制)

上手

让智能体跑这一条命令即可装好(路径按你客户端的 skills 目录调整):

git clone https://github.com/caix84476-netizen/personal-understanding.git \
    ~/.claude/skills/personal-understanding && \
cd ~/.claude/skills/personal-understanding && \
python scripts/init_archive.py && \
python scripts/install_mcp.py --auto

重启客户端,personal_* 工具上线,正常聊天即可——「我最近……」「记住一下……」「为什么我总是……」,它会自己接住。手动逐步教程(含验证清单、升级、卸载):docs/install.md。

需要 Python 3.10+,仅标准库,零 pip 依赖,Windows / macOS / Linux 都行。也能 pip install personal-understanding 装服务端,但完整的大脑(SKILL.md + 审计面板)建议用上面的 clone。

设计思路

为什么原话优先、为什么硬闸门、为什么诚实比召回率重要、以及每一版修了什么:docs/why-it-works.md。一句话概括:它不是设计出来的框架,是一份天天在用的档案被十几轮实测事故磨出来的——分类器曾把「我堵得慌」锁在档案外、缺日期记录曾被时间衰减无声埋掉、整句口语查询曾被假切片霸榜,每一版修补都在 CHANGELOG 里有现场。

检索与词面层站在前人工作上(逐个的取舍与实测结论):SYNAPSE(ACL 2026 Findings,扩散激活门控)、HippoRAG(NeurIPS 2024,个性化 PageRank 种子权重)、Generative Agents(Stanford,时间衰减)、Qiao & Sun(ACL Y09-2003,自训练词典)、jieba(MIT,中文分词)。

项目结构

personal-understanding/
├── SKILL.md                 # 每轮操作契约:两档闸门、原话保真、派生闭环、三层检索
├── docs/                    # how-it-works(机制)· why-it-works(动机)· install(安装)
├── references/              # 14 份字段级政策文件(捕获/检索/时间线/实体/假设/审查/备份……)
├── scripts/                 # 全部实现,仅 Python 标准库
│   ├── mcp_server.py        # MCP 服务端(11 个 personal_* 工具)
│   ├── preflight_context.py · capture_user_update.py · finalize_capture.py · session_check.py
│   ├── catalog_context.py · retrieve_v2.py   # survey / probe / deep
│   ├── ppr.py · lexicon.py                   # 联想通道 / 词元净化
│   └── validate_memory.py · review_v2.py · salience_review.py · backup_archive.py
├── dashboard/               # 可视化审计面板(纯本地静态页)
├── templates/branches/      # 六大领域分支模板
├── resources/lexicon/       # jieba 词典(vendor,MIT)
├── tests/                   # 180+ 回归测试 + 验收卷
└── VERSION / CHANGELOG.md   # 版本与实测修补史

你的数据归你

全在本地、在这个文件夹里跑。无遥测、无云调用、无第三方 embedding 服务。.gitignore 默认挡住 memory/、sources/、backups/——你给这个目录做版本管理也绝不会误提交私人档案。

许可

MIT © 2026 caix84476-netizen

Available Tools

13 tools
personal_add_feedbackA

记录一次依赖个人记忆的回答的效果:用了哪些记忆、用户反应说明 helpful/missed/corrected。不需要用户正式打分。

ParametersJSON Schema
NameRequiredDescriptionDefault
noteNo
outcomeYes
capture_idNo
memory_idsNo
feedback_idYes

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 burden. It discloses that feedback is informal and inferred from user reaction rather than formal scoring, and it names the outcome categories. However, it does not state whether this creates or updates a record, how identifiers should be supplied, or any 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.

Conciseness5/5

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

A single compact sentence that front-loads the purpose and ends with a clarifying exclusion. Every part earns its place; no redundant phrasing.

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 5 parameters, 0% schema coverage, no annotations, and no output schema, the description is not sufficient for correct invocation. It lacks details on feedback_id and capture_id provenance and on how the record is stored or returned.

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 description coverage is 0%, so the description must compensate. It adds meaning for outcome and memory_ids ('用了哪些记忆'), but it leaves the required feedback_id unexplained and does not clarify note or capture_id. An agent cannot reliably know what values to provide.

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 records the effect of an answer that relied on personal memory, listing what is recorded (used memories and user reaction) and the outcome categories. This is specific and distinguishes it from sibling tools like personal_add_record or personal_add_followup.

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 context is clear: use after a memory-dependent answer when the user's reaction indicates helpful, missed, or corrected. It also explicitly excludes formal rating/scoring. It doesn't name alternative siblings, but the intended scenario is unambiguous.

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

personal_add_followupB

登记有上下文的待回访问题;到期后由个人理解 Skill 主动检查。

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
due_atNo
promptYes
contextYes
due_ruleNo
priorityNonormal
source_refsNo

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the burden of behavioral disclosure. It does reveal that the tool registers follow-ups with context and that due items are later checked by a Personal Understanding Skill, which is useful. It does not describe mutation effects, duplicate handling, idempotency, or what happens when due_at is null, but the core persistence-and-check behavior is present.

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 front-loaded sentence with no filler. It states the action first and then the relevant follow-up behavior, making it easy for an agent to scan.

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 seven-parameter write operation with no annotations, no output schema, and no parameter descriptions, this is under-specified. The agent would still need to infer the meaning of several parameters and operational details such as return behavior and due handling.

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 description coverage is 0%, so the description must compensate for seven undocumented parameters. It only alludes to context and due behavior; id, due_rule, priority, and source_refs remain semantically unexplained. One sentence is insufficient to replace absent parameter documentation.

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 centers on registering a pending follow-up/revisit and adds the lifecycle behavior that it will be actively checked when due. This is specific enough to differentiate its core purpose, though it does not explicitly distinguish it from personal_add_record or other personal_* write tools.

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

Usage Guidelines3/5

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

The phrase '登记有上下文的待回访问题' implies the tool is for storing context-carrying follow-ups rather than immediate actions, and the due-check behavior gives a signal about when it applies. However, it provides no explicit when-to-use versus alternatives such as personal_add_record or personal_add_feedback.

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

personal_add_hypothesisA

登记候选因果解释;默认 candidate,不得冒充事实。

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
claimYes
scopeNo
supportsNo
mechanismYes
confidenceNolow
contradictsNo
source_refsNo
alternativesNo

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It usefully discloses that items are stored as 'candidate' by default and must not be presented as facts. However, it does not mention persistence behavior, side effects, idempotency, validation, or what happens after creation.

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 very short, front-loaded, and contains no filler. Both clauses earn their place, though for a 9-parameter tool with no parameter documentation, the terseness leaves out important detail.

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

Completeness2/5

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

Given the tool's complexity, the absence of annotations and output schema, and the presence of similar sibling tools, the description is not complete enough. It omits return behavior, required parameter guidance, relationship to other add tools, and any operational constraints beyond the candidate/fact distinction.

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 description coverage is 0%, and the description does not explain any of the 9 parameters, such as id, claim, mechanism, confidence, or source_refs. It only conveys the overall object type ('candidate causal explanation'), so an agent gets little help with parameter-level semantics.

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 specific verb and resource: '登记候选因果解释' (register candidate causal explanation). It also explicitly contrasts hypotheses with facts via '不得冒充事实', which differentiates this tool from fact-recording siblings like personal_add_record.

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 clearly indicates this tool is for candidate causal explanations and should not be used for established facts. It provides a clear when-to-use context, though it does not explicitly name alternative sibling tools or spell out when to choose them.

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

personal_add_recordA

创建派生记录。若来源是当前用户补充,必须先有 verbatim capture,并把 verbatim_refs 写入记录。活动足迹类微型记录传 tier=light(salience 0-1),完整档记录不传或传 full;记录层 tier 仅表示记录形态,不再表示调用档位。

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
kindYes
tierNo记录形态:light=活动足迹微型记录(salience 0-1);缺省/full=完整档记录。仅表示形态,不再表示调用档位
phaseNo
domainNo
aliasesNo
summaryYes
date_endNo
salienceNo
capture_idNo
confidenceNohigh
date_basisNo
valid_fromNo
entity_refsNo
record_roleNo
related_idsNo
sensitivityNoordinary
source_refsNo
verbatim_refsNo
date_precisionNo
last_confirmedNo

TDQS

A4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses important behavioral traits: the dependency on prior verbatim capture, the requirement to write verbatim_refs, and the semantic shift for tier (now only represents record form, not API tier). This is substantial behavioral context for a create operation.

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 compact, with key information front-loaded about the derived-record purpose. The tier explanation is dense but necessary. It earns its place, though it could be slightly more structured for readability.

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 21-parameter create tool with no output schema and no annotations, the description covers the most critical preconditions (verbatim capture) and the ambiguous tier parameter. It doesn't explain all parameters, but the sibling tools and schema already provide structural context. The core call-critical constraints are well covered.

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 only 5%, so description must compensate. The description explains the critical tier parameter semantics ('记录层 tier 仅表示记录形态,不再表示调用档位') and the verbatim_refs requirement, which are not self-evident from the schema. It also clarifies the salience range for light tier. This meaningfully adds value beyond the bare 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 uses a specific verb ('创建派生记录' - create derived record) and resource, and differentiates it from capture tools by stating it creates derived records. However, it doesn't explicitly distinguish itself from sibling tools like personal_add_followup or personal_add_hypothesis, so it's clear but lacks sibling differentiation.

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: it must be used after a verbatim capture when the source is user-supplied, and specifies when to use tier=light vs full. However, it doesn't explicitly state when NOT to use this tool or name alternatives, leaving some room for inference.

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

personal_capture_user_turnA

绑定已判定为个人材料的 turn receipt,原样保存完整用户消息。没有 preflight 或 preflight 判为非个人时拒绝写入;捕获后仍必须派生并 finalize。

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes
turn_idYes
capture_idYes
captured_atNo
message_kindNo
conversation_idNo

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations present, the description carries the behavioral disclosure burden. It discloses that writes are conditional on a passing preflight and that the tool rejects writes otherwise, plus the post-capture requirement to derive and finalize. It does not cover return values or idempotency, but for a narrow capture tool the key behaviors are stated.

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 short sentences with no filler. The core purpose is front-loaded, and every clause adds either a precondition, a behavior, or a follow-up requirement.

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 six parameters, no output schema, and no annotations, the description provides the essential workflow guards but leaves parameter semantics and return/error behavior to inference. It is sufficient for an agent familiar with the domain, but not fully self-contained for a generic caller.

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 description coverage is 0%, so the description must compensate, but it only loosely alludes to 'complete user message' (text) and 'turn receipt' (turn_id/capture_id). The optional parameters captured_at, message_kind, and conversation_id are entirely unexplained, leaving the agent to infer their meaning from names alone.

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 states a specific verb and resource: bind a pre-assessed personal turn receipt and save the full user message verbatim. It also clearly distinguishes the tool's role by referencing the preflight prerequisite and the required derive/finalize follow-up, placing it in an unambiguous pipeline.

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?

It gives explicit when-not-to-use conditions: if there is no preflight or preflight marks the turn non-personal, writes are refused. It also states that after capture, derivation and finalization are mandatory, effectively instructing the agent on the required next steps within the sibling toolset.

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

personal_catalogA

读取 v2 全局勘察。常规交互读取必须先完成当前轮次 turn preflight capture 并提供 capture_id;足迹/攻略类消息被 capture 闸门拦下时,可用 maintenance=true 做只读降级读取(有 trace 审计,不写档案),随后按足迹纪律用 tier=full 重声明补 capture。

ParametersJSON Schema
NameRequiredDescriptionDefault
viewNosurvey
queryNo
capture_idNo
maintenanceNo显式声明非交互只读(等价 CLI --maintenance);不能代替 capture 完成写入闭环

TDQS

A3.8/5.0
Behavior3/5

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

The description discloses meaningful behavioral traits: it respects a capture gate, requires capture_id for normal reads, and maintenance=true performs an audited read-only fallback that does not write archives. However, it doesn't describe the response format, data freshness, or side effects of the tier=full re-declaration, so it is 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.

Conciseness4/5

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

The description is dense but compact, delivering key behavioral rules in two sentences. It front-loads the main purpose and then explains the exception path. Some may find it dense, but each clause carries operational meaning; missing a short hint about the view param's role.

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?

With no annotations and no output schema, the description covers operational preconditions, the fallback path, audit implications, and the post-read discipline, which is strong for a read tool. It doesn't explain the difference between view enum options or return format, but for a survey read operation the critical workflow context is present.

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 description coverage is low (25%), and the description adds significant parameter semantics: it explains the capture_id precondition, the maintenance=true fallback's purpose, side effects (trace audit, no archive writing), and the requirement to later re-declare with tier=full. It does not explicitly explain the view enum values, but it contextualizes the key parameters well.

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 names the verb (读取/read) and the central resource (v2 全局勘察/global survey), distinguishing it as the read tool for the v2 global survey. It doesn't explicitly distinguish from siblings like personal_retrieve or personal_derivation_status, so it is clear about what it reads but not fully differentiated from all siblings.

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 gives explicit usage conditions: regular reads must first complete turn preflight capture and provide capture_id, and when footprint/strategy messages are blocked by the capture gate, maintenance=true can be used for read-only fallback. It implies when not to use it (when writing is needed, use capture/add_record), but doesn't name specific alternatives.

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

personal_derivation_statusA

读取 capture→records 闭环状态,检查 pending、孤立捕获和链接漂移。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 the behavioral burden. It conveys read-only intent via '读取' and names the checks it performs, which is useful. But it does not explicitly state that the call is side-effect-free or describe what kind of result the agent should expect beyond the named status categories.

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, front-loaded sentence with no filler. The action, object, and specific checks all fit in a compact line.

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

Completeness4/5

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

For a zero-parameter, read-only status tool with no output schema, the description covers what the tool does and what it checks, which is sufficient to call it correctly. It could be slightly more explicit about return shape or prerequisites, but the low complexity makes that gap minor.

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

Parameters4/5

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

The tool has zero parameters, so there is no parameter documentation burden. The description adds value by naming the dimensions ('pending, orphaned captures, link drift') that the no-arg call will report on, going beyond the empty 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 opens with a specific action ('读取', read) and a clear resource ('capture→records 闭环状态'), then lists the exact conditions checked: pending, orphaned captures, and link drift. This distinguishes it from sibling write/capture tools, which perform mutations rather than status inspection.

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 intended usage is implied: call this tool to inspect the capture-to-records closure status and detect pending/orphaned/link-drift issues. However, the description does not explicitly say when to prefer it over alternatives like personal_validate or personal_session_check, nor does it provide exclusions.

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

personal_finalize_captureA

关闭当前原话捕获的派生闭环。derived 必须已有至少一条双向链接记录;无需派生时必须写具体原因(零新增收场须写明定向查重命中的既有记录)。回答前必须调用。

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNo
capture_idYes
dispositionYes

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 the burden and does disclose important behavioral constraints: the precondition on linked records and the requirement to write a concrete reason, including citing the deduplication hit for zero additions. It does not disclose side effects, reversibility, or return/error behavior, so it remains incomplete for a finalizing 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?

Three short sentences carry the action, prerequisites, conditional requirements, and the call-time rule with no filler. The most actionable instruction ('must call before answering') is placed at the end but all content earns its place.

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

Completeness4/5

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

For a 3-parameter finalization tool with no output schema and no annotations, the description covers the required inputs, the enum branches, the conditional reason, and the sequencing rule. It is missing post-condition/effect details and a definition of 'bidirectional link record', but the provided instructions are sufficient for correct invocation in most cases.

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 description coverage is 0%, so the description must compensate. It explains the meaning of disposition by tying derived to the bidirectional-link precondition and no-derivation-needed to a specific written reason, and it spells out what the reason must contain in the zero-add case. capture_id is only implied as 'current', which is the main gap.

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 names a specific action ('close'/'finalize') on a specific resource ('current raw-quote capture derivation loop'), which is enough to distinguish it from sibling tools like add_record or validate. It loses a point because 'current' and 'derived loop' rely on context and no explicit contrast with sibling tools is given.

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?

It states explicitly that the tool must be called before answering, and gives the precondition for derived (at least one bidirectional link) and the mandatory content for no-derivation-needed. It does not name alternative tools or when not to call, but the operational trigger is clear.

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

personal_preflight_turnA

当前用户消息的强制内容预检。它持久化 turn receipt;个人经历、感受、关系、偏好、决定即使请求形式是润色/总结/看图,也会要求 capture。两档调用(2.4.0 起):内容含个人材料或活动足迹类轮次(如'正在玩某游戏')走完整档(tier=full/auto),足迹轮次受足迹纪律(写入前定向查重、恰好一条微型记录、零新增可 no-derivation 收场);纯技术/吃喝/购物等明显无关或零增值轮次不调用本工具(跳过档)。tier=light 已废弃,传入按 full 处理。

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes
tierNo模型显式声明档位;auto=纯内容分类,skip=强制跳过,full=完整档兜底(含活动足迹轮次);light 已废弃按 full 处理
turn_idNo
conversation_idNo

TDQS

A3.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the full behavioral burden, and it does substantial work: it discloses a persistent side effect (turn receipt), capture expectations, footprint discipline (pre-write dedup, exactly one micro record, zero-new no-derivation), and deprecated-tier handling. It stops short of describing return values, errors, or downstream effects of invoking skip/full, so it is strong but not fully transparent.

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 dense but purposeful, front-loading the core purpose before tier rules. Some long clause chains make parsing harder, but every sentence contributes policy or behavioral detail, and there is no filler.

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

Completeness2/5

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

The tool has no annotations and no output schema, and the domain is policy-heavy, so the description must do more. It thoroughly covers tier selection and capture discipline, but it omits the role of turn_id/conversation_id, what the tool returns, and what the agent should do after a full/skip result. An agent could select the tier but not confidently construct a complete invocation.

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 only 25%; only tier is documented there. The description richly explains tier semantics and implies text is the current user message, but it never clarifies turn_id or conversation_id. Since those two parameters are undocumented in both schema and description, the low coverage gap is only partially compensated.

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 identifies the tool as a mandatory content preflight for the current user message and states that it persists a turn receipt while requiring capture of personal materials. This is a specific verb+resource pairing that distinguishes it from sibling capture/retrieve tools, though it never explicitly names or compares itself to siblings like personal_capture_user_turn or personal_finalize_capture.

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 gives explicit when-to-call and when-not-to-call rules: full/auto for personal or activity-footprint turns, skip for technical/eating/shopping/zero-value turns, and light treated as deprecated. It does not name alternative tools, but for a gate/preflight tool the call/skip decision itself is the main usage guidance.

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

personal_resolve_followupA

关闭一条回访(answered 回访完成 / declined 用户不再跟进 / resolved 回路以其他方式关闭,含方案被取代或过时);note 必填且须具体。可选 capture_id 把本轮用户回答的原话 capture 绑到回访上(须已存在于 ledger)。

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
noteYes
capture_idNo
resolutionYes

TDQS

A4/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 behavioral disclosure burden. It discloses the closure action, requires a specific note, and states the ledger-existence precondition for capture_id, but it does not mention side effects, reversibility, permissions, or what happens after closure.

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?

A single dense sentence packs the operation, enum meanings, field requirements, and an optional binding rule without filler. It is efficient and front-loaded, though slightly dense due to multiple clauses packed together.

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?

Input semantics are well covered, including required fields and preconditions. However, with no output schema and no annotations, the description omits return behavior and broader operational consequences, which is a noticeable gap for a state-changing tool.

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 description coverage is 0%, so the description must compensate, and it largely does: it defines the resolution enum semantics, clarifies that note must be specific, and explains capture_id binds an existing ledger capture. Only the id parameter is left unexplained, which is acceptable given its obvious role.

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?

States a precise verb and resource: '关闭一条回访' (close a follow-up), and explains the distinct meanings of the three resolution values: answered, declined, and resolved. This clearly separates the tool from siblings like personal_add_followup and personal_finalize_capture.

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

Usage Guidelines4/5

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

Provides explicit conditions for each resolution choice ('answered 回访完成 / declined 用户不再跟进 / resolved ...'), so an agent knows which resolution to select in which scenario. It does not explicitly name sibling alternatives or say when not to use the tool, so it falls just short of a 5.

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

personal_retrieveA

按 v2 事件、实体和情境卡读取 probe/deep。必须先完成当前轮次 turn preflight capture,并提供 capture_id;否则拒绝读取。

ParametersJSON Schema
NameRequiredDescriptionDefault
idsNo
levelNoprobe
queryNo
capture_idNo
maintenanceNo显式声明非交互只读(等价 CLI --maintenance);足迹/攻略类消息 capture 被拦时的只读降级通道,有 trace 审计

TDQS

A3.6/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden. It discloses a critical non-obvious behavior: the tool refuses to read unless the current turn preflight capture is completed and capture_id is provided. It does not describe return values or other failure modes, but the key enforcement behavior is clearly surfaced.

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 compact sentences with no filler. The main purpose is front-loaded, and the prerequisite/refusal behavior follows immediately, making the critical information easy to parse.

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 5-parameter tool with no output schema and no annotations, this description is incomplete. It captures the main precondition but leaves most parameter semantics, result shape, and relationship to the many sibling tools unaddressed, so an agent would still struggle to invoke it correctly.

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 description coverage is only 20%, so the description must compensate for underdocumented parameters. It only gives meaningful context for capture_id; ids, query, and level remain effectively unexplained beyond their schema types/enums/defaults, leaving the agent unable to construct well-formed calls.

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 ('读取' / read) and the resource ('probe/deep'), and scopes the access by v2 events, entities, and scenario cards. It does not explicitly differentiate from sibling tools, but the phrasing makes its role as a retrieval step after preflight distinct enough.

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 gives explicit usage context: retrieval requires the current turn's preflight capture and a valid capture_id, otherwise the tool refuses. It lacks explicit when-not-to-use guidance or named alternatives, so it is one step below full routing guidance.

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

personal_session_checkB

回答或声称档案已更新前的硬闸门:turn receipt + capture 闭环 + 结构 + v2 完整性。个人 turn 必须传 turn_id,缺 capture 或 finalize 会失败。

ParametersJSON Schema
NameRequiredDescriptionDefault
turn_idNo
allow_warningsNo

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the burden and does reveal meaningful behavior: it is a blocking gate, and missing capture or finalize causes failure. It also enumerates what is checked. However, it does not disclose whether the tool is read-only, what warnings mean, whether allow_warnings can bypass failures, or what the response shape looks like.

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 compact and front-loads the purpose before listing the main failure condition. The dense jargon ('closed loop', 'v2 completeness') slightly hurts comprehensibility, but the structure is efficient and every clause adds 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?

For a two-parameter check with no annotations and no output schema, the description is too thin. It omits allow_warnings semantics, response/error behavior, and any routing guidance against sibling validation tools. An agent would need to infer several important details before calling it confidently.

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 description coverage is 0%, so the description must compensate. It explains that turn_id is required for personal turns, but it says nothing about allow_warnings, its default, its effect, or the format/expected values of turn_id. Half the parameter surface is effectively undocumented.

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 identifies the tool as a hard pre-answer gate and lists the dimensions it checks: turn receipt, capture closed loop, structure, and v2 completeness. This goes beyond the bare name and distinguishes it from capture/finalize operations. However, 'v2 completeness' is left unexplained and no explicit verb such as 'validate' or 'check' appears.

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?

It gives an explicit use window: run this before answering or claiming the profile has been updated. It also states a hard requirement for personal turns: turn_id must be supplied. It does not mention when not to use it or how it compares with siblings like personal_preflight_turn or personal_validate, but the context is clear.

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

personal_validateA

校验 v2 结构,并明确区分失败、警告和干净。默认强制要求所有 capture 已完成派生闭环。只读。

ParametersJSON Schema
NameRequiredDescriptionDefault
strictNo

TDQS

A3.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden and does well: it discloses that the operation is read-only, that it distinguishes failure/warning/clean, and that by default all captures must have completed derivation closure. This goes beyond a generic 'validate' statement and gives an agent useful behavioral expectations.

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 short, front-loaded with purpose, and every sentence adds distinct value: validation scope, result categories, default behavior, and read-only safety. There is no filler.

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

Completeness3/5

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

The description adequately covers the tool's purpose, output categories, default behavior, and read-only nature. However, given that the only parameter 'strict' is entirely undocumented in both schema and description, the definition is not fully complete for an agent to invoke it with full confidence.

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

Parameters2/5

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

The schema has one boolean parameter, 'strict', with no description and 0% schema description coverage. The description does not explain what 'strict' does or how it interacts with the default derivation-closure requirement, leaving the agent to guess whether setting strict to true relaxes or tightens validation.

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 states a specific verb ('校验' / validate) and a clear resource ('v2 结构' / v2 structure), and it clarifies the output categories of failure, warning, and clean. It does not explicitly differentiate from siblings by name, but the validate action is distinct enough among the listed siblings.

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 conveys that this tool is for validating the v2 structure and implies it should be used when such validation is needed. However, it does not explicitly state when to use this over siblings, nor does it provide exclusions or alternative tool guidance.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updatesv2.6.0
    • Changedpersonal_add_record1 field changed
      • addedInput schema / properties / tier
        Added value: +{
        +  "description": "记录形态:light=活动足迹微型记录(salience 0-1);缺省/full=完整档记录。仅表示形态,不再表示调用档位",
        +  "enum": [
        +    "full",
        +    "light"
        +  ],
        +  "type": "string"
        +}
    • Changedpersonal_catalog2 fields changed
      • addedInput schema / properties / maintenance
        Added value: +{
        +  "default": false,
        +  "description": "显式声明非交互只读(等价 CLI --maintenance);不能代替 capture 完成写入闭环",
        +  "type": "boolean"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "capture_id"
        -]New value: +[]
    • Changedpersonal_preflight_turn1 field changed
      • addedInput schema / properties / tier
        Added value: +{
        +  "description": "模型显式声明档位;auto=纯内容分类,skip=强制跳过,full=完整档兜底(含活动足迹轮次);light 已废弃按 full 处理",
        +  "enum": [
        +    "auto",
        +    "full",
        +    "light",
        +    "skip"
        +  ],
        +  "type": "string"
        +}
    • Addedpersonal_resolve_followup
    • Changedpersonal_retrieve2 fields changed
      • addedInput schema / properties / maintenance
        Added value: +{
        +  "default": false,
        +  "description": "显式声明非交互只读(等价 CLI --maintenance);足迹/攻略类消息 capture 被拦时的只读降级通道,有 trace 审计",
        +  "type": "boolean"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "capture_id"
        -]New value: +[]
  2. 12 tool updatesv0.1.0
    • First observedpersonal_add_feedback
    • First observedpersonal_add_followup
    • First observedpersonal_add_hypothesis
    • First observedpersonal_add_record
    • First observedpersonal_capture_user_turn
    • First observedpersonal_catalog
    • First observedpersonal_derivation_status
    • First observedpersonal_finalize_capture
    • First observedpersonal_preflight_turn
    • First observedpersonal_retrieve
    • First observedpersonal_session_check
    • First observedpersonal_validate

TDQS

A3.5/5.0

Scored across 13 tools

Disambiguation3/5

The tools form a clear pipeline (preflight → capture → derive → finalize → retrieve), but the check-like family (preflight_turn, derivation_status, validate, session_check) has fuzzy boundaries that require careful reading of each dense description. Catalog vs retrieve is also a subtle distinction (global survey vs targeted retrieval). The descriptions contain enough context to disambiguate if read fully, but an agent could easily misselect among the gate/validation tools.

Naming Consistency4/5

All tools share the personal_ prefix and 8 of 13 follow the verb_noun pattern (add_record, resolve_followup, capture_user_turn, finalize_capture). The bare verbs (retrieve, validate), noun commands (catalog), and noun-noun compounds (derivation_status, session_check) are minor deviations that remain readable and predictable within the overall imperative style.

Tool Count4/5

13 tools is on the higher end of well-scoped but each maps to a distinct stage of the capture-derive-finalize-retrieve workflow, plus follow-ups, hypotheses, and feedback. The pipeline ceremony (6 capture/check tools) could potentially be consolidated, making the count feel slightly padded rather than bloated.

Completeness3/5

The capture→derive→finalize→retrieve pipeline is fully covered, and follow-ups have both add and resolve operations. However, there is no tool to update or delete a personal record (correcting a wrong memory is essential for personal memory), and hypotheses can be added but never confirmed or retired, leaving notable lifecycle gaps in the core domain.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Local-first MCP server that lets AI agents query their own LLM call history as a branchable DAG and offload conversation context into immutable, AES-256-GCM-encrypted capsules — restorable in full or per segment, crypto-shreddable, with RAID-style replication. 12 tools, no API keys, no cloud.
    56 npm
    3
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Local-first, source-traceable memory for AI agents — no LLM at ingest, $0 per message, zero data egress. Gives Claude Code, Cursor, and any MCP client one shared persistent memory with semantic recall, belief revision, selective forgetting, and a provenance guard that blocks acting on stale or unconfirmed memories.
    23
    17 PyPI
    15
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    A local-first, privacy-first MCP server that passively indexes personal digital activity (screenshots, clipboard, notes, downloads, links) into a local database, enabling LLMs like Claude to access your context without cloud storage.
    4
    1
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    A self-hosted, temporal knowledge-graph memory for AI coding agents — shared across projects, queryable across time, written and read via MCP by any Claude Code session.
    -