Skip to main content
Glama
vbcherepanov

total-agent-memory

memory_save

Save knowledge (decisions, solutions, facts, lessons, conventions) to persistent memory, with auto-dedup and quality gating to ensure only high-value records are stored.

Instructions

Save knowledge explicitly. Types: decision (MUST include WHY in context), solution, lesson, fact, convention. Auto-dedup via Jaccard + fuzzy similarity. v10: a quality gate scores the record before save; below-threshold records are rejected with a rejected_by_quality_gate: true response (override with MEMORY_QUALITY_GATE_ENABLED=false). Use importance to surface critical decisions at recall time (boosts the final RRF score). v11.0: routes to fast hot path when MEMORY_MODE=fast (default). Use memory_save_fast for explicit fast routing.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tagsNo
typeYes
corefNoOpt into v10 coreference rewrite — expand pronouns ('after this it broke') into self-contained text using recent session history. Costs ~1s LLM round-trip; default off.
branchNoGit branch this knowledge relates to
filterNoOptional content filter (pytest|cargo|git_status|docker_ps|generic_logs). Trims noisy CLI output while preserving URLs/paths/code.
contentYesThe knowledge to save
contextNoAdditional context, WHY for decisions
projectNogeneral
agent_idNoOptional Claude Code subagent ID (x-claude-code-agent-id header / OTEL agent_id attribute, v2.1.139+). Lets recall trace which subagent produced this knowledge.
importanceNoRecall-time boost: critical x1.5, high x1.2, medium x1.0, low x0.8. Reserve `critical` for migration-blocking decisions and security incidents.medium
parent_agent_idNoOptional parent agent ID (the dispatching Agent tool / parent span). Together with agent_id forms the subagent lineage tree.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior5/5

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

Annotations are all neutral/false, so the description carries the full burden and delivers richly: auto-dedup via Jaccard + fuzzy similarity, quality-gate rejection with the exact response flag (rejected_by_quality_gate: true) plus the override env var, and importance's RRF-score boost at recall. This substantially exceeds what the structured annotations convey.

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?

The core purpose is front-loaded in the opening phrase and every sentence carries operational content. Minor noise from version tags (v10, v11.0) slightly blurs focus, but the density is justified given the tool's behavioral complexity.

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 an 11-parameter tool with no output schema, the description covers the rejection path, dedup, importance effects, and fast routing. Gaps remain: it never describes the success response shape, nor what happens on a dedup hit (does it return the existing record or a duplicate marker?). These are notable for a no-output-schema tool but the rejection case is well covered.

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?

With 73% schema coverage the baseline is 3, and the description adds genuine value on top: it mandates that the 'decision' type MUST include WHY in context (tying type to context semantics), and explains the purpose of importance ('surface critical decisions at recall time') rather than just its enum values. This pushes it above baseline.

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 knowledge explicitly') and enumerates the supported types (decision, solution, lesson, fact, convention). It differentiates from memory_save_fast by naming it explicitly, but does not address the closely-related save_decision sibling, which also handles the 'decision' type mentioned here.

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

Usage Guidelines3/5

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

Provides explicit routing guidance: 'Use memory_save_fast for explicit fast routing' and notes the MEMORY_MODE=fast default path. However, it offers no guidance on when to prefer save_decision or memory_episode_save over this tool, leaving the alternative-selection picture incomplete for a tool with many save-like siblings.

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/vbcherepanov/total-agent-memory'

If you have feedback or need assistance with the MCP directory API, please join our Discord server