Skip to main content

Drop-in /memories backend with governance for the Anthropic memory_20250818 tool

Project description

MOOTx01 Memory Adapter

Drop-in /memories backend with governance for the Anthropic memory_20250818 tool.

What it does

Any Claude 4+ / Fable 5 agent that thinks it is reading and writing /memories files is actually reading and writing governed MOOTx01 drawers — with dedup, provenance, sensitivity floor, confirmation state, and a full audit trail included.

The differentiator

Every model-written memory lands as unconfirmed with derived trust. A startup scan or audit pass can quarantine suspect lessons using the estate's contained filter and anomaly lenses. This is the poisoning defense the ecosystem currently lacks — the memory tool contract gives models write access; MOOTx01 gives you the governance to trust (or not trust) what they wrote.

Two surfaces

1. MCP tool (built into mootx01)

The mootx01 daemon registers a memory tool on its MCP surface that matches Anthropic's contract exactly. Claude Code and Claude Desktop users already connected to mootx01 as an MCP server get the memory tool for free — no adapter needed.

2. Python SDK handler (this package)

For Messages API users who run the tool-use loop themselves:

from moot_memory import MootMemoryTool
import anthropic

client = anthropic.Anthropic()
memory = MootMemoryTool(base_url="http://127.0.0.1:4242")

runner = client.beta.messages.tool_runner(
    model="claude-opus-4-8",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Remember that Acme prefers email."}],
    tools=[memory],
)
final = runner.until_done()

Or standalone without the SDK:

from moot_memory import MootMemoryHandler

handler = MootMemoryHandler(base_url="http://127.0.0.1:4242")
result = handler.execute({"command": "view", "path": "/memories"})

Op mapping

memory_20250818 Estate behavior
view (dir) enumerate drawers in wing="memories"
view (file) drawer content with line numbers
create capture as unconfirmed drawer
str_replace supersede: new content, old withdrawn (full lineage)
insert supersede: content with insertion applied
delete soft withdrawal (never hard-erase from model ops)
rename capture at new location, withdraw old

Security

  • Path traversal protection: all paths validated against /memories
  • Model writes land unconfirmed: poisoning quarantine seam
  • Deletes are soft withdrawals: reversible, audit trail preserved
  • Sensitivity floor: adapter wing is Normal
  • File size cap: 100KB per file
  • No hidden files: dotfiles rejected

Tests

# Against the running daemon
python -m pytest apps/moot-memory-adapter/tests/

# The poisoning quarantine test
python -m pytest apps/moot-memory-adapter/tests/test_memory_adapter.py::TestPoisoningQuarantine -v

Requirements

  • Running mootx01 daemon (v1.0.22+)
  • Python 3.10+
  • anthropic SDK (optional, for the BetaAbstractMemoryTool subclass)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

moot_memory-1.0.30.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

moot_memory-1.0.30-py3-none-any.whl (2.8 kB view details)

Uploaded Python 3

File details

Details for the file moot_memory-1.0.30.tar.gz.

File metadata

  • Download URL: moot_memory-1.0.30.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for moot_memory-1.0.30.tar.gz
Algorithm Hash digest
SHA256 c51ae6d6a2cedcf19b731dc807f79bd953ea564c13b45b4d4c9014eaf47b30d3
MD5 0c6f1805f58ef3f5213ba1c38b006d52
BLAKE2b-256 c3db1b9f526cc73d9c1fa7c563c9789ecf3ef94727da8cf4351e2681dd67dfa9

See more details on using hashes here.

Provenance

The following attestation bundles were made for moot_memory-1.0.30.tar.gz:

Publisher: release.yml on codedaptive/mootx01-ce

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file moot_memory-1.0.30-py3-none-any.whl.

File metadata

  • Download URL: moot_memory-1.0.30-py3-none-any.whl
  • Upload date:
  • Size: 2.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for moot_memory-1.0.30-py3-none-any.whl
Algorithm Hash digest
SHA256 100d67c4420c7c342a039237208f3a4ea86565dda66d94d39e4980d272f280c9
MD5 18bf210e8795a7167fbd335b47ae91d5
BLAKE2b-256 207355ad09cb1605cf4f4aba1d47af149420f4b82d523d0bbbfafec6b298b56a

See more details on using hashes here.

Provenance

The following attestation bundles were made for moot_memory-1.0.30-py3-none-any.whl:

Publisher: release.yml on codedaptive/mootx01-ce

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page