Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Total Agent Memory

PYPI · TOTAL-AGENT-MEMORY

Persistent local memory for coding agents: temporal knowledge graph, procedural and episodic recall

Available components

0 this week 0 Trust /100

Last scanned (2 hours ago)

Scores higher than 0% of PyPI servers

Category Memory and Knowledge

Recent critical change

CVE-2026-112398 affects this package (29 Oct 2026). See the changelog before you install this server.

Trust breakdown (7 categories)

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 Security74
  • No malware found by supply-chain analysis.Pass
  • CVE check failed: an unpatched critical CVE affects this package; the score is capped at 0. See how to fix → View diagnostics → Fail
  • Runs setuptools.build_meta at install time, a recognised build step with no custom scripting around it. View diagnostics → Pass
  • Dependency health was assessed across the 119 of 121 dependencies we could resolve, so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency48
  • 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
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 6 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability66
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 8844 tokens (~111/item across 79 items; 79 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage82
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 46% 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 80 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

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Changelog

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.

  • 5 Nov 26 0
    • Stability: pass → unverified ▼ security
    • Malware scan: unverified → pass ▲ security
  • 4 Nov 26 0
    • Malware scan: pass → unverified ▼ security
  • 1 Nov 26 0
    • Malware scan: unverified → pass ▲ security
  • 31 Oct 26 0
    • Malware scan: pass → unverified ▼ security
    • Package version: 14.9.0 → 14.10.0 functional
  • 30 Oct 26 0
    • Malware scan: unverified → pass ▲ security
  • 29 Oct 26 −32
    • CVE-2026-112398 affects this package: none ▼ critical
    • CVE-2026-112403 affects this package: none ▼ critical
    • CVE-2026-96639 affects this package: none ▼ critical
    • CVE-2026-112393 affects this package: none ▼ critical
    • CVE-2026-112900 affects this package: none ▼ critical
    • Score status: scored → failed ▼ critical
    • Known CVEs: CVE check failed: an unpatched critical CVE affects this package; the score is capped at 0. critical
    • Malware scan: pass → unverified ▼ security
    • CVE-2026-45833 no longer affects this package ▲ security
    • CVE-2026-45829 no longer affects this package ▲ security
    • Injection markers: unverified → pass ▲ security
    • Stability: unverified → pass ▲ security
    • Schema quality: 8028 → 8844 ▼ functional
    • Tool coverage: unverified → 100 ▲ functional
    • MCP protocol: unverified → pass ▲ functional
    • Package version: 14.9.0 → 14.10.0 functional
  • 28 Oct 26 +15
    • Malware scan: unverified → pass ▲ security
    • Package version: 14.7.0 → 14.9.0 functional
  • 27 Oct 26 −15
    • Malware scan: pass → unverified ▼ security
Diagnostics

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 5 Nov 2026 · Analysed pypi/total-agent-memory@14.10.0

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem pypi
Reason No attestation published

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 67 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 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H 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
GHSA-22hg-r758-rrw9 CVE-2026-112390 high yes
GHSA-24rc-8hj2-v98c CVE-2026-96638 medium CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H yes
GHSA-254f-3936-288h CVE-2026-112391 medium yes
GHSA-27h8-gf7j-v5hc CVE-2026-112392 high yes
GHSA-332p-7hrc-92wf CVE-2026-112393 critical yes
GHSA-3j72-p6qg-6xp7 CVE-2026-96642 high yes
GHSA-4558-3h8r-v8xp CVE-2026-112394 medium yes
GHSA-462x-pgg6-55fp CVE-2026-112395 medium CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:L yes
GHSA-4rm8-3hmm-39fg CVE-2026-96641 medium CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H yes
GHSA-4rr5-89j8-mwwm CVE-2026-112396 medium CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H yes
GHSA-58r4-6rv3-gfh8 CVE-2026-112397 high yes
GHSA-5x8w-8jj5-q52h CVE-2026-112398 critical yes
GHSA-5xm2-6676-qcp9 CVE-2026-112399 high yes
GHSA-654x-cwwv-5j9c CVE-2026-114501 medium yes
GHSA-65qm-jvmh-6pqg CVE-2026-112400 high yes
GHSA-74r2-7ff9-mjj2 CVE-2026-112401 medium yes
GHSA-78g4-xqwv-q3g8 high CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H yes
GHSA-7mwm-ghpf-9vrm CVE-2026-112402 high yes
GHSA-8g5g-8vmr-9782 CVE-2026-112403 critical yes
GHSA-9v9v-9qvf-h2hj CVE-2026-96644 high yes
GHSA-c6hw-5grf-ff96 CVE-2026-112404 high yes
GHSA-cp9v-662q-vvx9 CVE-2026-112405 high yes
GHSA-f2g6-542v-9j58 CVE-2026-112406 high yes
GHSA-fc9g-5qg7-mf45 CVE-2026-112891 medium yes
GHSA-g4qv-2jxx-769h CVE-2026-96643 high yes
GHSA-g7cr-3p24-7wf7 CVE-2026-96778 high yes
GHSA-g842-9rc4-69pw CVE-2026-96637 high yes
GHSA-gg2r-wvfm-q9rx CVE-2026-112892 high yes
GHSA-j4m9-6w36-pw47 CVE-2026-112893 high yes
GHSA-jg86-v3jv-hrpm CVE-2026-112894 high yes
GHSA-mrfp-p49p-3hf2 CVE-2026-96640 high yes
GHSA-p4wg-p73j-c528 CVE-2026-112895 high yes
GHSA-p8hx-v2p6-rp84 CVE-2026-96636 medium CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H yes
GHSA-pchr-8j38-3x4p CVE-2026-112896 high yes
GHSA-q45j-58j2-45rg CVE-2026-112897 high yes
GHSA-rfgq-q3w2-pmv2 CVE-2026-112898 medium yes
GHSA-v9pv-5gc8-w2m6 CVE-2026-96639 critical CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H yes
GHSA-vx6w-vv9f-6gvg CVE-2026-112899 medium yes
GHSA-w889-685w-c8fh CVE-2026-112900 critical yes
GHSA-xgh8-jp6q-p5x8 CVE-2026-112901 medium yes
GHSA-xvh5-g6gv-559v CVE-2026-112902 high yes
PYSEC-2026-4326 CVE-2026-112392 high CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H yes

Showing 50 of 67 vulnerabilities.

Background: What a vulnerability scan can and cannot prove →

Dependencies 119 packages
Packages resolved 119
Stale 13
No linked repository 2
Tree resolution Partial

The dependency tree was only partially resolved, so these counts may be incomplete.

Background: SBOMs and build attestations, explained →

MCP tools · 79 exposed · ~8,625 tokens

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 →

Tool Tokens
analogize ~70

Find past solutions/lessons from OTHER projects whose feature set overlaps with the given problem text (Jaccard similarity).

NameTypeReqDescription
exclude_projectstring––
limitinteger––
min_scorenumber––
only_typesarray––
textstringyes–

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.

NameTypeReqDescription
scenarios_pathstring–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.

NameTypeReqDescription
descriptionstringyes–
projectstring––

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].

NameTypeReqDescription
limitinteger––
pathstringyes–
projectstring––

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.

NameTypeReqDescription
includearray–Extension allowlist e.g. ['.py','.go']
pathstringyes–
sample_limitinteger––

No output schema declared.

No examples provided.

kg_add_fact ~130

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.

NameTypeReqDescription
confidencenumber––
contextstring––
invalidate_previousboolean––
objectstringyes–
predicatestringyes–
projectstring––
subjectstringyes–
valid_fromstring–ISO 8601 time the fact became true; default now. Back-dated facts close and are closed by their neighbours.

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.

NameTypeReqDescription
limitinteger––
objectstring––
predicatestring––
projectstring––
subjectstring––
timestampstring–ISO 8601 or omit for now

No output schema declared.

No examples provided.

kg_invalidate_fact ~76

Close a currently-valid fact assertion. History is retained.

NameTypeReqDescription
atstring–ISO 8601 time the fact stopped being true; default now
objectstringyes–
predicatestringyes–
projectstring––
reasonstring––
subjectstringyes–

No output schema declared.

No examples provided.

kg_timeline ~46

Full chronological history of assertions for a subject.

NameTypeReqDescription
limitinteger––
predicatestring––
projectstring––
subjectstringyes–

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.

NameTypeReqDescription
categorystring––
errorstringyes–
filestringyes–
fixstringyes–
patternstringyes–
projectstring––
root_causestringyes–
severitystring––

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.

NameTypeReqDescription
limitinteger––
projectstring––
session_idstring––

No output schema declared.

No examples provided.

memory_answer ~228

Generate and verify a cited answer using the configured reasoning LLM. Evidence carries recording dates; when records about the same subject disagree, the latest one gives the current value and the answer names the value it replaced. First runs negative retrieval: a contradiction-seeking second search; a score >= 0.60 hands both sides to the reader and answers with a caveat (MEMORY_CONTRADICTION_POLICY=abstain refuses instead), 0.30-0.60 answers with a caveat (see `negative`); MEMORY_CONTRADICTION_SCORER=jev scores the pairs with TypeSafe's Jev instead of the LLM. Up to one missing-relation retrieval and eight LLM calls including inversion retry and bounded quote repair. Explicit project required. Citation offsets refer to returned evidence content. Ordinary recall remains local.

NameTypeReqDescription
branchstring––
followupboolean––
limitinteger––
max_bytesinteger––
projectstringyes–
querystringyes–
typestring––

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.

NameTypeReqDescription
max_resultsinteger––
min_coveragenumber–Min coverage for composition mode (0.0-1.0)
modestring–recall=find related, composition=build solution from parts
projectstring–Filter by project
querystringyesNatural language query

No output schema declared.

No examples provided.

memory_concepts ~60

List or search concepts in the knowledge graph.

NameTypeReqDescription
include_memoriesboolean–Include linked knowledge records
limitinteger––
querystring–Search concepts by name
typestring–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.

NameTypeReqDescription
dry_runboolean–If true, only show what would be merged
projectstring–Consolidate only this project (optional)
thresholdnumber–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.

NameTypeReqDescription
max_tokensinteger––
projectstring––
querystringyesWhat you need context for

No output schema declared.

No examples provided.

memory_delete ~97

Delete a knowledge record. By default a soft delete: the record leaves search results and vectors but stays in the database. hard=true erases it for good, with its earlier versions, derived rows and its text in the raw call log (use for personal data or anything that must not be kept).

NameTypeReqDescription
hardboolean–Erase permanently instead of hiding; cannot be undone
idintegeryesKnowledge 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.

NameTypeReqDescription
create_if_missingboolean––
mentionstringyes–
projectstring––
thresholdnumber–Cosine similarity threshold for embedding match.
typestring–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.

NameTypeReqDescription
conceptsarray––
limitinteger––
min_impactnumber––
outcomestring––
projectstring––
querystring–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.

NameTypeReqDescription
approaches_triedarray––
conceptsarray–Key concepts involved
frustration_signalsinteger––
impact_scorenumber–0.0-1.0, how significant
key_insightstring–The aha moment, if any
narrativestringyes2-3 sentence narrative of what happened
outcomestringyes–
projectstring––

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.

NameTypeReqDescription
fixture_pathstring––
modestring––

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.

NameTypeReqDescription
modestring––

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}.

NameTypeReqDescription
limitinteger–Cap how many scenarios to run.
modestring––
scenarios_pathstring–Optional override path.
top_kinteger––

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.

NameTypeReqDescription
modestring––
n_recordsinteger––
top_kinteger––

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.

NameTypeReqDescription
dataset_pathstring––
limitinteger––
modestring––
top_kinteger––

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.

NameTypeReqDescription
limitinteger––
modestring––

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.

NameTypeReqDescription
embedding_spacestring|array––
limitinteger––
projectstring––
querystringyes–
typestring––

No output schema declared.

No examples provided.

memory_exploration_recall ~147

Before re-reading files to answer a codebase question, look up earlier exploration conclusions. Results are ranked by question similarity; each carries status 'fresh' (every source file is byte-identical to when the conclusion was recorded: reuse it) or 'stale' (changed_files / missing_files list what to re-read).

NameTypeReqDescription
include_staleboolean–Also return memos whose files changed since recording
limitinteger–Maximum memos returned
projectstringyesProject name
questionstringyesThe question being asked now
root––Absolute project root to verify files against; default: the server's working directory

No output schema declared.

No examples provided.

memory_exploration_record ~194

Record the conclusion of a codebase exploration together with the SHA-256 of every file read to reach it. Call it after answering a structural question by reading files (how X is wired, where Y is decided). Paths are stored relative to `root` (default: the server's working directory); files outside root are refused. Up to 64 files of at most 32 MB each. Recording the same question again for the project replaces the earlier memo.

NameTypeReqDescription
conclusionstringyesWhat was concluded, self-contained enough to reuse without re-reading
filesarrayyesFiles read to reach the conclusion: paths relative to root, or absolute paths inside root
projectstringyesProject name
questionstringyesThe question the exploration answered, e.g. 'how is auth wired?'
root––Absolute project root directory; default: the server's working directory

No output schema declared.

No examples provided.

memory_export ~64

Export all knowledge as JSON for backup or migration. Includes knowledge, sessions, relations and the agent action log.

NameTypeReqDescription
projectstring–Export only this project (optional)
save_to_fileboolean–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.

NameTypeReqDescription
actionstringyeslist: show pending sessions. get: return transcript data. complete: mark as done.
chunkinteger–Chunk number for large transcripts (0-based)
session_idstring–Session ID (required for 'get' and 'complete')

No output schema declared.

No examples provided.

memory_forget ~70

Apply retention policy: archive stale records (>180d, never recalled, low confidence), purge very old archived records (>365d), prune the agent action log past TAM_ACTION_LOG_RETENTION_DAYS. Keeps memory clean.

NameTypeReqDescription
dry_runboolean–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=[...]).

NameTypeReqDescription
detailstring–'summary' truncates content to 150 chars, 'full' returns everything
idsarrayyesKnowledge 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.

NameTypeReqDescription
depthinteger–Traversal depth (1-3)
nodestringyesNode name or ID to explore
typesarray–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.

NameTypeReqDescription
targetstring––

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.

NameTypeReqDescription
idintegeryesKnowledge 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.

NameTypeReqDescription
after_idinteger––
limitinteger––
projectstringyes–

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.

NameTypeReqDescription
files_affectedarray–List of affected file paths
observation_typestring–Type of observation
projectstring––
summarystringyesWhat happened (e.g. 'Modified auth controller')
tool_namestringyesWhich 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}.

NameTypeReqDescription
batch_sizeinteger––
embedding_spacestring|array–Optional: only re-encode rows in these spaces.
limitinteger––
projectstring––

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 ~749

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.

NameTypeReqDescription
as_ofstring–ISO date or datetime that relative dates in the query ('last month', 'three weeks ago', 'yesterday') are counted from. Default: now.
branchstring–Filter by git branch (also includes branch-agnostic records)
context_max_charsinteger–Context character budget; evidence mode uses the same value as a stricter UTF-8 byte budget.
decisions_onlyboolean–Return only structured decisions (v8.0): type=decision AND tags contain 'structured'. Results include parsed schema payload under 'decision'.
detailstring–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…
diverseboolean–Enable MMR diversity to reduce redundant results (useful for broad queries)
entitiesarray–Filter by extracted entity names (technology/person/project, case-insensitive)
evidence_followupboolean–Evidence mode: allow one search for an explicitly supplied missing_relation.
expand_budgetinteger–Max number of additional records to include via graph expansion
expand_contextboolean–Add graph-related records (1-hop neighbors via knowledge graph) as 'expansion' results
fill_budgetboolean–Context mode: search deeper (up to 100 hits) and keep whole hits in rank order until context_max_chars is used, instead of excerpting the top `limit` hits to fit. Neighbours default to 0 here; pass `…
fusionstring–Score fusion method: 'rrf' = Reciprocal Rank Fusion (better multi-tier ranking), 'legacy' = original additive scoring
intentstring–Filter by classified intent (question|procedural|fact|decision|problem|solution|incident|plan)
limitinteger––
missing_relationobject–Evidence mode: missing relation; subject must occur in the original question.
modestring–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…
neighborsinteger–Timeline/context modes: records before/after each hit; context accepts 0–3.
projectstring–Filter by project name
querystringyesWhat to search for
rerankboolean–Enable CrossEncoder re-ranking for higher precision (adds ~30ms latency)
topicsarray–Filter results to records tagged with any of these topics (from deep enrichment)
typestring––

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.

NameTypeReqDescription
k_per_iterinteger––
llm_modelstring––
max_itersinteger––
projectstring––
querystringyes–

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.

NameTypeReqDescription
scopestring–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.

NameTypeReqDescription
from_idintegeryesSource knowledge record ID
to_idintegeryesTarget knowledge record ID
typestringyesRelation type

No output schema declared.

No examples provided.

memory_report ~436

Activity report for a project (or all projects) over a period: today (period=day), this week (week, ISO Monday-Sunday), this month (month), all time (all) or custom since/until dates; offset=-1 gives the previous day/week/month ('last week'). Sections: summary numbers with deltas against the previous equal period, key decisions with their WHY, solutions and fixes, errors with recurring patterns and lessons, open next steps and pitfalls from session summaries, most touched files, entities/technologies, and a day-by-day timeline. Every item carries source IDs (#id -> memory_get). Built deterministically from stored records, no LLM; include_llm_summary=true adds an optional paragraph from the configured LLM. Periods use the local timezone (or tz). save=true writes the Markdown to <memory dir>/reports/<project>/<period>-<date>.md. Use it when the user asks what happened, for a status/progress report, a weekly summary or a retrospective.

NameTypeReqDescription
formatstring–markdown (readable) or json (structured)
include_llm_summaryboolean–Add an LLM-written paragraph (needs a configured LLM)
limitinteger–Maximum items per section
offsetinteger–day/week/month only: 0 = current, -1 = previous (yesterday, last week, last month)
periodstring–day = today, week = this ISO week, month = this calendar month, all = since the first record, custom = since/until
project––Project name; omit for all projects
saveboolean–Also write the Markdown under <memory dir>/reports/
since––custom only: first day YYYY-MM-DD (inclusive) or an ISO date-time
tz––IANA timezone for period boundaries, e.g. Europe/Berlin; default: MEMORY_REPORT_TZ, TZ or the system zone
until––custom only: last day YYYY-MM-DD (inclusive) or an ISO date-time (exclusive); default today

No output schema declared.

No examples provided.

memory_save ~514

Save knowledge explicitly. Types: decision (MUST include WHY in context), solution, lesson, fact, convention. Saving the same words again (case and punctuation aside) replaces the stored record, so it carries the latest date; any other text, including a changed value, is stored as a new record. 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.

NameTypeReqDescription
agent_idstring–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.
branchstring–Git branch this knowledge relates to
contentstringyesThe knowledge to save
contextstring–Additional context, WHY for decisions
corefboolean–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.
filterstring–Optional content filter (pytest|cargo|git_status|docker_ps|generic_logs). Trims noisy CLI output while preserving URLs/paths/code.
importancestring–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_idstring–Optional parent agent ID (the dispatching Agent tool / parent span). Together with agent_id forms the subagent lineage tree.
projectstring––
source_formatstring–Conversation preserves dialogue structure and bypasses automatic CLI filters.
supersedeboolean–Retire active records of the same project and type that this one gives a new value for: same opening words, different trailing value ("X's citizenship is Argentina" -> "... is Armenia"). Use for sing…
tagsarray––
typestringyes–

No output schema declared.

No examples provided.

memory_save_fast ~185

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.

NameTypeReqDescription
agent_idstring–Optional Claude Code subagent ID (v2.1.139+)
branchstring––
contentstringyes–
contextstring––
filterstring––
importancestring––
parent_agent_idstring–Optional parent agent ID (the dispatching span)
projectstring––
source_formatstring––
supersedeboolean–Same as memory_save.supersede: retire records this one gives a new value for.
tagsarray––
typestringyes–

No output schema declared.

No examples provided.

Install

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

# add to Claude Code
claude mcp add vbcherepanov-total-agent-memory -- uvx total-agent-memory
Common questions

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).

What tools does the Total Agent Memory MCP server expose?

Total Agent Memory exposes 79 tools: memory_recall, memory_timeline, memory_index_passages, memory_answer, memory_save, and 74 more. Their descriptions and schemas cost roughly 8,625 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 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the Total Agent Memory MCP server under?

Total Agent Memory declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.