Shared long-term memory for AI coding agents. One store for Claude Code, Codex, opencode and anything that speaks MCP. Runs locally or on your own server.
memgw provides 12 tools with mostly complete schemas and descriptions. Naming is verb-forward (capture, search, facts, flush, retention, health, stats). Descriptions average ~120 chars, meeting baseline minimums. However, several tools lack output schema documentation, parameter descriptions are sometimes generic, and error handling guidance is minimal. Tools like 'facts/forget' and 'retention' are destructive but lack confirmation patterns or dry-run defaults. No tool annotations (readOnlyHint, destructiveHint) are present in the MCP registration.
Retrieve profile, topic index, and tool guidance for session start
Accept a batch of turns (user/assistant messages) from an agent session and store them as events for later extraction
Write a fact directly, bypassing extraction
Retire facts matching a query (dry-run by default, requires confirm=true to apply)
Force immediate worker run to extract facts from pending events
Force immediate notes update run
Health check endpoint reporting config, LLM status, embeddings status, and uptime
Destructive tools (facts/forget, retention) lack confirmation patterns. facts/forget has a dry-run mode but retention does not default to dry_run=true, risking accidental data loss.
Output schemas are not documented for most tools. bootstrap, stats, health, and search/* tools return JSON but the response structure is not formally specified in the tool definition.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) are present. MCP spec 2026-07-28 supports these to help clients understand tool safety; memgw does not use them.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
Read a markdown file from the data directory (traversal and symlink escapes blocked)
Run data retention policy to delete old facts and events
Search events using hybrid search with optional session filtering
Search facts using hybrid search (keyword + semantic) with optional filtering by topic and type
Get store statistics: event counts, fact counts, vector counts, by-source and by-type breakdowns, recent worker runs
Error handling lacks recovery guidance. Tools do not return actionable error messages (e.g., 'Search returned no results. Try a broader query or check topic filter.').
Parameter descriptions are sometimes generic. 'Optional topic filter' and 'Optional session filter' lack detail on what topics/sessions are valid or how to discover them.