| FMRS | 63 / 100 · C | 79 / 100 · B |
| Reliability | 10 / 20 | 12 / 20 |
|---|
| Security and permissions | 11 / 20 | 18 / 20 |
|---|
| Maintenance | 13 / 20 | 16 / 20 |
|---|
| Documentation | 15 / 20 | 18 / 20 |
|---|
| Setup experience | 14 / 20 | 15 / 20 |
| Best for | - Developers who want memory to stay entirely local instead of depending on a cloud vector database
- Users who switch between multiple MCP clients and need context to carry over
- Agent users who need code-structure awareness and change-impact analysis
- Self-hosters comfortable running a Python package or Docker container
| - Engineering teams scaling AI coding agents while controlling spend
- Platform teams that need auditable, rollback-aware agent execution records
- Organizations using multiple agents (Claude, Codex, Gemini) under one governed flow
|
| Not for | - Teams that require an officially hosted cloud service or SLA
- Pure API integrations that do not use an MCP client
- Restricted environments that cannot run local processes or containers
- Users expecting a fully managed zero-configuration cloud product
| - Developers who just want a simple code-completion helper without run governance
- Teams unwilling to accept local JSONL run records with HMAC signing
- Environments without a supported adapter (Claude/Codex/Gemini CLIs, direct provider, or verifier-only)
|
| Required permissions | - Read/write access to the local data directory (default ~/.marm/, or %USERPROFILE%\.marm\ on Windows) holding the SQLite memory database, index database, and logs
- HTTP mode binds to localhost:8001 by default and can be exposed to the network with SERVER_HOST=0.0.0.0
- Docker deployments need a mounted data volume, and code indexing needs read-only repo mounts
- Network access on first code-graph use to download the graph engine binary (~269MB, one time)
- Docker HTTP mode requires a MARM_API_KEY environment variable for Bearer authentication
| - Read/write access to the configured repo root (writable scope restrictable via --allow-path/--deny-path)
- Ability to invoke the chosen agent CLI (Claude/Codex/Gemini, etc.) and its underlying model account
- Local disk writes for run records, receipts, and share outputs (share/run-receipt., etc.)
- Execution of user-configured verifier commands (e.g. npm test)
|
| Risks and side effects | - Exposing the HTTP port with SERVER_HOST=0.0.0.0 without a firewall and TLS proxy can leave memory data reachable by unauthorized parties
- Memories and code index data are stored as plaintext SQLite files that any process able to read the directory can access
- In Docker, code-graph tools can only see mounted container paths; using host paths causes index failures
- Enabling write-time consolidation (CONSOLIDATION_ENABLED=1) raises median write cost from about 6.5ms to 58.1ms
- Recall latency temporarily increases while the concept-graph backlog drains (measured about 8ms to 16ms median on a real corpus)
- Graph tools degrade with an error if the graph engine fails to start, for example with no network on first download, a full disk, or schema drift
| - Verifier commands are executed; poorly chosen verifier commands carry security risk despite preflight policy checks
- Cost and token figures may be estimates (labeled with provenance) and should not be treated as settled accounting
- Receipt integrity must be verified before use as trustworthy evidence; missing rollback evidence is flagged as EVIDENCE_BOUNDARY
- Policy defaults come from martin.config.yaml and can be overridden by CLI flags; misconfiguration can loosen safety boundaries
|
| Supported clients | Claude Code, VS Code / GitHub Copilot Agent, Cursor, Codex, Gemini CLI, Qwen Code, xAI / Grok Remote MCP | Claude Code, Codex, Gemini CLI, Cursor, VS Code, GitHub Copilot, Continue |
| Tools | 14 | 0 |