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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c6ca862ef037860d5e923613e69d749506d7017881540c672c47b9c92ba35cfb
|
|
| MD5 |
e1e05128d2568fb9db6c9c3d56495e08
|
|
| BLAKE2b-256 |
20c6271e04b9c173f43abebd82110fccf5d13c750f181c8d147a6ec6871b793c
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
memclaw_client-0.3.0.tar.gz -
Subject digest:
c6ca862ef037860d5e923613e69d749506d7017881540c672c47b9c92ba35cfb - Sigstore transparency entry: 2212256193
- Sigstore integration time:
-
Permalink:
caura-ai/caura-memclaw@efe2ff1504956a5ea89b1e9aa9df27c2703f3b55 -
Branch / Tag:
refs/tags/memclaw-client-v0.3.0 - Owner: https://github.com/caura-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-python-client.yml@efe2ff1504956a5ea89b1e9aa9df27c2703f3b55 -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
595a2aa7b74202cf5fa5d408d6ad5d37514524e2766331433d6edd9f1b349e58
|
|
| MD5 |
fe78fbe3e6454d14592cb4f2267381aa
|
|
| BLAKE2b-256 |
a06fa7a7b674ab908f8417f35f479f769662cd557b9787189b679e79d2397338
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
memclaw_client-0.3.0-py3-none-any.whl -
Subject digest:
595a2aa7b74202cf5fa5d408d6ad5d37514524e2766331433d6edd9f1b349e58 - Sigstore transparency entry: 2212256215
- Sigstore integration time:
-
Permalink:
caura-ai/caura-memclaw@efe2ff1504956a5ea89b1e9aa9df27c2703f3b55 -
Branch / Tag:
refs/tags/memclaw-client-v0.3.0 - Owner: https://github.com/caura-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-python-client.yml@efe2ff1504956a5ea89b1e9aa9df27c2703f3b55 -
Trigger Event:
push
-
Statement type: