Catalog PyPI
Back to packageRELEASE DETAILS

0.3.0

PyPI

acm-memory

Consented, local, auditable autobiographical memory for MCP hosts (Claude Desktop and others), judged by a local model

claudelocal-firstmcpmemorymodel-context-protocolollama
Published19 Aug 2026
Direct dependencies6
Transitive dependenciesNot calculated

README

Version 0.3.0 documentation

acm-memory

Consented, local, auditable autobiographical memory for your AI assistant.

acm-memory is an MCP (Model Context Protocol) server that gives any MCP-capable assistant — Claude Desktop is the primary target — durable memory of the facts you choose to store. Tell your assistant where you keep the spare key today, and it still knows next month, in a new conversation, after a restart.

What makes it different

  • Nothing is stored without your explicit confirmation. Every proposed memory is shown to you verbatim first — in Claude Desktop, as an interactive consent card. A statement that smells like an instruction rather than a fact is refused at commit time even after you say yes.
  • Remembers how you like to be answered. Tell it your preferred tone, wording, or format, and it keeps each as an auditable, consented preference: shown verbatim, then stored as a normalized "prefers ..." line rather than a standing instruction planted in memory. Preferences on different style axes (tone, format, verbosity, vocabulary, language, examples) coexist; a newer preference on the same axis replaces the earlier one on that axis.
  • Corrections supersede; history stays visible. When a fact changes, the old value is marked superseded, never silently overwritten — and you can ask to see the full history, or exactly what the model was shown, at any time.
  • Forget means forget. Forgetting a fact tombstones its entire history through every rebuild, with a receipt. It cannot come back.
  • Local by construction. Facts live on your machine. The only model acm-memory itself ever calls is a local judge (gemma4:12b via Ollama on loopback). No telemetry, no cloud calls of its own, no background capture — an MCP server only ever sees explicit tool calls.
  • Auditable. A consent journal records every confirmation, denial, and forget — including how consent arrived (card click vs. model-relayed). Every read is access-logged per client.

Requirements

  • Windows 10/11 (first tester round), 16 GB RAM minimum; a GPU with 8 GB+ VRAM is recommended (CPU-only works, slower).
  • Ollama with the gemma4:12b model (~7.2 GB one-time download — acm-doctor --pull handles it).
  • An MCP host (Claude Desktop recommended; consent cards render there).

Install

uv tool install acm-memory
acm-doctor --pull

Then register the server in your MCP host. For Claude Desktop, add to claude_desktop_config.json (use the absolute path to the installed shim, e.g. %USERPROFILE%\.local\bin\acm-memory-mcp.exe on Windows):

{ "mcpServers": { "acm-memory": { "command": "<absolute path to acm-memory-mcp>", "args": [] } } }

acm-doctor verifies the install end to end (doctor=PASS). Memory lives in ~/.acm/memory (override with ACM_WORKSPACE).

Status

Evaluation release for testers. The memory behavior behind this package was qualified against a measured production baseline (2,209/2,210 across twelve scenario arms) with a pinned local judge. Feedback via the in-chat report_issue tool.

License

Proprietary — evaluation use. See LICENSE.txt.

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 6

Native requirements
6 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
httpx
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.11",
  "evaluation": "NOT_EVALUATED"
}
httpx>=0.27runtime
numpy
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.11",
  "evaluation": "NOT_EVALUATED"
}
numpy>=1.26runtime
mcp
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.11",
  "evaluation": "NOT_EVALUATED"
}
mcp<2,>=1.28runtime
pytest
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.11",
  "evaluation": "NOT_EVALUATED"
}
pytest>=8.0; extra == "dev"runtime
build
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.11",
  "evaluation": "NOT_EVALUATED"
}
build>=1.0; extra == "dev"runtime
setuptools
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.11",
  "evaluation": "NOT_EVALUATED"
}
setuptools>=68; extra == "dev"runtime

Distribution files

1 collected
acm_memory-0.3.0-py3-none-any.whl

bdist_wheel · 313.33 KB · Python py3

Source file

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 18:19 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:b4e32f216bc61bc30c4c7b1f6afb675bc76db8faa20f027fd3acb2a06d137078

Other collected versions

View all collected versions →