Save a conversation message to persistent memory. Call this for each user/assistant exchange.
AI agents use log_message to create or update resources in Claude Memory — usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Claude Memory environment.
This tool creates and stores conversation data in a persistent database. While it modifies state, it is not destructive (messages can be deleted via the 'forget' tool), not executable (it doesn't run code or commands), and not financial.
From the tool's definition The tool 'log_message' with description 'Save a conversation message to persistent memory' performs a create operation that stores data in Supabase.
Documented attack patterns abuse exactly the kind of access log_message gives an agent:
PolicyLayer is an MCP gateway — it sits between your AI agents and Claude Memory, and nothing reaches the server without passing your rules. This is the rule we recommend for log_message:
{
"version": "1",
"default": "deny",
"tools": {
"log_message": {
"limits": [
{
"counter": "log_message_rate",
"window": "minute",
"max": 30,
"scope": "grant"
}
]
}
}
} log_message stays usable, but capped — an agent stuck in a loop can't make hundreds of changes a minute. Everything else on the server is denied unless you say otherwise.
Free to start. No card required.
Save a conversation message to persistent memory. Call this for each user/assistant exchange. It is categorised as a Write tool in the Claude Memory MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
Register the Claude Memory MCP server in PolicyLayer and add a rule for log_message: 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 Claude Memory. Nothing to install.
log_message 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 log_message 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 log_message. 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.
log_message is provided by the Claude Memory MCP server (jordanl61/claude-memory). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
Start from Claude Memory, add the rest of your stack, and see everything your agents can call. Then put policy on all of it.
Free to start. No card required.
7 Claude Memory tools catalogued and risk-classified — across an index of 43,000+ MCP servers.