Saves a new persistent fact about the user that will be available in all future sessions across every AI tool. Use whenever the user shares anything worth keeping -- even if they don't explicitly ask: 'capture', 'noted', 'remember this', 'log', 'store', 'don't forget', or any preference, decision...
AI agents use save_fact to create or update resources in UnClick — usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your UnClick environment.
| Parameter | Type | Required | Description |
|---|---|---|---|
fact | string | Yes | The fact -- a single atomic statement |
category | string | — | Category: preference, decision, technical, contact, project, troubleshooting, general |
pr_number | integer | — | PR number linking this fact to a code review (for audit trail) |
commit_sha | string | — | Git commit SHA linking this fact to a code change (for audit trail) |
confidence | number | — | |
preserve_as_blob | boolean | — | If true, stores as a blob and extracts atomic facts via LLM instead of saving fact text directly |
source_session_id | string | — | Session ID where this fact was learned |
Parameters from the server's own tool schema.
The tool creates and persists new data records (facts about the user) that are stored for future retrieval. This is a reversible Write operation—facts can presumably be updated or deleted later. It does not execute code, delete data irreversibly, or move money.
From the tool's definition Tool description states it 'Saves a new persistent fact about the user' and will be 'available in all future sessions across every AI tool.' This is a create/store operation that modifies user profile data.
Risk signalsBulk/mass operation — affects multiple targets
Attacks that exploit this kind of access
Saves a new persistent fact about the user that will be available in all future sessions across every AI tool. Use whenever the user shares anything worth keeping -- even if they don't explicitly ask: 'capture', 'noted', 'remember this', 'log', 'store', 'don't forget', or any preference, decision, correction, contact, project detail, technical choice, troubleshooting fix, or personal detail the user mentions. When the user reports a solved client/tool issue, save it as category 'troubleshooting' using the shape 'Issue: <symptom>. Solution: <fix>'. Also trigger proactively when the user corrects you (save the correction immediately), reveals a preference by rejecting something, or names a person/tool/project for the first time. Do NOT trigger for transient values (today's weather, one-off calculations, temporary state that won't matter next session). Do NOT trigger for facts already confirmed stored earlier in this session. It is categorised as a Write tool in the UnClick MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
save_fact accepts 7 parameters: fact, category, pr_number, commit_sha, confidence, preserve_as_blob, source_session_id. Required: fact. The full parameter table on this page comes from the server's own tool schema.
Register the UnClick MCP server in PolicyLayer and add a rule for save_fact: 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 UnClick. Nothing to install.
save_fact 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 save_fact 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 save_fact. 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.
save_fact is provided by the UnClick MCP server (@unclick/mcp-server). 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 →