参考MCP 工具forget

Tool Reference

forget

通过用户拥有的 control boundary 删除经过审查的 memory、TODO 或 Ledger record;soft deletion 可恢复,hard deletion 永久生效。

验证删除结果

重新运行之前返回该 memory 的 search。只有当该条目不再出现时,删除才算确认完成。

search_memory({ query: "<the removed content>", limit: 5 })
// -> the removed entry must be absent

公开 MCP 工具

forget

用途

通过用户拥有的 control boundary 删除选定的 memory、TODO 或 Ledger-backed record。Public contract 只涵盖 soft 和 hard deletion;要原地替换 content,请使用 redact_memory。

适用场景

  • 用户明确要求移除经过审查的 record,并在可能时提供准确 reference。
  • 调用者需要可恢复删除(这是默认 public behavior),或需要经过明确确认的永久删除。
  • 已知的 TODO 或 Ledger transaction ID 必须通过同一受治理的 lifecycle 移除。

不适用场景

  • 不要用它 redact 或替换 content:public forget 会拒绝 replacement_content;请改为调用 redact_memory。
  • 不要使用猜测的 query 批量清理 data;先解析并审查准确的 target。
  • 除非用户明确确认永久且不可逆的删除,否则不要使用 mode=hard。
  • 不要用它修改 memory 的 content;可用时请使用 update/correction workflow。
  • REST API 接受的 field set 比 public MCP tool 更宽;scope、bucket、team 和 provenance filter 见 /docs/api/memory。

所需权限范围

  • Public forget 需要 memory:write;deployment policy 可能要求 hard deletion 具备额外的 destructive capability。
  • 调用者必须获准访问 target 的 owner/team/scope boundary。

参数列表

参数名类型描述
memory_idstring要移除的 record 的准确 reference。优先于 target。
targetstring没有准确 reference 时使用的描述性 target。
modestring · 默认值: soft'soft'(默认,可恢复)或 'hard'(永久删除,事先需要明确的 user confirmation)。也接受 'soft_delete' 和 'hard_delete' alias,空值表示 soft。其他值都会被拒绝。
reasonstring与删除一起记录的简短 audit reason。

返回模式

成功文本会报告受影响的 opaque reference 和 lifecycle status。Soft deletion 可通过 restore path 恢复;hard deletion 则不可恢复。

使用示例

可恢复地移除准确的 record
forget({
  target: "memory-id-from-recall",
  mode: "soft",
  reason: "User requested removal"
})

错误信息

  • Validation failure:提供了除 'soft'/'soft_delete'/'hard'/'hard_delete' 以外的 mode,或设置了 replacement_content(请使用 redact_memory)。
  • 401/403:token 缺少所需的 write/delete capability,或无法访问 target。
  • Ambiguous target:query_hint 匹配多条 record,或无法确定准确 target。
  • Invalid mode:不会推断 hard deletion,public surface 会拒绝不支持的 mode。
  • Not found or lifecycle conflict:选定的 memory、TODO 或 Ledger record 已不存在或已发生变化。
  • search_memory — 在 destructive action 前查找严格且已授权的结果。
  • remember — 仅在确实需要时创建新的持久 record。
  • todos — 直接管理 task state;forget 只用于经过审查的删除。
  • ledger — 通过受治理的 Ledger dispatcher 管理 financial record。

来源: Memory Console 控制项