mnemo について
mnemo はコーディングエージェント向けのローカル永続メモリーシステムです。決定事項や不具合、規約、発見を SQLite に保存し、複数のセッションや対応エージェントで共有します。MCP ツール、フック、ポータブルスキルに対応し、プロジェクト単位の有効化と診断・修復機能を備えています。
主な機能
- 01SQLite と FTS5 によるローカルメモリー
- 02プロジェクト単位の有効化と共有元
- 03MCP ツール、フック、ポータブルスキル
- 04複数のコーディングエージェントに対応
- 05セッションで得た知見の受動的な記録
- 06設定の診断と修復
活用シーン
- 01セッションをまたいだプロジェクト決定事項の保持
- 02複数のコーディングエージェント間での記憶共有
- 03過去の発見や規約の検索
- 04エージェント連携設定の確認と修復
MCP 対応
MCP ツールを通じて、コーディングエージェントにメモリーの保存、検索、コンテキスト取得、診断機能を提供します。フックやネイティブツールによる連携にも対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Claude Code、Codex、Cursor、OpenCode、Pi で共通の信頼できる情報源を利用できます。
クイックスタート · mnemo を選ぶ理由 · 仕組み · エージェント · ドキュメント · コミュニティ · ロードマップ
mnemo を選ぶ理由
エージェントは忘れます。Markdown のメモリは内容がずれていきます。フックは競合します。セットアップは失敗しても通知されません。
| mnemo を使わない場合 | mnemo を使う場合 |
|---|---|
| セッション間で決定事項が失われます | ローカルの SQLite に永続的なプロジェクトメモリを保存します |
MEMORY.md、エディターのメモリ、チャットのメモが食い違います | サポート対象のすべてのエージェントで、プロジェクト単位の信頼できる情報源を共有します |
| グローバルフックがあらゆる場所で実行されるか、必要な場所で実行されません | .mnemo を使って明示的に有効化します。マークされていないプロジェクトは無視されます |
| 設定ミスが通知されません | mnemo doctor で連携状況を正確に確認できます。mnemo doctor --fix で修復できます |
mnemo は、あらゆるハーネスへの対応をうたうものではありません。どのハーネスでも実装・検証できる、安定したメモリの仕様を提供します。
クイックスタート
# 1. Install the latest stable release
curl -sSf https://raw.githubusercontent.com/jmeiracorbal/mnemo/main/install.sh | bash
# 2. Activate in a project
cd your-project
mnemo init --agent=all
# 3. Verify
mnemo doctor --agent=all --path=.
次にエージェントで、決定事項を mem_save で保存し、セッションを終了して別のセッションを開きます。mem_search / mem_context でその内容を見つけられます。
mnemo search "SQLite" --project "$(mnemo json id < .mnemo)"
インストーラーと mnemo update は、公開済みの最新の安定版リリース(v1.0.0)に従います。プレリリースを利用する場合に限り、mnemo update --prerelease を使用してください。更新方法とエージェントごとのセットアップについては、インストールガイドをご覧ください。
仕組み
- エージェントはMCPツール、フック、ポータブルなAgent Skillsを通じてmnemoとやり取りします。
- ローカルのイベントコントローラーだけが通常のSQLite書き込みを行います。パブリッシャーがデータベースを開くことはありません。
- メモリはお使いのマシン内に保持されます。構造化された観察結果、タグ、トピックキー、セッションの要約がSQLite + FTS5に保存されます。
project/
├── .mnemo # project ID + activated agents (gitignored)
├── AGENTS.md # shared memory authority
├── CLAUDE.md # Claude rules when selected
├── .cursor/ # Cursor rules when selected
└── .pi/ # Pi prompt extensions when selected
配信と障害時の動作については、Durable Eventsをご覧ください。
主な機能
- プロジェクト単位の有効化 — 有効な
.mnemoがなければ、グローバルフックは動作しません - MCP + ネイティブツール —
mem_save、mem_search、mem_context、mem_doctorなど - 永続イベントコントローラー — ユーザーごとのJetStream、冪等性を備えたSQLiteトランザクション
- コントローラー管理のセッション — エージェント固有の実行IDを1つの正規セッションに紐付けます
- ポータブルなスキル — ネイティブメモリに頼らずmnemoを使うようエージェントに教えます
- パッシブキャプチャ — エージェントが提供した出力から学びを抽出します
- 来歴情報 — SQLでクエリ可能なエージェント、ツール、モデル、MCPクライアントのメタデータ
- 診断と修復 —
mnemo doctor/mnemo doctor --fix、プロジェクトの統合・名前変更、mnemo memories review - 安全なマイグレーションとセルフアップデート — 起動時にスキーマをアップグレードし、リリースには
mnemo updateを使います
対応エージェント
| エージェント | MCP | フック / ランタイム | グローバル指示 | スキル | 状態 |
|---|---|---|---|---|---|
| Claude Code | はい | セッションフック | はい | はい | 対応 |
| Codex | はい | セッションフック | はい | はい | 対応 |
| Cursor | はい | プロンプトフック | はい | はい | 対応 |
| OpenCode | はい | プラグインイベント | はい | はい | 対応 |
| Pi | ネイティブツール | ネイティブ拡張機能 | はい | はい | 対応 |
Codexではインストール後、対話形式でフックの信頼性を確認する必要があります。詳細はAgent Integrationsをご覧ください。
Claude Codeは、設定されている場合はCLAUDE_CONFIG_DIRを設定ディレクトリとして使用し、設定されていない場合は~/.claudeを使用します。MCP設定の.claude.jsonは、CLAUDE_CONFIG_DIRが設定されている場合はそのディレクトリに、それ以外の場合は$HOMEに保存されます。
関連モジュール
| モジュール | 用途 |
|---|---|
mnemo-adapters | CLI、コントローラー、MCP向けのエージェントアダプターインターフェースとマッピング |
mnemo-events | パブリッシャー、コントローラー、ストアで共有する永続イベントとコマンドのコントラクト |
インストール方法
| 方法 | コマンド |
|---|---|
バージョン固定の安定版(v1.0.0) | curl -sSf https://raw.githubusercontent.com/jmeiracorbal/mnemo/main/install.sh | MNEMO_VERSION=v1.0.0 bash |
| 最新の安定版 | curl -sSf https://raw.githubusercontent.com/jmeiracorbal/mnemo/main/install.sh | bash |
| 1つのエージェント | bash -s -- --agent=codex |
| すべてのエージェント | bash -s -- --agent=all |
| ソースからビルド | go build -o ~/.local/bin/mnemo ./cmd/mnemo/ |
インストーラーは、すべてのエージェントに指示、MCPサーバー、フック、スキルを設定します。mnemoにはエージェントプラグインは付属しません。以前のリリースからmnemoのClaude CodeまたはCodexプラグインをインストールしている場合、mnemo doctorがそれを報告し、mnemo doctor --fixがプラグインを削除してインストーラーの設定に戻します。
更新用の全フラグとアンインストール手順については、Installationをご覧ください。
ドキュメント
| ガイド | 内容 |
|---|---|
| Wiki ホーム | ユーザードキュメントとナビゲーション |
| インストール | バイナリ、コントローラー、有効化、更新 |
| エージェント連携 | ネイティブ ID、フック、ツール、Codex の信頼設定 |
| 永続イベント | コントローラーのアーキテクチャと障害時の動作 |
| CLI リファレンス | コマンド、MCP ツール、検索モード |
| トラブルシューティング | 診断とコントローラーの復旧 |
| ストレージ | SQLite、マイグレーション、sqlc |
| ロードマップ | 製品とメンテナンスに関する今後の作業 |
設計原則
- ローカルファースト — メモリは SQLite を使ってお使いのマシンに保存されます
- エージェントに依存しない — 対応するコーディングエージェント全体で、単一のメモリ管理機能を利用できます
- プロジェクトごとにオプトイン —
.mnemoがない場合、グローバル連携は機能しません - 診断可能 — すべてのセットアップ項目は変更を加えずに確認でき、
mnemo doctor --fixで修復できます - 修復可能 — 重複したプロジェクトやメモリの競合を確認でき、CLI から修正できます
コミュニティ
mnemo がエージェントのワークフローに役立つ場合は、リポジトリにスターを付けてください。ローカルでエージェントに依存しないメモリを構築する価値があることを示す後押しになります。
ライセンス
Apache 2.0:著作権表示を保持し、すべての配布物に NOTICE を含めれば、自由に使用、変更、配布できます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。