Skip to main content
Glama

memory_create_tool

Create a structured memory item with a type, title, statement, tags, and optional details to persist engineering knowledge across sessions.

Instructions

Create a new memory item.

Args: type: One of: decision, invariant, gotcha, rejected_idea, assumption, open_question, ambiguity, contract, constraint, hypothesis, observation, bug, architecture, implementation title: Short title for the memory statement: The factual claim being stored tags: At least one tag for categorization details: Optional additional details confidence: 0 to 1, default 1.0 importance: 0 to 1, default 0.5 evidence: List of evidence objects with path, startLine, endLine, contentHash related_memory_ids: IDs of related memory items metadata: Extra metadata. Decision items accept 'rationale' (strongly recommended: explain WHY this decision was made, alternatives considered). Invariant items require 'verificationMethod' and 'condition' project: Optional project root path. Auto-detected from git root if omitted.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tagsYes
typeYes
titleYes
detailsNo
projectNo
evidenceNo
metadataNo
statementYes
confidenceNo
importanceNo
related_memory_idsNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.5.1
    • addedInput schema / properties / confidence
      Added value: +{
      +  "default": 1,
      +  "title": "Confidence",
      +  "type": "number"
      +}
    • addedInput schema / properties / importance
      Added value: +{
      +  "default": 0.5,
      +  "title": "Importance",
      +  "type": "number"
      +}
  2. First observedv0.1.0

TDQS

A3.5/5.0
Behavior2/5

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

There are no annotations to clarify side effects, persistence, or error behavior. The word 'Create' implies a write operation, but the description does not disclose return behavior, authorization requirements, or any constraints beyond the parameter list. More transparency would be expected given the absence of annotations.

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?

The description is a clean, scannable bullet list of parameters with concise explanations. It avoids unnecessary prose, includes default values where relevant, and provides just enough detail for each argument. No redundant or vague filler is present.

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

Completeness3/5

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

The description covers the input parameters well, but it omits information about the return value, failure modes, and how this tool relates to the many type-specific create tools. For a memory creation tool with 11 parameters and complex type-specific metadata, a bit more operational context would improve completeness.

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

Parameters4/5

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

Although the JSON schema itself has no per-property descriptions, the description text provides meaningful explanations for all 11 parameters, including type-specific metadata requirements, defaults for confidence and importance, the evidence object shape, and project auto-detection. This is strong parameter guidance, though it could more explicitly call out required fields.

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 clearly states the tool's purpose: 'Create a new memory item.' This is a specific verb and resource, and it is immediately distinguishable from sibling tools such as memory_update_tool, memory_get_tool, and memory_delete_tool.

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

Usage Guidelines2/5

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

The description lists the parameters but does not explain when to use this generic memory_create_tool versus the many type-specific sibling tools (e.g., decision_create, invariant_create, gotcha_create). It provides some type-specific metadata guidance, but no explicit usage conditions or comparisons to alternatives.

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