CLI client for MemoryHub — centralized, governed memory for AI agents
Project description
memoryhub-cli
Command-line client for MemoryHub — centralized, governed memory for AI agents.
Install
pip install memoryhub-cli
Authentication
The CLI supports two authentication modes:
API key (recommended for non-interactive use):
# Via environment variable
export MEMORYHUB_API_KEY=mh-dev-abc123
# Or place your key at ~/.config/memoryhub/api-key (mode 0600)
echo "mh-dev-abc123" > ~/.config/memoryhub/api-key
API key resolution order: MEMORYHUB_API_KEY env var > ~/.config/memoryhub/api-key file > api_key in config.json.
Server URL:
The CLI needs to know where the MemoryHub server is. The SessionStart hook for Claude Code also reads from this config.
# Via environment variable
export MEMORYHUB_URL=https://memoryhub.example.com/mcp/
# Or save to ~/.config/memoryhub/config.json (also set by memoryhub config init)
echo '{"url": "https://memoryhub.example.com/mcp/"}' > ~/.config/memoryhub/config.json
chmod 600 ~/.config/memoryhub/config.json
URL resolution: MEMORYHUB_URL env var > url in ~/.config/memoryhub/config.json.
OAuth (interactive setup):
memoryhub login
When both are available, API key takes precedence.
Usage
# Search for memories
memoryhub search "deployment patterns"
# List memories by creation time (no semantic search)
memoryhub list --project-id my-project --max 20
# Read a specific memory
memoryhub read <memory-id>
# Write a new memory
memoryhub write "Use Podman, not Docker" --scope user --weight 0.9
# Campaign-scoped operations (requires project enrollment)
memoryhub search "shared patterns" --project-id my-project --domain React
memoryhub write "Use vLLM for embeddings" --project-id my-project --domain ML
# Compact output for LLM context injection (content only, no metadata)
memoryhub search "project conventions" --output compact
# Set up project-level memory loading
memoryhub config init
memoryhub config regenerate
# Admin: provision and manage agents
memoryhub admin create-agent my-agent --scopes user,project
memoryhub admin list-agents
memoryhub admin rotate-secret my-agent
memoryhub admin disable-agent my-agent
The --project-id flag enables campaign-scoped memory access. When your project is enrolled in campaigns via .memoryhub.yaml, the CLI auto-loads the project identifier from config, so you can omit the flag in most cases. Use --domain to tag writes or boost domain-matching results in search.
Output formats
The --output / -o flag controls output format on most commands:
table(default) -- Rich-formatted tables for interactive usejson-- Machine-readable JSON envelope ({"status": "ok", "data": {...}})quiet-- No output (exit code only)compact-- Content-only text for LLM context injection, no IDs or metadata
Project configuration
memoryhub config generates a project-local .memoryhub.yaml and a companion .claude/rules/memoryhub-loading.md rule file. Both files are meant to be committed so every contributor's agent inherits the same loading policy.
memoryhub config init is an interactive wizard that asks about session shape, loading pattern, focus source, and retrieval defaults, then writes both files at the project root. If a legacy .claude/rules/memoryhub-integration.md already exists, it is backed up to .bak before the new rule file is written.
memoryhub config regenerate re-renders the rule file from .memoryhub.yaml after you hand-edit the YAML. It reads the YAML and rewrites the Markdown rule file only; it does not modify .memoryhub.yaml.
Per-developer connection params (url, auth_url, client_id, client_secret) live separately at ~/.config/memoryhub/config.json and are managed by memoryhub login. They are not stored in .memoryhub.yaml and are not committed.
Further documentation
The CLI is one surface of the memory-hub monorepo. For deeper context:
- Architecture overview — System design, deployment topology
- MCP server tool reference — The 15 tools the CLI wraps
- Agent memory ergonomics design — Full
.memoryhub.yamlschema, rule file templates, and session-loading patterns - Python SDK — if you'd rather call the tools from Python
Links
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
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 memoryhub_cli-0.11.0.tar.gz.
File metadata
- Download URL: memoryhub_cli-0.11.0.tar.gz
- Upload date:
- Size: 40.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6791eb75a1e7a9653f4b7e37d45f62124efa3a217e8f61099ca9ec177aba5933
|
|
| MD5 |
190b297b299df79e0d94616bae36b050
|
|
| BLAKE2b-256 |
d31ae4d1b2216e6584f3b6055827d3a1589cb63436fed682d45fc1a3129fcc99
|
Provenance
The following attestation bundles were made for memoryhub_cli-0.11.0.tar.gz:
Publisher:
release.yml on redhat-ai-americas/memory-hub
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
memoryhub_cli-0.11.0.tar.gz -
Subject digest:
6791eb75a1e7a9653f4b7e37d45f62124efa3a217e8f61099ca9ec177aba5933 - Sigstore transparency entry: 1803944776
- Sigstore integration time:
-
Permalink:
redhat-ai-americas/memory-hub@08697e17e2b4d48044c61251e8662938988d90e9 -
Branch / Tag:
refs/tags/memoryhub-cli/v0.11.0 - Owner: https://github.com/redhat-ai-americas
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@08697e17e2b4d48044c61251e8662938988d90e9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file memoryhub_cli-0.11.0-py3-none-any.whl.
File metadata
- Download URL: memoryhub_cli-0.11.0-py3-none-any.whl
- Upload date:
- Size: 31.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ae91bf1fd8055cda323dc11aa4a11dad3632edb204010a7112fc0322c1b821f3
|
|
| MD5 |
3e34945e0c28dda6dacc24ef8f305528
|
|
| BLAKE2b-256 |
ea8bc503f29433490922e5c9f03758bd87c61782cb3420bf884fd061a4a9b214
|
Provenance
The following attestation bundles were made for memoryhub_cli-0.11.0-py3-none-any.whl:
Publisher:
release.yml on redhat-ai-americas/memory-hub
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
memoryhub_cli-0.11.0-py3-none-any.whl -
Subject digest:
ae91bf1fd8055cda323dc11aa4a11dad3632edb204010a7112fc0322c1b821f3 - Sigstore transparency entry: 1803945477
- Sigstore integration time:
-
Permalink:
redhat-ai-americas/memory-hub@08697e17e2b4d48044c61251e8662938988d90e9 -
Branch / Tag:
refs/tags/memoryhub-cli/v0.11.0 - Owner: https://github.com/redhat-ai-americas
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@08697e17e2b4d48044c61251e8662938988d90e9 -
Trigger Event:
push
-
Statement type: