AI agents use heartbeat to create or update resources in Mementos — usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Mementos environment.
The heartbeat tool modifies agent session state by updating a timestamp field, making it a Write-class operation. The severity is low because: (1) the modification is reversible and idempotent, (2) it only affects metadata/bookkeeping (last_seen_at), not core data, (3) there is minimal blast radius if misused—worst case is an agent appears artificially active longer than it should, and (4) it serves a necessary…
From the tool's definition Tool performs an 'Update' operation on agent state, specifically updating the 'last_seen_at' timestamp. The description explicitly states 'Update agent last_seen_at', which is a modification operation.
Attacks that exploit this kind of access
Update agent last_seen_at to signal active session. Call periodically during long tasks to prevent being marked stale. It is categorised as a Write tool in the Mementos MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
Register the Mementos MCP server in PolicyLayer and add a rule for heartbeat: 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 Mementos. Nothing to install.
heartbeat is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.
Yes. Add a rate_limit block to the heartbeat 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.
Set action: deny in the PolicyLayer policy for heartbeat. 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.
heartbeat is provided by the Mementos MCP server (@hasna/mementos). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
Every MCP server has a record like this.
Type a name, get the same breakdown: verified identity, auth posture, risk grade, capabilities, recommended policy.
Teams ship this data inside their own products. See what a licence covers →