XMemo
XMemo is a privacy-first, user-owned persistent memory system for AI agents, enabling storage, retrieval, and management of memories across sessions. Here's what you can do:
Core Memory Operations
Remember / Store: Save durable facts, preferences, instructions, or project details
Recall / Search: Retrieve relevant memories by natural-language query (
recall,recall_context,search_memory)Update: Correct, revise, or reclassify existing memories (
update_memory)Delete / Restore: Soft-delete (
forget_memory), permanently delete (forget,delete_current_memory), or recover memories (restore_memory)Explain: Understand why a memory exists or matched a query (
explain_memory)
Expense & Ledger Tracking
Record expenses/income (
add_expense), view transaction history (list_ledger_transactions), and get monthly spending summaries (get_monthly_ledger_summary)
TODO & Task Management
Create (
create_memory_todo), list (list_memory_todos), and complete (complete_memory_todo) tasks or action items
Timeline & Events
Log milestones, decisions, or handoff notes (
record_event) and review them (get_timeline)
Session & State Management
Save working state (
update_state), create session snapshots before handoffs (create_restart_snapshot), and restore them (restore_restart_snapshot)
Decision Tracking
Record unresolved decisions with options (
create_pending_decision), list them (list_pending_decisions), and resolve them (resolve_decision)
Analytics & Stats
View memory overviews, aggregate stats, recent activity, and analyze text patterns across memories (
memory_overview,memory_stats,memory_activity,analyze_memory_text)
Version Control & Conflict Management
View edit history (
list_memory_versions), find and resolve conflicting memories (list_memory_conflicts,resolve_memory_conflict), and redact sensitive content (redact_memory)
Administration & Maintenance
Verify connection status (
get_mcp_identity), run lifecycle management to expire/archive stale memories (run_lifecycle), review audit logs (query_audit_events), and evaluate recall quality (run_recall_eval)
@xmemo/client is the official control plane for connecting AI tools to
XMemo. It makes setup repeatable, keeps credentials out of
project files, and gives every supported client a consistent path to durable,
user-owned memory.
The package is deliberately small: the CLI runtime, safe client configuration, behavior profiles, XMemo skills, and marketplace metadata. Server code, databases, deployment files, logs, and internal operations remain outside the npm distribution.
Architecture
Package | |
Primary command |
|
Local MCP command |
|
Hosted MCP |
|
Runtime | Node.js 20 or later |
License | MIT |
Related MCP server: flux7-memory
Why XMemo CLI
One control plane — login, diagnostics, configuration, profiles, updates, and smoke checks share one predictable interface.
Private by design — generated project configuration references a credential; it never embeds the credential value.
Native where it matters — OpenClaw and Hermes use dedicated memory integrations instead of duplicating the same capability through MCP.
Portable everywhere else — hosted Streamable HTTP MCP and local stdio cover modern editors, terminals, and agent runtimes.
Safe automation — supported setup and removal paths offer preview, dry-run, or explicit confirmation before making changes.
Small supply-chain surface — the npm package is governed by an explicit file allowlist and release provenance.
Quick start
npm install -g @xmemo/client
xmemo login
xmemo doctor
xmemo setup codex
xmemo statusReplace codex with your client. Preview a configuration before writing it:
xmemo setup cursor --dry-runStart withxmemo login, xmemo doctor, and xmemo setup <client>.
Hand-edit MCP configuration only when a client has no verified setup path.
Supported integrations
Client | Recommended command | Connection |
Codex |
| Hosted MCP + behavior profile |
Cursor |
| Hosted MCP + behavior profile |
Copilot CLI |
| Local authenticated proxy |
Gemini CLI |
| Hosted MCP + OAuth |
Antigravity |
| Hosted MCP + OAuth |
OpenClaw |
| Native memory plugin + Skill |
Hermes |
| Native memory provider |
Kiro |
| Hosted MCP |
Grok |
| Hosted MCP |
Other MCP clients |
| Generated template |
The client registry also covers Windsurf, Cline, Continue, Claude Desktop,
Claude Code, Kimi Code, Zed, JetBrains, OpenCode, Qwen, Trae, and compatible
MCP hosts. Run xmemo mcp list for the current machine-readable catalog.
Connection modes
Hosted MCP
The recommended universal path is the XMemo Streamable HTTP endpoint:
https://xmemo.dev/mcpOAuth-capable clients complete authentication in the browser. Other clients
reference XMEMO_KEY without copying its value into repository files.
Generic configuration shape:
{
"mcpServers": {
"XMemo": {
"type": "streamable-http",
"url": "https://xmemo.dev/mcp",
"headers": {
"Authorization": "Bearer ${XMEMO_KEY}"
}
}
}
}Client configuration keys differ; prefer xmemo setup <client> over copying
this generic example directly.
Local stdio MCP
xmemo-mcp is the dedicated stdio entry point for marketplaces and clients
that launch a local process. Safe discovery exposes 20 tools, three prompts,
and two documentation resources without a token. Tool execution still requires
authentication.
After a global installation:
xmemo-mcpInstall-free MCP configuration:
{
"mcpServers": {
"XMemo": {
"command": "npx",
"args": [
"-y",
"--package",
"@xmemo/client@latest",
"xmemo-mcp"
]
}
}
}xmemo mcp serve is equivalent when the CLI is already installed.
Native integrations
OpenClaw and Hermes have dedicated memory providers. Their default setup avoids installing a second, duplicate XMemo tool surface.
# Native OpenClaw plugin + XMemo Skill
xmemo setup openclaw
# Native Hermes memory provider
xmemo setup hermesAdd hosted MCP only when an explicit fallback is desired:
xmemo setup openclaw --with-mcp
xmemo setup hermes --with-mcpUse --mcp-only to skip the native integration and install only the hosted MCP
fallback.
Authentication
Browser login
Recommended for personal accounts:
xmemo login
xmemo auth statusThe CLI uses the hosted device-login flow, waits for browser approval, and
asks once before storing the issued credential unencrypted in the current
user's XMemo config directory. The exact path is shown before approval, file
permissions are restricted where the operating system supports it, and the
credential value is never printed. Prefer XMEMO_KEY or a managed secret store
on shared systems.
For non-interactive automation, record the same decision explicitly:
xmemo login --allow-plaintextExisting token
Pipe an existing token through stdin so it does not appear in command history:
printf '%s\n' 'your-token' | xmemo token add --from-stdin --allow-plaintext
xmemo token status --verifyPowerShell:
$xmemoToken = Read-Host "XMemo token"
$xmemoToken | xmemo token add --from-stdin --allow-plaintext
Remove-Variable xmemoTokenFor CI and managed workstations, expose XMEMO_KEY through the platform's
secret manager. Do not commit it to .env, MCP configuration, logs, issue
reports, or chat transcripts.
Command reference
xmemo --version
xmemo update
xmemo update --dry-run
xmemo doctor
xmemo discovery show
xmemo status
xmemo privacyxmemo login
xmemo auth status
xmemo auth-status --verify
xmemo token status --verify
xmemo token add --from-stdin --allow-plaintext
xmemo env example --shell bashxmemo setup <client>
xmemo setup <client> --dry-run
xmemo setup --all
xmemo setup openclaw [--with-mcp|--mcp-only]
xmemo setup hermes [--with-mcp|--mcp-only]xmemo mcp serve
xmemo mcp list
xmemo mcp config --client generic
xmemo mcp add <client> --write
xmemo mcp proxy
xmemo profile install <client>
xmemo profile status <client>
xmemo profile uninstall <client>
xmemo smoke --client codexxmemo uninstall <client> --dry-run
xmemo uninstall <client> --yes
xmemo uninstall --all --dry-run
xmemo uninstall --all --yes --profilesOnly XMemo-owned entries and marker-scoped behavior profiles are removed. Unrelated MCP servers, credentials, and device identity remain intact.
Run xmemo help or xmemo <command> --help for complete, version-matched
options.
Client notes
xmemo setup codex
xmemo smoke --client codex
xmemo setup cursorBoth setup paths write a user-scoped MCP entry and can install a marker-scoped
memory behavior profile. Use --no-profile to configure MCP only. Cursor's
public marketplace plugin remains OAuth-first and contains no bearer-token
configuration.
xmemo setup gemini
xmemo setup antigravityThese clients use hosted MCP OAuth. Their generated configuration carries no token value; restart the client and complete the browser login on first use.
xmemo login
xmemo setup openclaw
openclaw xmemo statusThe setup command installs or updates @xmemo/openclaw-memory, installs the
XMemo Skill, reuses the shared XMemo credential, and checks plugin status.
xmemo login
xmemo setup hermesThe setup command installs or updates hermes-xmemo, configures the native
provider, and synchronizes the user-scoped XMemo credential with Hermes.
xmemo login
xmemo setup copilot
xmemo mcp proxyCopilot CLI receives a local proxy entry. The proxy reads the credential from user-scoped storage, adds identity metadata, and forwards requests to hosted MCP without writing secrets into Copilot configuration.
Security by default
Control | Default behavior |
Telemetry | No CLI analytics or usage telemetry |
Credential output | Token values are never printed |
Project files | Generated configuration references secrets; it does not embed them |
Discovery |
|
Identity | One stable, non-secret agent-instance ID is stored outside git |
Writes | Setup supports preview/dry-run; broad removal requires confirmation |
Local credential storage | Interactive login asks first; non-interactive writes require |
Package contents | An npm |
Credential precedence and compatibility aliases are documented by:
xmemo env example --shell bash
xmemo privacyFor private or self-hosted deployments, set XMEMO_URL or pass
--url <service-url>. MEMORY_OS_URL remains a compatibility alias.
Package boundary
Published to npm:
bin/
docs/assets/
src/
skills/
plugins/kiro/
plugins/xmemo/
README.md
LICENSENot published:
.github/
docs/analysis/
docs/architecture/
test/
coverage/
server code
database migrations
deployment files
logs and local stateDevelopment
npm install
npm run release:check
npm run lint
npm test
npm run pack:dry-runBefore proposing a release, run the complete package gate:
npm run prepublishOnlyThe local stdio server can be inspected directly:
node bin/mcp-stdio.jsRelease model
Normal releases are produced by GitHub Actions from the exact tagged commit, not from a mutable branch checkout or a developer workstation:
develop → version sync → test → tag → GitHub Actions → npm publish --provenanceVersion-bearing files must stay synchronized:
package.jsonpackage-lock.jsonserver.jsonlhm.plugin.json
node scripts/check-release-version.mjs --tag vX.Y.Z verifies the tag and every
version-bearing file before publication. The separate npm publish workflow is
manual recovery only, so creating a GitHub Release cannot publish twice.
Documentation and support
License
MIT © 2025–2026 Yonro
Maintenance
Related MCP Servers
- AlicenseBqualityAmaintenancePersistent memory engine for AI coding agents. Single Go binary, zero runtime dependencies, MCP-native. Stores, searches, and deduplicates memories across sessions using embedded SQLite with hybrid FTS + semantic search, memory decay, relation graph, and token-budget context assembly.Last updated1010MIT
- Alicense-qualityAmaintenanceGoverned multi-agent memory for AI agents. Hybrid markdown + SQLite store with full-text search, vector retrieval, and LLM reranking. Three transports: MCP stdio, HTTP JSON-RPC, and MCP SSE. One Go binaryLast updated1Apache 2.0
- Alicense-qualityDmaintenanceSelf-hosted semantic memory for AI agents. Save worklogs, decisions, and notes via MCP, then recall them across sessions by meaning rather than keyword. Backed by Postgres + pgvector with local embeddings (multilingual-e5-base).Last updated1MIT
- AlicenseAqualityDmaintenanceMCP server for persistent memory, enabling AI agents to store and semantically retrieve notes, decisions, and context across conversations using API keys or x402 payments.Last updated1042MIT
Related MCP Connectors
Universal memory for AI agents and tools. Save, organize and search context anywhere.
Cross-AI personal memory. Save once in ChatGPT, recall in Claude, Mistral, Grok, or any MCP client.
Private-by-default, local-first memory/context/task orchestrator for MCP apps and agents.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/yonro/memory-os-cli'
If you have feedback or need assistance with the MCP directory API, please join our Discord server