Critical Risk →

mark_memory_obsolete

Mark a memory as obsolete (soft delete for audit trail) WHEN: Memory is outdated, contradicted by newer information, or replaced by better memory. This is a key tool for memory management, outdated memories polluting the memory system will hamper your ability to complete your goals. BEHAVIOUR: So...

How to control mark_memory_obsolete ↓

AI agents call mark_memory_obsolete to permanently remove resources in Forgetful — typically in cleanup and lifecycle workflows. It does its job in a single call, and there is no undo.

Critical Risk

Although described as a 'soft delete', the tool explicitly states there is no undo, making the action irreversible from the agent's perspective. Obsolete memories no longer appear in query results, effectively removing them permanently from the usable knowledge base. The irreversibility ('no undo') places this squarely in the Destructive category rather than Write.

From the tool's definition Soft deletes the memory so that they no longer appear in your query memory results... no undo - mark as obsolete

Documented attack patterns abuse exactly the kind of access mark_memory_obsolete gives an agent:

PolicyLayer is an MCP gateway — it sits between your AI agents and Forgetful, and nothing reaches the server without passing your rules. This is the rule we recommend for mark_memory_obsolete:

policy.json
{
  "version": "1",
  "default": "deny",
  "hide": [
    "mark_memory_obsolete"
  ]
}

mark_memory_obsolete disappears from the agent's tool list entirely, and any attempt to call it is denied. The rest of the server keeps working.

  1. Create a free account and register Forgetful — nothing to install.
  2. Add this policy — paste it, or build it visually.
  3. Point your MCP client (Claude, Cursor, anything) at your gateway URL.
RESTRICT THIS TOOL →

Free to start. No card required.

Go deeper

What does the mark_memory_obsolete tool do? +

Mark a memory as obsolete (soft delete for audit trail) WHEN: Memory is outdated, contradicted by newer information, or replaced by better memory. This is a key tool for memory management, outdated memories polluting the memory system will hamper your ability to complete your goals. BEHAVIOUR: Soft deletes the memory so that they no longer appear in your query memory results. Optional superseeded by will link to the superseeding memory, this preserve data integrity while hiding obsolete information. NOT-USE: temporary hiding (no undo - mark as obsolete is permanent soft delete), updating information (use update_memory), or hard deleting (not supported for audit compliance). Args: memory_id: ID of the memory to mark as obsolete reason: Why this memory is obsolete superseded_by: Optional ID of the replacement memory Returns: boolean value indicating whether or not the memory was successfully deleted. It is categorised as a Destructive tool in the Forgetful MCP Server, which means it can permanently delete or destroy data. Block by default and require explicit approval.

How do I enforce a policy on mark_memory_obsolete? +

Register the Forgetful MCP server in PolicyLayer and add a rule for mark_memory_obsolete: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Forgetful. Nothing to install.

What risk level is mark_memory_obsolete? +

mark_memory_obsolete is a Destructive tool with critical risk. Critical-risk tools should be blocked by default and only enabled with explicit human approval.

Can I rate-limit mark_memory_obsolete? +

Yes. Add a rate_limit block to the mark_memory_obsolete rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.

How do I block mark_memory_obsolete completely? +

Set action: deny in the PolicyLayer policy for mark_memory_obsolete. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.

What MCP server provides mark_memory_obsolete? +

mark_memory_obsolete is provided by the Forgetful MCP server (scottrbk/forgetful). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.

Enforce policy on every Forgetful tool call.

Deterministic rules across all 59 Forgetful tools. Per-identity grants. Full audit log. Live in minutes. Nothing to install.

Free to start. No card required.

59 Forgetful tools catalogued and risk-classified — across an index of 42,500+ MCP servers.

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.