agent-working-memory (CompleteIdeas/agent-working-memory) is an MCP server listed on the M8ven Trust Index. It scores 66 out of 100, grade C. It declares 13 tools. No publisher has claimed this listing.
Persistent, local-first memory for AI agents. Selective by design: filters what's worth keeping, links what's related, and says nothing when it doesn't know. SQLite + ONNX, no cloud, no API keys.
Caution. Specific findings reduced this grade. They are listed on the page. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.
How we verified
Verified is a snapshot. Live keeps it current, and builds your track record.
⚡ Connect GitHub → continuous verification on every pushwhy connect →Who stands behind it
CompleteIdeas
Source: github_repo_search
Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →
Install from
The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.
These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.
coord_checkinRegister or heartbeat an agent in the hive. Call at session start and periodically.
coord_checkoutSign off from the hive. Releases all locks and marks agent as dead. Call at session end.
coord_assignCreate a task assignment. Orchestrator uses this to dispatch work to agents.
coord_assignmentGet your current assignment, or auto-claim the next pending task. Call this to find out what to work on.
coord_assignment_updateReport progress or completion of an assignment. Set status to in_progress, completed, failed, or blocked.
coord_lockAcquire a file lock to prevent concurrent edits by other agents.
coord_unlockRelease a file lock you hold.
coord_locksList all currently held file locks across all agents.
coord_commandIssue a broadcast command to all agents. Orchestrator only. Commands: BUILD_FREEZE, PAUSE, RESUME, SHUTDOWN.
coord_command_pollCheck for active commands from the orchestrator. Call periodically to stay responsive to BUILD_FREEZE, PAUSE, etc.
coord_workersList available workers in the hive. Filterable by capability, status, and workspace.
coord_findingReport a finding (bug, issue, suggestion) discovered during work.
coord_statusGet a full dashboard view of the hive: agents, assignments, locks, findings, and stats.
memory_writebehind configStore a memory. The salience filter decides whether it's worth keeping (active), needs more evidence (staging), or should be discarded. CALL THIS PROACTIVELY — do not wait to be asked. Write memories when you: - Discover something about the codebase, bugs, or architecture - Make a decision and want…
memory_recallbehind configRecall memories relevant to a query. Uses cognitive activation — not keyword search. ALWAYS call this when: - Starting work on a project or topic (recall what you know) - Debugging (recall similar errors and solutions) - Making decisions (recall past decisions and outcomes) - The user mentions a to…
memory_feedbackbehind configReport whether a recalled memory was actually useful. This updates the memory's confidence score — useful memories become stronger, useless ones weaken. Always call this after using a recalled memory so the system learns what's valuable.
memory_retractbehind configRetract a memory that turned out to be wrong. Creates a correction and reduces confidence of related memories. Use this when you discover a memory contains incorrect information.
memory_supersedebehind configReplace an outdated memory with a newer one. Unlike retraction (which marks memories as wrong), supersession marks the old memory as outdated but historically correct. Use this when: - A status or count has changed (e.g., "5 reviews done" → "7 reviews done") - Architecture or infrastructure evolved…
memory_whoamibehind configIdentify THIS AWM instance — agent id, mode (standalone/hive), backend, store path, code provenance, ports, and the sibling agent spaces present in the same store. Call when unsure which AWM instance or memory space you are talking to.
memory_statsbehind configGet memory health stats — how many memories, confidence levels, association count, and system performance. Also shows the activity log path so the user can tail it to see what's happening.
memory_checkpointbehind configSave your current execution state so you can recover after context compaction. ALWAYS call this before: - Long operations (multi-file generation, large refactors, overnight work) - Anything that might fill the context window - Switching to a different task Also call periodically during long sessio…
memory_restorebehind configRestore your previous execution state after context compaction or at session start. Returns: - Your saved execution state (task, decisions, next steps, files) - Recently recalled memories for context - Your last write for continuity - How long you were idle Use this at the start of every session o…
onboard_scanbehind configScan a project's documentation + repository and return CANDIDATE memories to seed a cold store. Use this when the store is empty / you're new to a project. The scan is deterministic (real file contents, not guesses) — YOUR job is to refine the candidates into atomic, recall-shaped memories, run the…
onboard_questionsbehind configReturn the onboarding interview questions. Ask the user ONE at a time, starting with the goal of the memory system, and ask follow-ups for clarity. Turn each answer into a canonical memory.
memory_task_addbehind configCreate a task that you need to come back to. Tasks are memories with status and priority tracking. Use this when: - You identify work that needs doing but can't do it right now - The user mentions something to do later - You want to park a sub-task while focusing on something more urgent Tasks aut…
memory_task_updatebehind configUpdate a task's status or priority. Use this to: - Start working on a task (open → in_progress) - Mark a task done (→ done) - Block a task on another (→ blocked) - Reprioritize (change priority) - Unblock a task (clear blocked_by)
memory_task_listbehind configList tasks with optional status filter. Shows tasks ordered by priority (urgent first). Use at the start of a session to see what's pending, or to check blocked/done tasks.
memory_task_nextbehind configGet the single most important task to work on next. Prioritizes: in_progress tasks first (finish what you started), then by priority level, then oldest first. Skips blocked and done tasks. Use this when you finish a task or need to decide what to do next.
memory_task_beginbehind configSignal that you're starting a significant task. Auto-checkpoints current state and recalls relevant memories. CALL THIS when starting: - A multi-step operation (doc generation, large refactor, migration) - Work on a new topic or project area - Anything that might fill the context window This ensur…
memory_task_endbehind configSignal that you've finished a significant task. Writes a summary memory and auto-checkpoints. CALL THIS when you finish: - A multi-step operation - Before switching to a different topic - At the end of a work session This captures what was accomplished so future sessions can recall it.
compress_outputbehind configCompress a STRUCTURED tool output (JSON object/array, query rows, log records) into TOON — a compact, schema-aware tabular encoding — before putting it in your context. Cuts ~50-65% of the tokens on uniform arrays at zero comprehension cost (validated: models read TOON as accurately as JSON). Use th…
retrieve_originalbehind configRetrieve the verbatim original text for a 'ref' returned by compress_output. Use this when you need the exact, uncompressed source (e.g. to pass it to another tool unchanged). Returns an error if the ref has expired (originals are kept for the most recent compressions only).
Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.
When Vitest UI server is listening, arbitrary file can be read and executed
TOON: Prototype pollution when decoding untrusted TOON input
Fastify has a Body Schema Validation Bypass via Leading Space in Content-Type Header
fastify: request.protocol and request.host Spoofable via X-Forwarded-Proto/Host from Untrusted Connections
fastify vulnerable to schema validation bypass via root primitive coercion mismatch
AWM_ABSTAIN_GATE_KAWM_AGENT_IDAWM_ALIASESAWM_ALIAS_MAPAWM_ALIAS_QUERY_CAPAWM_API_KEYAWM_BINDAWM_BROAD_EDGESAWM_BROAD_EDGES_MAXAWM_CACHE_DIRAWM_CLIENTAWM_CONF_CLIFF_WAWM_CONF_FLOOR_WAWM_CONF_SHARPNESS_WAWM_CONNECTION_COLD_START_THRESHOLDAWM_CONSOLIDATION_CRONAWM_COORDINATIONAWM_COORD_REQUIRE_TOKENSAWM_DATABASE_URLAWM_DB_PATHAWM_DEFAULT_EXPANSIONAWM_DISABLE_EXPANSION_CACHEAWM_DISABLE_POOL_FILTERAWM_DISABLE_SCHEDULERAWM_DISABLE_SLIM_CACHEAWM_EMBED_DIMSAWM_EMBED_MODELAWM_EMBED_POOLINGAWM_ENTITY_FETCH_CAPAWM_ENTITY_FETCH_SEEDSAWM_ENTITY_INDEX_CAPAWM_FADE_DAYS_SINCE_ACCESSAWM_FADE_KEEP_CHARSAWM_FADE_MAX_PER_CYCLEAWM_FADE_MIN_CONTENT_LENAWM_FEEDBACK_NAMESAWM_FEEDBACK_VERBSAWM_GRANULARITY_AUTO_THRESHOLDAWM_GRANULARITY_COMPACT_LENAWM_GRANULARITY_FULL_LENAWM_HOOK_PORTAWM_HOOK_PORT_RANGEAWM_HOOK_SECRETAWM_INCOGNITOAWM_IVFFLAT_PROBESAWM_PACKAGE_ROOTAWM_PGLITE_BM25_MAWM_PG_POOL_MAXAWM_PLUGINSAWM_PORTAWM_PROFILE_WRITEAWM_QUERY_BRIDGE_CAPAWM_QUERY_BRIDGE_FLOORAWM_QUERY_BRIDGE_WEIGHTAWM_REINFORCE_MAX_CONTENT_LENAWM_RERANK2AWM_RERANK2_KAWM_RERANKER_MODELAWM_RERANK_POOLAWM_RERANK_TAGSAWM_RERANK_TAGS_LENAWM_RERANK_TRUNCAWM_RETRIEVAL_TEXTAWM_SETUP_HOMEAWM_SIM_CANDIDATE_FLOOR_EXPLORATORYAWM_SIM_CANDIDATE_FLOOR_TARGETEDAWM_SIM_FLOOR_EXPLORATORYAWM_SIM_FLOOR_TARGETEDAWM_SLOW_WRITE_MSAWM_SNIPPET_WEIGHTAWM_SPREAD_BOOSTAWM_SPREAD_BUDGETAWM_SPREAD_DAMPINGAWM_SPREAD_INHIBITAWM_SPREAD_INJECTAWM_SPREAD_INJECT_CAPAWM_SPREAD_INJECT_MINAWM_SPREAD_INJECT_SCALEAWM_SPREAD_ITERSAWM_STORE_BACKENDAWM_TEMPORALAWM_TEMPORAL_BOOSTAWM_TOPN_MULTAWM_WORKSPACEAWM_WRITE_PIPELINECLAUDE_PROJECT_DIRHF_HOMEWORKER_NAMETool annotations
No tools have read-only/destructive annotations
Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.
All four hints declared on every tool
32/32 tools missing one or more hints — coord_checkin (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); coord_checkout (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); coord_assign (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +29 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.
For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.
Tool test coverage
21/32 tools referenced in tests (66%)
Write tests that reference each tool by name so every tool has at least one test.
No eval / new Function
6 eval() or new Function() calls — dynamic code execution
Replace eval / Function with explicit parsing or safer alternatives.
Shell command execution
1 call in production code run through a shell (src/cli.ts:310)
Prefer library functions over shell-outs. If you must shell out, ensure all inputs are properly escaped.
Production dependencies are patched
0 critical, 2 high severity in production deps — @toon-format/toon@2.3.0 (high), fastify@5.8.2 (high)
Run npm audit fix, or upgrade the affected packages to a non-vulnerable version.
Dev dependencies
1 critical/high in dev-only deps (does not ship to users)
Upgrade dev dependencies when convenient.
Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.
[](https://m8ven.ai/mcp/completeideas/agent-working-memory)?variant=verified from the URL.Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.
https://m8ven.ai/api/mcp/tool-check