Skip to main content
Glama
FilippoPilo

cortex-connector

Save memory

cortex_write

Save decisions, facts, preferences, and lessons learned to persistent memory during conversations. A quality gate rejects duplicates and excludes sensitive data such as tokens or card numbers.

Instructions

Save to the user's persistent memory (Cortex), on your own initiative while the conversation goes on: decisions and the reason behind them, stable facts about the person and their work, preferences and constraints they state, conclusions reached after effort, mistakes made and what they cost. Every write passes a quality gate: duplicates are rejected by the server and a refused write is not an error. Never save passwords, tokens, keys or card numbers.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tagsNo
basisNo'observed' if read from a concrete source (document, tool output, real data), 'inferred' if it is a deduction or an estimate.
titleYesShort title
claimsNoOptional. Atomic facts already structured, one per decision or statement; if given, conflict detection uses them directly. Example: {subject: 'Project Vega', predicate: 'adopts', object: 'Redis'}.
contentYesText to remember, in the user's language

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (readOnlyHint=false, openWorldHint=true, destructiveHint=false), the description discloses valuable behavior: writes are proactive, every write passes a server-side quality gate, duplicate writes are rejected, and a refused write is not an error. It also imposes a hard security constraint on content. These are precisely the behavioral traits an agent needs to interpret outcomes correctly. No contradiction with annotations exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each earning its place: the first defines purpose and content scope, the second explains the quality-gate behavior, the third states the security prohibition. The core action is front-loaded. Despite being longer than average, the density is justified given the judgment-heavy nature of deciding what to write.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a moderately complex tool (5 params, no output schema, no nested objects), the description covers when to invoke, what to write, what to avoid, and edge-case behavior (refused writes). The single notable gap is that no output schema exists and the description does not state what a successful write returns. Given the richness of the annotations and schema, this is a minor omission rather than a functional gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 80%, so the schema already documents title, content, claims, and basis in detail (including an example for claims). The description adds marginal semantic value by enumerating the kinds of content worth composing, which indirectly informs the content parameter, but it does not explain the undocumented 'tags' parameter. Since the schema carries most of the load, the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource pair ('Save to the user's persistent memory (Cortex)') and immediately clarifies what counts as worth saving: decisions, stable facts, preferences, constraints, conclusions, and mistakes. It also states what must never be saved (passwords, tokens, keys, card numbers), making the tool's scope unambiguous. This clearly distinguishes it from siblings like cortex_recall, cortex_forget, and cortex_write_status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'on your own initiative while the conversation goes on' gives explicit when-to-use direction: the agent should write proactively, not only when asked. The description also gives a when-not boundary ('Never save passwords, tokens, keys or card numbers') and implies that duplicate-checking is unnecessary because the server rejects duplicates. However, it never names sibling alternatives (e.g., cortex_recall for retrieving, cortex_forget for deleting), so the differentiation is contextual rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.