Skip to main content
Glama

ctx_save

Persist work-relevant knowledge—notes, feedback, incidents, lessons, or user profiles—so your agent can retrieve it across sessions. Saves a new context entry with lifecycle and validity flags.

Instructions

Save a new context entry (reference doc, feedback, project note, incident report, lesson learned, or user profile). Use this when you want to persist knowledge for future retrieval. Optional lifecycle/valid_from/valid_to flag the note's maturity and bi-temporal validity. Response includes atomic, quality_score, and lifecycle once the backend judge has run. Trigger: user asks you to remember/save something ("nhớ cái này", "lưu lại", "ghi nhớ giúp", "remember this", "save this", "note this down") — call whenever work-relevant info should persist across sessions. Only call when the request is actually about tracked work/memory; ignore unrelated casual chat.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesShort, descriptive title
tagsNoTags for categorization and filtering
typeYesCategory of the context entry
scopeNoVisibility scope (defaults to personal)
contentYesFull content / body of the context entry
projectNoOptional project identifier within the workspace
metadataNoArbitrary key-value metadata
valid_toNoBi-temporal: ISO 8601 timestamp when the fact stopped being true. Optional; null means still valid.
lifecycleNoLifecycle state of the note. Omit to let the backend default to 'working'. Use 'fleeting' for transient captures, 'evergreen' for durable knowledge, 'archived' to retire from active surfacing.
workspaceYesWorkspace identifier that owns this context
memoryKindNoTaxonomy override: 'episodic' (an event/interaction happened), 'semantic' (durable factual/reference knowledge), or 'procedural' (how-to / lesson that changes future behavior). Omit to let the backend classify it from the context type (a cheap heuristic, optionally refined by the atomicity judge).
valid_fromNoBi-temporal: ISO 8601 timestamp when the fact this context describes started being true. Optional.
descriptionYesOne-line summary used for search ranking

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.1.1

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the burden well: it discloses that a backend judge runs asynchronously and returns atomic/quality_score/lifecycle, and that scope/lifecycle/memoryKind have backend defaults when omitted. It omits permissions/auth requirements and duplicate-handling behavior.

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

Conciseness4/5

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

Purpose is front-loaded and each sentence carries information (types, triggers, defaults, response fields). The bilingual trigger list is slightly verbose but plausibly earns its place for matching.

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?

With no output schema, the description usefully explains return fields (atomic, quality_score, lifecycle) and default behavior for optional params on a 13-param mutation tool. It still lacks error/validation and permission context.

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 100%, so the schema already documents all 13 parameters, including lifecycle, valid_from/valid_to and memoryKind. The description only restates the bi-temporal/maturity framing, adding little beyond the schema.

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

Purpose4/5

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

States a specific verb and resource ('Save a new context entry') and enumerates the entry types it accepts. It implicitly distinguishes itself from ctx_update via 'new', but never names a sibling, so it falls short of full differentiation.

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

Usage Guidelines5/5

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

Gives explicit when-to-call ('whenever work-relevant info should persist across sessions') plus when-not ('ignore unrelated casual chat'), reinforced with concrete trigger phrases in two languages. This leaves almost nothing to inference, though it does not name a sibling alternative.

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