Total Agent Memory
PYPI · TOTAL-AGENT-MEMORY · SCANNED SEP 20
Persistent local memory for coding agents: temporal knowledge graph, procedural and episodic recall
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security24
- Malware scan not yet available for this package.Unverified
- A critical CVE affects chromadb, and no fixed version has been published yet. View diagnostics → Fail
- Runs setuptools.build_meta at install time, a recognised native-build step with no shell scripting around it. View diagnostics → Pass
- 16 of 113 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency35
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- License check failed: no license is declared. See how to fix → Fail
- Actively maintained (last published 4 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability69
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 7122 tokens (~93/item across 76 items; 76 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management43
- Stability observed for 13 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage80
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 40% of tool parameters carry a description.Partial
Tool Safety79
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 1 of 7 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "memory_eval_locomo" implies "eval" and declares readOnlyHint instead, contradicting what its own name says it does. See how to fix → Partial
- An AI judge read all 76 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
How do I install the Total Agent Memory MCP server?
Total Agent Memory runs locally as a PyPI package, launched with uvx total-agent-memory. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
pypi · total-agent-memory
claude mcp add vbcherepanov-total-agent-memory -- uvx total-agent-memory
{
"mcpServers": {
"vbcherepanov-total-agent-memory": {
"command": "uvx",
"args": [
"total-agent-memory"
]
}
}
} {
"servers": {
"vbcherepanov-total-agent-memory": {
"command": "uvx",
"args": [
"total-agent-memory"
]
}
}
} codex mcp add vbcherepanov-total-agent-memory -- uvx total-agent-memory
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"vbcherepanov-total-agent-memory": {
"type": "local",
"command": [
"uvx",
"total-agent-memory"
],
"enabled": true
}
}
} openclaw mcp add vbcherepanov-total-agent-memory --command uvx --arg total-agent-memory
mcp_servers:
vbcherepanov-total-agent-memory:
command: "uvx"
args: ["total-agent-memory"] {
"McpServers": {
"vbcherepanov-total-agent-memory": {
"Transport": "stdio",
"Command": "uvx",
"Arguments": [
"total-agent-memory"
]
}
}
} assistant mcp add vbcherepanov-total-agent-memory -t stdio -c uvx -a total-agent-memory
{
"mcpServers": {
"vbcherepanov-total-agent-memory": {
"command": "uvx",
"args": [
"total-agent-memory"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 20 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 40 to 43. That category is still filling its 30-day observation window: 12 days of observed history at the previous scan, 13 at this one. The score rises as the window fills, whether or not the server changes.
- 18 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.
- 17 Sept 26 −15
- Malware scan: pass → unverified ▼ security
- 16 Sept 26 +15
- Malware scan: unverified → pass ▲ security
- 15 Sept 26 −11
- Malware scan: pass → unverified ▼ security
- Stability: unverified → 0.27 ▲ functional
- Package version: 13.0.4 → 14.0.0 functional
- 12 Sept 26 +15
- Malware scan: unverified → pass ▲ security
- 8 Sept 26 −15
- Malware scan: pass → unverified ▼ security
- 7 Sept 26 57
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed pypi/total-agent-memory@14.0.0
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | pypi |
Background: How many MCP packages publish verified provenance →
Install scripts 1 script
| Hook | Tier | Command |
|---|---|---|
| build_backend | allowlisted | setuptools.build_meta |
Background: Why install scripts are a supply-chain risk →
Vulnerabilities 8 findings
| ID | CVE | Severity | Vector | Fix available |
|---|---|---|---|---|
| GHSA-2wm9-hf6c-p5cr | CVE-2026-45830 | high | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H | no |
| GHSA-36p7-vc44-83pf | CVE-2026-45833 | critical | no | |
| GHSA-f4j7-r4q5-qw2c | CVE-2026-45829 | critical | no | |
| GHSA-xph7-9rjv-w5fr | CVE-2026-45831 | high | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H | no |
| PYSEC-2026-311 | CVE-2026-45829 | none | no | |
| PYSEC-2026-3813 | CVE-2026-45830 | high | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H | no |
| PYSEC-2026-3814 | CVE-2026-45833 | none | no | |
| PYSEC-2026-3815 | CVE-2026-45831 | high | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H | no |
Background: What a vulnerability scan can and cannot prove →
Dependencies 113 packages
| Packages resolved | 113 |
|---|---|
| Stale | 14 |
| No linked repository | 2 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
analogize ~70
Find past solutions/lessons from OTHER projects whose feature set overlaps with the given problem text (Jaccard similarity).
| Name | Type | Req | Description |
|---|---|---|---|
| exclude_project | string | – | – |
| limit | integer | – | – |
| min_score | number | – | – |
| only_types | array | – | – |
| text | string | yes | – |
No output schema declared.
No examples provided.
benchmark ~48
Run the eval harness: recall_at_k, prevention_rate, latency percentiles. Loads scenarios from evals/scenarios/*.json by default.
| Name | Type | Req | Description |
|---|---|---|---|
| scenarios_path | string | – | Custom scenarios dir or file |
No output schema declared.
No examples provided.
classify_task ~39
v8.0: classify task into L1-L4 complexity + suggested phases.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | yes | – |
| project | string | – | – |
No output schema declared.
No examples provided.
file_context ~62
BEFORE editing a file, call this to surface past errors, lessons, and related rules for that file path. Returns risk_score ∈ [0, 1].
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| path | string | yes | – |
| project | string | – | – |
No output schema declared.
No examples provided.
ingest_codebase ~69
Parse a file or directory into semantic AST chunks (functions, classes, methods) across 8 languages. Returns chunk count + sample.
| Name | Type | Req | Description |
|---|---|---|---|
| include | array | – | Extension allowlist e.g. ['.py','.go'] |
| path | string | yes | – |
| sample_limit | integer | – | – |
No output schema declared.
No examples provided.
kg_add_fact ~98
Record a temporal fact assertion (subject, predicate, object). Supersedes any prior assertion with same (s,p) and different object — full history is preserved. Use for evolving architectural decisions.
| Name | Type | Req | Description |
|---|---|---|---|
| confidence | number | – | – |
| context | string | – | – |
| invalidate_previous | boolean | – | – |
| object | string | yes | – |
| predicate | string | yes | – |
| project | string | – | – |
| subject | string | yes | – |
No output schema declared.
No examples provided.
kg_at ~85
Point-in-time query: return fact assertions valid at `timestamp` (ISO 8601). Omit timestamp for currently-valid facts.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| object | string | – | – |
| predicate | string | – | – |
| project | string | – | – |
| subject | string | – | – |
| timestamp | string | – | ISO 8601 or omit for now |
No output schema declared.
No examples provided.
kg_invalidate_fact ~56
Close a currently-valid fact assertion. History is retained.
| Name | Type | Req | Description |
|---|---|---|---|
| object | string | yes | – |
| predicate | string | yes | – |
| project | string | – | – |
| reason | string | – | – |
| subject | string | yes | – |
No output schema declared.
No examples provided.
kg_timeline ~46
Full chronological history of assertions for a subject.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| predicate | string | – | – |
| project | string | – | – |
| subject | string | yes | – |
No output schema declared.
No examples provided.
learn_error ~108
Structured error capture: file, error, root_cause, fix, pattern. After N (default 3) errors share the same pattern, a prevention rule is auto-synthesized into the rules table.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | – |
| error | string | yes | – |
| file | string | yes | – |
| fix | string | yes | – |
| pattern | string | yes | – |
| project | string | – | – |
| root_cause | string | yes | – |
| severity | string | – | – |
No output schema declared.
No examples provided.
list_intents ~55
List recent user prompts from the intents table, newest first. Filter by project and/or session. Max 500 rows.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| project | string | – | – |
| session_id | string | – | – |
No output schema declared.
No examples provided.
memory_answer ~106
Generate and verify a cited answer using the configured reasoning LLM. Up to one missing-relation retrieval and five LLM calls including bounded quote repair. Explicit project required. Citation offsets refer to returned evidence content. Ordinary recall remains local.
| Name | Type | Req | Description |
|---|---|---|---|
| branch | string | – | – |
| followup | boolean | – | – |
| limit | integer | – | – |
| max_bytes | integer | – | – |
| project | string | yes | – |
| query | string | yes | – |
| type | string | – | – |
No output schema declared.
No examples provided.
memory_associate ~114
Associative recall — brain-like spreading activation through knowledge graph. Finds memories through concept resonance, not keyword search. In 'composition' mode, finds minimum set of memories covering all needed concepts.
| Name | Type | Req | Description |
|---|---|---|---|
| max_results | integer | – | – |
| min_coverage | number | – | Min coverage for composition mode (0.0-1.0) |
| mode | string | – | recall=find related, composition=build solution from parts |
| project | string | – | Filter by project |
| query | string | yes | Natural language query |
No output schema declared.
No examples provided.
memory_concepts ~60
List or search concepts in the knowledge graph.
| Name | Type | Req | Description |
|---|---|---|---|
| include_memories | boolean | – | Include linked knowledge records |
| limit | integer | – | – |
| query | string | – | Search concepts by name |
| type | string | – | Filter by node type |
No output schema declared.
No examples provided.
memory_consolidate ~92
Find and merge duplicate/similar knowledge records. Keeps the longest version, supersedes shorter duplicates. Reduces noise in recall results.
| Name | Type | Req | Description |
|---|---|---|---|
| dry_run | boolean | – | If true, only show what would be merged |
| project | string | – | Consolidate only this project (optional) |
| threshold | number | – | Similarity threshold 0.0-1.0 (default 0.75) |
No output schema declared.
No examples provided.
memory_consolidate_status ~52
v11.0 W2-G: report the consolidation daemon state — per-project last-run, active locks, recent activity. Use to verify the idle-project worker is making progress without interfering with active work.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
memory_context_build ~66
Build optimal context for a query. Combines: spreading activation + knowledge graph + episodes + skills + self-model. The 'brain thinking' tool.
| Name | Type | Req | Description |
|---|---|---|---|
| max_tokens | integer | – | – |
| project | string | – | – |
| query | string | yes | What you need context for |
No output schema declared.
No examples provided.
memory_delete ~47
Delete a knowledge record (soft-delete). Removes from search results and ChromaDB. Use when knowledge is wrong or no longer relevant.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | Knowledge record ID to delete |
No output schema declared.
No examples provided.
memory_entity_resolve ~118
v11.0 W1-F: resolve a mention to its canonical entity within a project+type. Cross-session coreference via name/alias index + embedding cosine. Returns canonical_id, matched_via, and is_new flag. Pronouns return -1.
| Name | Type | Req | Description |
|---|---|---|---|
| create_if_missing | boolean | – | – |
| mention | string | yes | – |
| project | string | – | – |
| threshold | number | – | Cosine similarity threshold for embedding match. |
| type | string | – | Entity type: person, technology, project, company, ... |
No output schema declared.
No examples provided.
memory_episode_recall ~75
Find past episodes (experiences). Search by concepts, outcome, project, or impact.
| Name | Type | Req | Description |
|---|---|---|---|
| concepts | array | – | – |
| limit | integer | – | – |
| min_impact | number | – | – |
| outcome | string | – | – |
| project | string | – | – |
| query | string | – | Search narrative text |
No output schema declared.
No examples provided.
memory_episode_save ~133
Save an episode — narrative of WHAT HAPPENED and HOW. Not just facts, but the journey: what was tried, what failed, what worked.
| Name | Type | Req | Description |
|---|---|---|---|
| approaches_tried | array | – | – |
| concepts | array | – | Key concepts involved |
| frustration_signals | integer | – | – |
| impact_score | number | – | 0.0-1.0, how significant |
| key_insight | string | – | The aha moment, if any |
| narrative | string | yes | 2-3 sentence narrative of what happened |
| outcome | string | yes | – |
| project | string | – | – |
No output schema declared.
No examples provided.
memory_eval_contradictions ~67
v11.0 Phase 8: runs contradiction_detector against a labelled fixture. Requires balanced/deep mode (LLM). Returns {status: 'not_implemented', ...} if module is unavailable.
| Name | Type | Req | Description |
|---|---|---|---|
| fixture_path | string | – | – |
| mode | string | – | – |
No output schema declared.
No examples provided.
memory_eval_entity_consistency ~44
v11.0 Phase 8: verifies entity_dedup canonicalization is stable across repeated saves of variant tag spellings.
| Name | Type | Req | Description |
|---|---|---|---|
| mode | string | – | – |
No output schema declared.
No examples provided.
memory_eval_locomo ~128
v11.0 Phase 8: run the LongMemEval-style recall+prevention scenario suite (loaded from evals/scenarios/) against the live store. Forces MEMORY_MODE=fast by default. Returns {scenarios_total, scenarios_passed, recall_at_5, recall_at_10, latency_ms, mode, llm_calls_during_eval, network_calls_during_eval}.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Cap how many scenarios to run. |
| mode | string | – | – |
| scenarios_path | string | – | Optional override path. |
| top_k | integer | – | – |
No output schema declared.
No examples provided.
memory_eval_long_context ~70
v11.0 Phase 8: large-context recall scenario. Saves N records and queries them at the tail. Reuses eval_harness scenarios tagged 'long_context' if present.
| Name | Type | Req | Description |
|---|---|---|---|
| mode | string | – | – |
| n_records | integer | – | – |
| top_k | integer | – | – |
No output schema declared.
No examples provided.
memory_eval_recall ~71
v11.0 Phase 8: generic recall benchmark on a dataset path or a small built-in fixture. Same payload shape as memory_eval_locomo.
| Name | Type | Req | Description |
|---|---|---|---|
| dataset_path | string | – | – |
| limit | integer | – | – |
| mode | string | – | – |
| top_k | integer | – | – |
No output schema declared.
No examples provided.
memory_eval_temporal ~58
v11.0 Phase 8: temporal recall using temporal_kg + temporal_filter. Returns {status: 'not_implemented', ...} when modules are missing.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| mode | string | – | – |
No output schema declared.
No examples provided.
memory_explain_search ~108
v11.0: same as memory_search_fast but returns a per-tier breakdown (fts/semantic/graph/fuzzy/hyde with raw scores, the merged RRF list, rerank_applied flag, embedding_space). Use to debug why a record did or didn't surface for a query.
| Name | Type | Req | Description |
|---|---|---|---|
| embedding_space | string|array | – | – |
| limit | integer | – | – |
| project | string | – | – |
| query | string | yes | – |
| type | string | – | – |
No output schema declared.
No examples provided.
memory_export ~60
Export all knowledge as JSON for backup or migration. Includes knowledge, sessions, and relations.
| Name | Type | Req | Description |
|---|---|---|---|
| project | string | – | Export only this project (optional) |
| save_to_file | boolean | – | Save to <memory-dir>/backups/ (default true) |
No output schema declared.
No examples provided.
memory_extract_session ~116
Get pending session transcripts for knowledge extraction. Previous sessions are auto-captured on exit. Use action='list' to see pending, 'get' to read transcript, then save knowledge via memory_save, then 'complete' to mark as processed.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | list: show pending sessions. get: return transcript data. complete: mark as done. |
| chunk | integer | – | Chunk number for large transcripts (0-based) |
| session_id | string | – | Session ID (required for 'get' and 'complete') |
No output schema declared.
No examples provided.
memory_forget ~56
Apply retention policy: archive stale records (>180d, never recalled, low confidence), purge very old archived records (>365d). Keeps memory clean.
| Name | Type | Req | Description |
|---|---|---|---|
| dry_run | boolean | – | If true, only show what would be affected |
No output schema declared.
No examples provided.
memory_get ~103
Batched fetch by ID — complement to memory_recall(mode='index'). Returns full content for ONLY the IDs the caller chose after inspecting an index. Typical 3-layer flow: recall(mode='index') → pick IDs → memory_get(ids=[...]).
| Name | Type | Req | Description |
|---|---|---|---|
| detail | string | – | 'summary' truncates content to 150 chars, 'full' returns everything |
| ids | array | yes | Knowledge record IDs (max 50 per call; extras are silently dropped) |
No output schema declared.
No examples provided.
memory_graph ~77
Query the unified knowledge graph. Returns neighborhood of a node: connected rules, skills, memories, concepts, entities.
| Name | Type | Req | Description |
|---|---|---|---|
| depth | integer | – | Traversal depth (1-3) |
| node | string | yes | Node name or ID to explore |
| types | array | – | Filter by node types (rule, skill, concept, etc.) |
No output schema declared.
No examples provided.
memory_graph_index ~42
Reindex CLAUDE.md rules and skills into the knowledge graph. Run after modifying CLAUDE.md or adding new skills.
| Name | Type | Req | Description |
|---|---|---|---|
| target | string | – | – |
No output schema declared.
No examples provided.
memory_graph_stats ~25
Knowledge graph statistics: nodes, edges, communities, top concepts, health metrics.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
memory_history ~51
View version history for a knowledge record. Shows the chain of superseded versions (newest → oldest), enabling time-travel through knowledge evolution.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | Knowledge record ID to get history for |
No output schema declared.
No examples provided.
memory_index_passages ~50
Build local passage indexes before evidence searches. Repeat using next_after_id until remaining=0.
| Name | Type | Req | Description |
|---|---|---|---|
| after_id | integer | – | – |
| limit | integer | – | – |
| project | string | yes | – |
No output schema declared.
No examples provided.
memory_observe ~123
Save a lightweight observation (auto-capture). No dedup, no ChromaDB — fast and cheap. Use for tracking file changes, tool usage, and session activity. Observations auto-cleanup after 30 days.
| Name | Type | Req | Description |
|---|---|---|---|
| files_affected | array | – | List of affected file paths |
| observation_type | string | – | Type of observation |
| project | string | – | – |
| summary | string | yes | What happened (e.g. 'Modified auth controller') |
| tool_name | string | yes | Which tool triggered this (Write, Edit, Bash, etc.) |
No output schema declared.
No examples provided.
memory_perf_report ~57
v11.0: dump in-process telemetry counters (search_total_ms, embed_ms, fts_ms, vector_ms, llm_calls, network_calls) plus persistent embedding_cache stats. Use to verify the fast hot path stays clean.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
memory_rebuild_embeddings ~114
v11.0: re-encode every record (or every record in a given embedding space) and update the binary + float32 vectors. Idempotent. Pass embedding_space='code' to refresh only code rows after switching the code embedder. Returns {rebuilt: int, skipped: int}.
| Name | Type | Req | Description |
|---|---|---|---|
| batch_size | integer | – | – |
| embedding_space | string|array | – | Optional: only re-encode rows in these spaces. |
| limit | integer | – | – |
| project | string | – | – |
No output schema declared.
No examples provided.
memory_rebuild_fts ~55
v11.0: drop and rebuild the SQLite FTS5 virtual table from `knowledge` rows. Useful after migrations or content_type column changes that the FTS triggers didn't see. Returns {rebuilt: int}.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
memory_recall ~643
Search ALL memory: decisions, solutions, facts, lessons from ALL past sessions. 6-stage pipeline: FTS5+BM25 → semantic → fuzzy → graph → (optional) CrossEncoder → (optional) MMR. Default: hybrid mode (BM25 + semantic + RRF). Use BEFORE starting any task. v11.0: routes to fast hot path when MEMORY_MODE=fast (default). Use memory_search_fast / memory_explain_search for explicit fast routing.
| Name | Type | Req | Description |
|---|---|---|---|
| branch | string | – | Filter by git branch (also includes branch-agnostic records) |
| context_max_chars | integer | – | Context character budget; evidence mode uses the same value as a stricter UTF-8 byte budget. |
| decisions_only | boolean | – | Return only structured decisions (v8.0): type=decision AND tags contain 'structured'. Results include parsed schema payload under 'decision'. |
| detail | string | – | Level of detail: 'compact' ~50 tokens/result (id+title+score), 'summary' truncates content to 150 chars, 'full' returns everything, 'auto' picks based on query complexity (paths/urls/code → full, sho… |
| diverse | boolean | – | Enable MMR diversity to reduce redundant results (useful for broad queries) |
| entities | array | – | Filter by extracted entity names (technology/person/project, case-insensitive) |
| evidence_followup | boolean | – | Evidence mode: allow one search for an explicitly supplied missing_relation. |
| expand_budget | integer | – | Max number of additional records to include via graph expansion |
| expand_context | boolean | – | Add graph-related records (1-hop neighbors via knowledge graph) as 'expansion' results |
| fusion | string | – | Score fusion method: 'rrf' = Reciprocal Rank Fusion (better multi-tier ranking), 'legacy' = original additive scoring |
| intent | string | – | Filter by classified intent (question|procedural|fact|decision|problem|solution|incident|plan) |
| limit | integer | – | – |
| missing_relation | object | – | Evidence mode: missing relation; subject must occur in the original question. |
| mode | string | – | Progressive-disclosure mode: 'search' (default) = normal results, 'index' = ultra-compact metadata only (id+title+score+type+project+created_at, ~40-60 tok/hit, no cognitive expansion, use memory_get… |
| neighbors | integer | – | Timeline/context modes: records before/after each hit; context accepts 0–3. |
| project | string | – | Filter by project name |
| query | string | yes | What to search for |
| rerank | boolean | – | Enable CrossEncoder re-ranking for higher precision (adds ~30ms latency) |
| topics | array | – | Filter results to records tagged with any of these topics (from deep enrichment) |
| type | string | – | – |
No output schema declared.
No examples provided.
memory_recall_iterative ~107
v11.0 W1-B: IRCoT-style iterative retrieval. Decomposes the query into sub-questions, retrieves per sub-question, and asks a planner LLM whether more retrieval is needed. Best for multi-hop questions. Returns unified evidence + provenance per iteration.
| Name | Type | Req | Description |
|---|---|---|---|
| k_per_iter | integer | – | – |
| llm_model | string | – | – |
| max_iters | integer | – | – |
| project | string | – | – |
| query | string | yes | – |
No output schema declared.
No examples provided.
memory_reflect_now ~57
Run reflection (the 'sleep' process). Consolidates knowledge, finds patterns, generates skill proposals, updates self-model.
| Name | Type | Req | Description |
|---|---|---|---|
| scope | string | – | quick=dedup only, full=digest+synthesize, weekly=deep analysis |
No output schema declared.
No examples provided.
memory_relate ~75
Create a typed relation between two knowledge records. Enriches graph expansion in Tier 4 search. Types: causal, solution, context, related, contradicts.
| Name | Type | Req | Description |
|---|---|---|---|
| from_id | integer | yes | Source knowledge record ID |
| to_id | integer | yes | Target knowledge record ID |
| type | string | yes | Relation type |
No output schema declared.
No examples provided.
memory_save ~413
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.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_id | string | – | Optional 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. |
| branch | string | – | Git branch this knowledge relates to |
| content | string | yes | The knowledge to save |
| context | string | – | Additional context, WHY for decisions |
| coref | boolean | – | Opt 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. |
| filter | string | – | Optional content filter (pytest|cargo|git_status|docker_ps|generic_logs). Trims noisy CLI output while preserving URLs/paths/code. |
| importance | string | – | Recall-time boost: critical x1.5, high x1.2, medium x1.0, low x0.8. Reserve `critical` for migration-blocking decisions and security incidents. |
| parent_agent_id | string | – | Optional parent agent ID (the dispatching Agent tool / parent span). Together with agent_id forms the subagent lineage tree. |
| project | string | – | – |
| source_format | string | – | Conversation preserves dialogue structure and bypasses automatic CLI filters. |
| tags | array | – | – |
| type | string | yes | – |
No output schema declared.
No examples provided.
memory_save_fast ~160
v11.0: same as memory_save but routes through the fast hot path (skip_quality=True, no LLM, no async-blocking). Use when you want to bypass the v10 quality gate without flipping the env flag.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_id | string | – | Optional Claude Code subagent ID (v2.1.139+) |
| branch | string | – | – |
| content | string | yes | – |
| context | string | – | – |
| filter | string | – | – |
| importance | string | – | – |
| parent_agent_id | string | – | Optional parent agent ID (the dispatching span) |
| project | string | – | – |
| source_format | string | – | – |
| tags | array | – | – |
| type | string | yes | – |
No output schema declared.
No examples provided.
memory_search_by_tag ~57
Search knowledge by tag. Returns all active records with matching tag (partial match). Useful for categorical browsing.
| Name | Type | Req | Description |
|---|---|---|---|
| project | string | – | Filter by project (optional) |
| tag | string | yes | Tag to search for (partial match) |
No output schema declared.
No examples provided.
memory_search_fast ~116
v11.0: like memory_recall but with rerank=False, diverse=False forced. Deterministic fast path — zero LLM, FastEmbed-only.
| Name | Type | Req | Description |
|---|---|---|---|
| branch | string | – | – |
| detail | string | – | – |
| embedding_space | string|array | – | Filter to one or more embedding spaces (text|code|log|config). |
| fusion | string | – | – |
| limit | integer | – | – |
| project | string | – | – |
| query | string | yes | – |
| type | string | – | – |
No output schema declared.
No examples provided.
memory_self_assess ~57
Self-assessment: how competent am I in given domains? Shows level, confidence, blind spots.
| Name | Type | Req | Description |
|---|---|---|---|
| concepts | array | – | Domains/concepts to assess competency for |
| full_report | boolean | – | Return full self-model report |
No output schema declared.
No examples provided.
What is the Total Agent Memory MCP server?
Total Agent Memory is an MCP server listed in the public MCP registry as io.github.vbcherepanov/total-agent-memory. Persistent local memory for coding agents: temporal knowledge graph, procedural and episodic recall. This page covers its PyPI package (total-agent-memory).
Is the Total Agent Memory MCP server safe to use?
Total Agent Memory scores 48 out of 100 on VerifyMCP. We recorded 8 known advisories against it as of 20 September 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Total Agent Memory MCP server expose?
Total Agent Memory exposes 76 tools: memory_recall, memory_timeline, memory_index_passages, memory_answer, memory_save, and 71 more. Their descriptions and schemas cost roughly 7,122 tokens of context every time the server is loaded.
Is the Total Agent Memory MCP server still maintained?
Total Agent Memory is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.