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 →
memory_skill_get ~57
Find skills matching a trigger. Skills are learned procedures — HOW to do things.
| Name | Type | Req | Description |
|---|---|---|---|
| list_all | boolean | – | – |
| name | string | – | Get skill by exact name |
| trigger | string | – | Natural language trigger to match |
No output schema declared.
No examples provided.
memory_skill_update ~79
Record skill usage or refine a skill. Updates success rate and metrics.
| Name | Type | Req | Description |
|---|---|---|---|
| new_anti_pattern | string | – | Anti-pattern learned from failure |
| new_steps | array | – | Additional steps to add |
| notes | string | – | – |
| skill_id | string | yes | Skill ID |
| success | boolean | yes | Was the skill application successful? |
No output schema declared.
No examples provided.
memory_stats ~40
Memory statistics with health metrics: sessions, knowledge by type/project, retention zones (active/archived/consolidated), stale records, storage size, config.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
memory_temporal_query ~152
v11.0 W1-C: deterministic temporal reasoning — Allen interval relations, duration arithmetic (days/weeks/months/years), and natural-language date normalization (en + ru). Pass op=relation|duration_between|normalize.
| Name | Type | Req | Description |
|---|---|---|---|
| a | string | – | ISO datetime — duration_between |
| a_end | string | – | – |
| a_start | string | – | ISO datetime — relation only |
| anchor | string | – | ISO datetime anchor for relative phrases |
| b | string | – | – |
| b_end | string | – | – |
| b_start | string | – | – |
| lang | string | – | – |
| op | string | yes | – |
| phrase | string | – | Natural-language date — normalize |
No output schema declared.
No examples provided.
memory_timeline ~99
Browse session history. sessions_ago=N for 'N sessions ago', session_number=1 for first session, date_from/date_to for date ranges.
| Name | Type | Req | Description |
|---|---|---|---|
| date_from | string | – | YYYY-MM-DD |
| date_to | string | – | YYYY-MM-DD |
| limit | integer | – | – |
| project | string | – | – |
| query | string | – | – |
| session_number | integer | – | – |
| sessions_ago | integer | – | – |
No output schema declared.
No examples provided.
memory_update ~62
Update existing knowledge. Finds old by search query, supersedes it, creates new version.
| Name | Type | Req | Description |
|---|---|---|---|
| find | string | yes | Search query to find the old knowledge |
| new_content | string | yes | New content to replace with |
| reason | string | – | Why updating |
No output schema declared.
No examples provided.
memory_warmup ~40
v11.0: pre-load FastEmbed model and open the vector store, so the first save/search after process start doesn't pay model-load latency.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
memory_wiki_generate ~88
v10 — Render the per-project wiki digest (top decisions, active solutions, conventions, recent changes) as Markdown. Pass `project` to refresh one wiki, omit it to refresh all active projects. Files land in <MEMORY_DIR>/wikis/<project>.md and are deterministic (no LLM call).
| Name | Type | Req | Description |
|---|---|---|---|
| project | string | – | Project to refresh (omit for all) |
No output schema declared.
No examples provided.
phase_transition ~51
v8.0: advance a task to the next phase.
| Name | Type | Req | Description |
|---|---|---|---|
| artifacts | object | – | – |
| new_phase | string | yes | – |
| notes | string | – | – |
| task_id | string | yes | – |
No output schema declared.
No examples provided.
rule_set_phase ~95
Attach or remove a phase scope on a rule (v8.0 lazy rule loading). Tag-based: manages 'phase:<X>' on the rule's tags. phase=null clears the phase tag (rule becomes core — applies to every phase). Valid phases: van, plan, creative, build, reflect, archive.
| Name | Type | Req | Description |
|---|---|---|---|
| phase | string|null | – | Phase name or null to clear. |
| rule_id | integer | yes | – |
No output schema declared.
No examples provided.
save_decision ~166
v8.0: save a structured architectural decision (options + criteria matrix + rationale + discarded). Adds `structured` tag and a JSON blob in context. Use for Creative-phase outputs; plain type=decision memory_save still works.
| Name | Type | Req | Description |
|---|---|---|---|
| criteria_matrix | object | yes | criterion -> {option_name: rating 0-5} |
| discarded | array | – | Option names rejected (subset of options - {selected}) |
| options | array | yes | Options considered: [{name, pros[], cons[], unknowns[]}, ...] |
| project | string | – | – |
| rationale | string | yes | Why this option was chosen |
| selected | string | yes | Chosen option name (must be in options) |
| tags | array | – | – |
| title | string | yes | Short decision title |
No output schema declared.
No examples provided.
save_intent ~94
Persist one user prompt into the `intents` table (same source as the UserPromptSubmit hook). Use when programmatically seeding intents — the hook covers normal interactive usage. Dedupes same prompt within 5 min per session.
| Name | Type | Req | Description |
|---|---|---|---|
| project | string | – | Project slug |
| prompt | string | yes | User prompt text as submitted |
| session_id | string | – | Session id (defaults to current MCP session) |
No output schema declared.
No examples provided.
search_intents ~65
Substring search over user prompts (LIKE). Returns newest match first. Useful for 'what did I ask about X' without mining transcripts.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| project | string | – | – |
| query | string | yes | Substring to match in prompt text |
No output schema declared.
No examples provided.
self_error_log ~139
Log an error/failure for pattern analysis. Call AUTOMATICALLY when: bash command fails, wrong assumption discovered, API returns error, config issue found, loop detected, or any mistake occurs. System detects patterns (3+ same category) and suggests insights.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | yes | Error category for pattern grouping |
| context | string | – | What was being done when error occurred |
| description | string | yes | What went wrong: symptom, expectation vs reality |
| fix | string | – | How it was fixed (empty if unresolved) |
| project | string | – | – |
| severity | string | – | – |
| tags | array | – | – |
No output schema declared.
No examples provided.
self_insight ~172
Manage insights from error patterns (ExpeL-style). Actions: add (create, importance=2), upvote (+1), downvote (-1, auto-archive at 0), edit, list, promote (to rule when importance>=5 AND confidence>=0.8). Call 'add' when pattern detected. Call 'upvote' when insight confirmed again.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| category | string | – | Error category (for add) |
| content | string | – | Insight text (for add/edit) |
| context | string | – | – |
| id | integer | – | Insight ID (for upvote/downvote/edit/promote) |
| project | string | – | – |
| source_error_ids | array | – | Error IDs that spawned this (for add) |
| tags | array | – | – |
No output schema declared.
No examples provided.
self_patterns ~85
Analyze error patterns and self-improvement stats. Views: error_patterns (frequency, repeating 3+), insight_candidates (ready for promotion), rule_effectiveness (success rates, stale rules), improvement_trend (weekly errors), full_report (all). Call periodically to track improvement.
| Name | Type | Req | Description |
|---|---|---|---|
| days | integer | – | – |
| project | string | – | – |
| view | string | – | – |
No output schema declared.
No examples provided.
self_reflect ~107
Save a verbal self-reflection (Reflexion pattern). Call after completing a task or encountering difficulty. NOT for errors (use self_error_log). For meta-observations about strategy, approach effectiveness, process improvements.
| Name | Type | Req | Description |
|---|---|---|---|
| outcome | string | – | – |
| project | string | – | – |
| reflection | string | yes | What went well, what to improve, what to do differently |
| tags | array | – | – |
| task_summary | string | yes | Brief description of what was done |
No output schema declared.
No examples provided.
self_rules ~174
Manage behavioral rules (SOUL). Rules are promoted insights that shape agent behavior. Actions: list, fire (record relevance), rate (success=true/false), suspend, activate, retire, add_manual. Auto-suspend: success_rate < 0.2 after 10+ fires.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| category | string | – | Category (for add_manual) |
| content | string | – | Rule text (for add_manual) |
| id | integer | – | Rule ID (for fire/rate/suspend/activate/retire) |
| priority | integer | – | 1-10 |
| project | string | – | – |
| scope | string | – | global | project:<name> | category:<name> |
| success | boolean | – | For rate: was rule helpful? |
| tags | array | – | – |
No output schema declared.
No examples provided.
self_rules_context ~142
Get active behavioral rules for current session. Call at SESSION START to load rules. Returns rules filtered by project and scope. v8.0: pass `phase` to lazy-load rules relevant to current task phase — core rules (no phase tag) + rules tagged phase:<X>. Cuts prompt tokens ~70%. After task completion, rate rules: self_rules(action='rate', id=X, success=true/false).
| Name | Type | Req | Description |
|---|---|---|---|
| categories | array | – | Error categories relevant to current task |
| phase | string | – | Optional: lazy-load only rules relevant to this phase (core + phase-specific). Omit to get all rules. |
| project | string | – | – |
No output schema declared.
No examples provided.
session_end ~132
End-of-session capture: summary + highlights + pitfalls + next_steps so the next session can resume cleanly. Set auto_compress=true to have the LLM generate the missing summary/next_steps/pitfalls from stored session artifacts (or from an optional `transcript`).
| Name | Type | Req | Description |
|---|---|---|---|
| auto_compress | boolean | – | – |
| highlights | array | – | – |
| next_steps | array | – | – |
| open_questions | array | – | – |
| pitfalls | array | – | – |
| project | string | – | – |
| session_id | string | yes | – |
| summary | string | – | – |
| transcript | string | – | – |
No output schema declared.
No examples provided.
session_init ~47
At session start: return the most recent unconsumed end-of-session summary with highlights / pitfalls / next_steps.
| Name | Type | Req | Description |
|---|---|---|---|
| mark_consumed | boolean | – | – |
| project | string | – | – |
No output schema declared.
No examples provided.
task_create ~51
v8.0: start a task in `van` phase (auto-classifies level if missing).
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | yes | – |
| level | integer | – | – |
| task_id | string | yes | – |
No output schema declared.
No examples provided.
task_phases_list ~33
v8.0: list all phases of a task in chronological order.
| Name | Type | Req | Description |
|---|---|---|---|
| task_id | string | yes | – |
No output schema declared.
No examples provided.
workflow_learn ~66
Record a learned workflow (named sequence of steps) for future reuse.
| Name | Type | Req | Description |
|---|---|---|---|
| context | object | – | – |
| description | string | – | – |
| name | string | yes | – |
| project | string | – | – |
| steps | array | yes | – |
| trigger_pattern | string | – | – |
No output schema declared.
No examples provided.
workflow_predict ~57
Predict outcome (success probability, avg duration) for a workflow by id OR by trigger keyword. Uses Laplace-smoothed success rate.
| Name | Type | Req | Description |
|---|---|---|---|
| project | string | – | – |
| trigger | string | – | – |
| workflow_id | string | – | – |
No output schema declared.
No examples provided.
workflow_track ~70
Record a workflow execution outcome. Outcome ∈ {success|failure|partial|aborted}. Aggregates update automatically.
| Name | Type | Req | Description |
|---|---|---|---|
| duration_ms | integer | – | – |
| error_details | string | – | – |
| notes | string | – | – |
| outcome | string | yes | – |
| workflow_id | string | yes | – |
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.