Skip to main content

Official Python client for MemClaw — governed shared memory for AI agent fleets (multi-agent, multi-tenant, MCP-native).

Project description

memclaw-client

Official Python client for MemClaw — governed shared memory for AI agent fleets (multi-agent, multi-tenant, MCP-native).

A thin wrapper over the MemClaw REST API. Point it at a managed (https://memclaw.net) or self-hosted (http://localhost:8000) deployment.

Install

pip install memclaw-client

Quickstart

from memclaw_client import MemClaw

mc = MemClaw("mc_xxx", tenant_id="my-team", agent_id="my-agent")

# Write a memory — enriched server-side with type, title, tags, importance.
mc.write("Q3 revenue target is $4M, set on 2026-04-15.")

# Search (ranked raw results)
for m in mc.search("Q3 revenue target", top_k=5):
    print(m.title, "—", m.content)

# Recall (LLM-synthesized context brief)
print(mc.recall("Q3 revenue target").summary)

Self-hosted? Pass base_url:

mc = MemClaw("standalone", tenant_id="default", base_url="http://localhost:8000")

API

Method Endpoint Returns
write(content, ...) POST /api/v1/memories Memory
search(query, top_k=5, ...) POST /api/v1/search list[Memory]
recall(query, top_k=5, ...) POST /api/v1/recall RecallResult
health() GET /api/v1/health dict

The client is a context manager (with MemClaw(...) as mc:) and raises AuthError (401/403), NotFoundError (404), or MemClawAPIError on failures. Every result also exposes the full API payload on .raw.

For credentials, scopes, and the full API surface, see the MemClaw docs. Production fleets should use per-agent keys.

memclaw-interviewer — Claude Code + Cursor adapter

Installing this package also provides the memclaw-interviewer CLI: the MemClaw Interviewer's disk-parser adapter for Claude Code and Cursor workstations. It reads agent session transcripts read-only — Claude Code's ~/.claude/projects/…/*.jsonl or Cursor's ~/.cursor/projects/…/agent-transcripts/…/*.jsonl — tracks a per-file cursor via the server's forward-only watermark documents (no local state), and submits event windows to POST /api/v1/interview/submit, where MemClaw synthesizes them into typed memories. Requires the tenant to have interviewer.enabled = true.

export MEMCLAW_API_KEY=mc_xxx MEMCLAW_TENANT_ID=my-team
export MEMCLAW_INTERVIEWER_PROJECTS="-Users-me-work-*"   # allowlist, default-deny

memclaw-interviewer status --since-hours 24     # cursors vs. local line counts
memclaw-interviewer run --dry-run -v            # parse + window, submit nothing
memclaw-interviewer run --max-windows 8         # submit due windows
memclaw-interviewer run --harness cursor        # harvest Cursor instead (or
                                                # MEMCLAW_INTERVIEWER_HARNESS=cursor)

Privacy: default-deny — with no allowlist the CLI lists discovered project dirs and exits with guidance; --all-projects is the explicit opt-in. Credential-shaped strings are scrubbed locally before anything leaves the machine, and the server masks PII again on receipt.

Triggers: run it from cron, or wire the harness's session-end hook so a session is interviewed the moment it ends (a failed harvest never fails the session — the hook always exits 0). The SAME hook command serves both harnesses: each sends transcript_path on stdin, and the harness is inferred from the path shape.

Claude Code (~/.claude/settings.json):

{ "hooks": { "SessionEnd": [ { "hooks": [
  { "type": "command", "command": "memclaw-interviewer hook", "timeout": 300 }
] } ] } }

Cursor (~/.cursor/hooks.json):

{ "version": 1, "hooks": {
  "sessionEnd": [ { "command": "memclaw-interviewer hook" } ]
} }

Crash-safety is inherited from the Interviewer protocol: the watermark advances only after the server commits a window, and retries of the same window dedup server-side via a deterministic attempt id — never a gap, never a duplicate.

License

Apache-2.0

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

memclaw_client-0.3.0.tar.gz (37.1 kB view details)

Uploaded Source

Built Distribution

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

memclaw_client-0.3.0-py3-none-any.whl (28.4 kB view details)

Uploaded Python 3

File details

Details for the file memclaw_client-0.3.0.tar.gz.

File metadata

  • Download URL: memclaw_client-0.3.0.tar.gz
  • Upload date:
  • Size: 37.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for memclaw_client-0.3.0.tar.gz
Algorithm Hash digest
SHA256 c6ca862ef037860d5e923613e69d749506d7017881540c672c47b9c92ba35cfb
MD5 e1e05128d2568fb9db6c9c3d56495e08
BLAKE2b-256 20c6271e04b9c173f43abebd82110fccf5d13c750f181c8d147a6ec6871b793c

See more details on using hashes here.

Provenance

The following attestation bundles were made for memclaw_client-0.3.0.tar.gz:

Publisher: publish-python-client.yml on caura-ai/caura-memclaw

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

File details

Details for the file memclaw_client-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: memclaw_client-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 28.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for memclaw_client-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 595a2aa7b74202cf5fa5d408d6ad5d37514524e2766331433d6edd9f1b349e58
MD5 fe78fbe3e6454d14592cb4f2267381aa
BLAKE2b-256 a06fa7a7b674ab908f8417f35f479f769662cd557b9787189b679e79d2397338

See more details on using hashes here.

Provenance

The following attestation bundles were made for memclaw_client-0.3.0-py3-none-any.whl:

Publisher: publish-python-client.yml on caura-ai/caura-memclaw

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