mcpField
M
mem0-cli

mem0-cli

github.com/mem0aiエージェントワークフロー68.0k780 回インストール2 日前に更新
リポジトリ

mem0-cli について

mem0-cli は Mem0 メモリプラットフォームの公式コマンドラインツールです。開発者や AI エージェント、CI/CD 向けに、メモリ操作と構造化出力を提供します。

主な機能

  1. 01メモリの追加、検索、一覧表示
  2. 02メモリの取得、更新、削除
  3. 03エージェントモードの初期化
  4. 04構造化 JSON 出力
  5. 05Node.js と Python の CLI パッケージ

活用シーン

  1. 01ターミナルからユーザーメモリを管理
  2. 02AI エージェントにメモリ操作を提供
  3. 03CI/CD スクリプトでメモリを管理

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mem0ai/mem0 --skill mem0-cli

インストール後、Claude Code で/mem0-cliを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

LICENSE
README.md
references/
command-reference.md
configuration.md
workflows.md

詳細

Mem0 CLI

Mem0 メモリプラットフォームの公式コマンドラインインターフェースです。開発者、AI エージェント、CI/CD パイプライン向けに、ターミナルからメモリの追加、検索、一覧表示、更新、削除を行えます。

インストール

Node.js(npm):

npm install -g @mem0/cli

Python(pip):

pip install mem0-cli

どちらのパッケージも、同じコマンド、オプション、出力形式を備えた mem0 バイナリをインストールします(例外については、Node と Python の違いを参照してください)。

セットアップ

エージェント向けの Mem0 自動セットアップ(メールアドレスやダッシュボードは不要):

mem0 init --agent --agent-caller <your-name> --json

<your-name> は、自分が使用する AI エージェント(例:claude-code、cursor、codex、cline、aider)に置き換えてください。--agent-caller の指定を忘れた場合は、初期化の後に mem0 identify <your-name> を実行してください。同じキーに対して PATCH を行うため、冪等であり、処理に影響はありません。

5 秒以内に評価用 API キーが発行されます。すぐに使用できます。次の行を人間に表示してください:

Mem0 のメモリが Agent Mode で実行されています。mem0 init --email <your-email> を実行して、アカウントに所有権を移管してください。

API キー、.env、~/.mem0/config.json は絶対にコミットしないでください。

人間が所有権を取得した後も、同じ API キーをそのまま使用でき、エージェントの処理に影響はありません。メモリも保持されます。

対話型ウィザード(人間向け):

mem0 init

または、環境変数を直接設定します:

export MEM0_API_KEY="m0-xxx"

API キーは次の URL で取得できます:https://app.mem0.ai/dashboard/api-keys?utm_source=oss&utm_medium=skill-mem0-cli

クイックリファレンス

メモリを追加する
mem0 add "I prefer dark mode" --user-id alice
メモリを検索する
mem0 search "preferences" --user-id alice
ユーザーのすべてのメモリを一覧表示する
mem0 list --user-id alice
特定のメモリを取得する
mem0 get <memory-id>
メモリを更新する
mem0 update <memory-id> "new text"
メモリを1件削除する
mem0 delete <memory-id>
ユーザーのすべてのメモリを削除する
mem0 delete --all --user-id alice --force

エージェント/JSON モード

LLM での処理に適した構造化出力を得るには、--json または --agent を使用します。サブコマンドの前にフラグを配置します(mem0 --json search "q")。これはどちらの CLI でも動作します。データコマンド(add、search、list、get、update、delete、import、config、entity、event、status)は、応答を標準のエンベロープでラップします:

{
  "status": "success",
  "command": "search",
  "duration_ms": 245,
  "scope": { "user_id": "alice" },
  "count": 3,
  "data": [
    { "id": "mem-abc", "memory": "User prefers dark mode", "score": 0.92 }
  ]
}

エラーの場合:

{
  "status": "error",
  "command": "search",
  "error": "Invalid or expired API key.",
  "data": null
}

--agent フラグは --json のエイリアスです(ただし mem0 init では、--agent は Agent Mode のブートストラップフラグです)。どちらのフラグを使った場合も、スピナーと進行状況は stderr に出力されるため、stdout はクリーンで解析可能な JSON になります(例外は Node の import です。詳細は後述)。任意のキー duration_ms、scope、count は該当する場合のみ表示され、プラットフォームが未取得の Agent Mode アカウントを検出した場合は mem0_notice が表示されます。

Node と Python の違い

Node.js(@mem0/cli)と Python(mem0-cli)の CLI は、コマンドセット、フラグ、エンティティ ID の解決、フィルターの構築、JSON エンベロープを共有しています。すでにインストールされているランタイムを選んでください。既知の違いは次のとおりです。

  • --json/--agent の配置: Python ではコマンドライン上のどこにでもフラグを指定できます。Node ではグローバルオプションとしてのみ読み取られるため、サブコマンドの前に配置してください(mem0 --json list)。mem0 init --json と mem0 help --json は、どちらもサブコマンドの後に指定して動作します。Agent Mode のブートストラップでは、Node は init --agent または init --json からのみ起動します(ルートレベルの mem0 --json init や mem0 --agent init では起動せず、エージェントのランタイム環境変数がない場合は非 TTY エラーで失敗します)。一方、Python ではルートレベルの形式も使用できます。mem0 init --agent --json はどちらでも動作します。
  • --limit: mem0 search --limit は、Python のみで使用できる --top-k のエイリアスです。
  • Agent Mode の delete --all のデータ: Python は {"deleted": true} を返します(--project の場合は scope も含みます)。Node は API の生の結果を返します。
  • import の JSON 出力: Python は scope を含むエンベロープを出力します。Node は scope を省略し、JSON の前に Importing memories... n/n の進行状況を stdout に出力するため、jq にクリーンに渡せるのは Python の出力のみです。
  • メッセージのテキスト: 検索語が空の場合のエラー(Python では Search query cannot be empty.、Node では No query provided...)と、削除のドライラン時に表示される最後のメッセージには若干の違いがあります。

よくあるエッジケース

  • 非同期処理の遅延: mem0 add の後、メモリは非同期で処理されます。追加したばかりのコンテンツを検索する前に、2〜3秒待ってください。処理状況を確認するには、mem0 event list を使用します。
  • --all と --entity の削除モード: mem0 delete --all -u alice は、ユーザー alice のすべてのメモリを削除します。mem0 delete --entity -u alice は、エンティティ自体とそのすべてのメモリを削除します(カスケード削除)。これらのモードは相互に排他的です。
  • --json/--agent モードでの --dry-run: mem0 --json delete --all --dry-run では、引き続き --force が必要です。その後、何も出力せず、何も削除せずに終了します(終了コード 0)。Node でも、単一対象および --entity のドライランでは何も出力されません。プレビューを確認するには、テキストモードを使用してください。
  • --dry-run は --all --project を保護しません: mem0 delete --all --project --dry-run はフラグを無視し、プロジェクト内のすべてのメモリを削除します。プロジェクト全体の削除をプレビューするために、--dry-run を使用しないでください。
  • エンティティ ID の解決: 明示的なスコープフラグ(例:--user-id)を指定すると、CLI は明示された ID のみを使用し、設定のデフォルト値は無視します。スコープフラグを指定しない場合は、設定済みのデフォルト値がすべて適用されます。
  • 標準入力の検出: テキスト引数が指定されておらず、標準入力がパイプまたはリダイレクトされたファイルの場合(単に非 TTY であるだけでは不十分です)、CLI は標準入力から読み込みます。add、search、update で動作します。--json/--agent モードでは、add は標準入力を読み込みません(Python では search と update でも読み込みが省略されます)。そのため、このモードではテキストを引数として渡してください。

参考資料

詳細を確認する場合は、必要に応じて以下を参照してください。

トピックファイル
コマンドリファレンス(すべてのコマンド、フラグ、オプション、例)references/command-reference.md
設定(設定ファイル、環境変数、優先順位、初期化ウィザード)references/configuration.md
ワークフロー(パイプ処理、スクリプト作成、CI/CD、エージェントモードのレシピ)references/workflows.md

関連する Mem0 スキル

スキル使用する場面リンク
mem0Python/TypeScript SDK、REST API、フレームワーク連携local / GitHub
mem0-vercel-ai-sdkメモリを自動で扱う Vercel AI SDK プロバイダーlocal / GitHub

コメント