mcpField
M
memoir

memoir

ローカル
github.com/camgittメモリ・ナレッジ141 日前に更新

memoir について

Memoirは、コーディングエージェント向けのプロジェクト単位の記憶・引き継ぎシステムです。判断、理由、目標、次の作業を読みやすいローカルファイルに保存し、MCPサーバーでの保存・検索と、任意のローカル、Git、クラウドバックアップに対応します。

主な機能

  1. 01プロジェクトの判断と理由をローカルファイルに保存
  2. 02MCPツールでコンテキストを保存・取得
  3. 03目標、質問、次の作業を再開
  4. 04ローカルの字句検索で記憶を検索
  5. 05ローカル、Git、クラウドのデータをバックアップ・復元
  6. 06プロジェクトの引き継ぎと復旧スナップショット

活用シーン

  1. 01後のセッションでプロジェクト作業を再開
  2. 02CodexとCursor間でプロジェクト情報を引き継ぐ
  3. 03保存した判断と関連箇所を検索
  4. 04複数のマシン間で記憶をバックアップ・復元

MCP 対応

Memoirは、コーディングエージェントがプロジェクトの記憶を保存・取得できるMCPサーバーを提供します。セットアップにより、Claude Code、Codex、Cursorなどの対応クライアントにプロジェクト用MCP設定を追加します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"camgitt-memoir": {
"command": "npx",
"args": [
"-y",
"memoir-cli"
]
}
}
}
起動コマンドnpx -y memoir-cli

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmmemoir-cli3.17.6

ツール

6

掲載時のツール一覧 · 今日に更新

このツールにパラメーターはありません。

詳細

Memoir

コーディングエージェント向けの、持ち運び可能なプロジェクト単位のメモリーとセッション引き継ぎ機能です。

Memoir は、決定事項、根拠、目標、次のアクションを読みやすいローカルファイルに保存します。MCP サーバーを使って、エージェントがそのコンテキストを保存・取得できます。任意のローカル、Git、クラウドバックアップを使えば、マシン間でデータを移動できます。

信頼性に関する変更については、修正記録をご覧ください。暗号化されたバックアップを共有しているクライアントをアップグレードする前に、アップグレードと復旧のガイドをご確認ください。

このコンピューター上で Codex と Cursor の間で作業を続ける

Memoir には、プロジェクト専用の別個の引き継ぎ機能があります。Memoir を通じて実際に実行したチェックから、回答済みの質問、決定事項、次のアクション、実行記録を引き継ぎます。個人用メモリーやトランスクリプトはインポートしません。

以下のプロジェクト引き継ぎ、ブラウザビュー、復旧コマンドを使うには、バージョン 3.16.0 以降が必要です。

npm install -g [email protected]
cd /path/to/your/project
memoir work setup
memoir work resume
memoir work view

ソース開発では、依存関係をインストールし、memoir を Memoir のチェックアウトからの node bin/memoir.js に置き換えてください。

Codex または Cursor で同じフォルダーとブランチを開き、**「このプロジェクトを続けて」**と伝えてください。管理対象の指示では、プロジェクトの MCP 接続を使用します。接続できない場合は、同梱の CLI にフォールバックします。既存の設定や承認ポリシーは保持されます。ただし、エージェントが指示に従う必要があります。通常のターミナルチェックは自動では記録されません。

プロジェクトビューは、このコンピューターのブラウザで開きます。保存した回答を検索したり、チェックを再実行する必要がある理由を確認したり、決定事項を修正したり、次回の引き継ぎ対象から削除したりできます。削除した記録は復元でき、以前のバージョンはローカル履歴に残ります。ビューの使用中はターミナルを開いたままにし、終了するには Ctrl+C を押してください。エージェントに**「Memoir のプロジェクトビューを開いて」**と頼むこともできます。実際のブラウザーテストと、新しいセッションにおける継続性の結果の限界については、ローカルビューの検証をご覧ください。その後のデバッグ修正と復旧テストでは、保存の遅延、中断された応答、設定の保持について説明しています。

チェックは、クライアントの通常のターミナル権限を使って memoir work check から実行します。MCP メモリー接続からコマンドを実行することは意図的にできないようになっています。敵対的監査と残る信頼上の制約をご覧ください。

プロジェクトの台帳は、無視対象の .memoir/ ファイル内に保存されます。このワークフローでは、これらのファイルを GitHub 経由で同期したり、異なるチェックアウト間で受け渡したりすることはありません。コマンド、修正、プライバシーの境界、チェックを再実行する必要がある場合については、セットアップと日常的な使い方のガイドをご覧ください。この機能は npm からインストールした場合もローカルで動作し、パッケージを公開してもプロジェクトの台帳はアップロードされません。

プロジェクトの引き継ぎには、自動ローカル復旧スナップショットが追加されました。memoir work doctor を実行するとスナップショットを確認できます。または、memoir work backup --output /path/to/backup.memoir を実行すると、プロジェクトの外部に暗号化されたコピーを作成できます。復旧では変更を適用する前にプレビューを表示し、元のファイルを保持します。バックアップと復旧をご覧ください。

既存のメモリーとバックアップのワークフロー

CLI は Node.js 18 以降で実行できます。本番環境では、保守が続けられている LTS リリース(Node 22 または 24)を選んでください。Node 18/20 は引き続き互換性テストの対象です。Node のリリースポリシーをご覧ください。

npm install -g memoir-cli
cd /path/to/project
memoir setup --tool claude,codex,cursor
memoir goal "Finish the account recovery flow"
memoir note "Use single-use recovery codes" --why "Prevent replay"
memoir next "Test expired recovery codes"
memoir recall "recovery codes"
memoir resume

setup は既存の設定を保持し、プロジェクトの MCP エントリーを書き込み、Memoir サーバーを起動してツールを確認します。クライアントを再起動し、プロジェクトの信頼/MCP プロンプトを承認してください。サーバーが起動しても、特定のクライアントバージョンが設定を承認したことにはなりません。

ソース開発では、npm ci を実行してから node bin/memoir.js setup を実行してください。生成されるエントリーでは、Node とサーバーのパスに絶対パスが使われます。インストール先を移動した後は内容を確認してください。異なる既存の Memoir エントリーは、確認用に保持されます。

memoir activate は、管理対象の使用手順を追加し、検出された対応クライアントをセットアップします。memoir resume --inject --to codex は、プロジェクトの AGENTS.md に管理対象の引き継ぎ情報を追加し、他の内容を保持します。

記憶と継続性

  • memoir_note は、範囲を限定した決定事項とその根拠を記録します。作業サマリーがいっぱいになると、古い決定事項はアーカイブされます。
  • memoir_remember は、標準となる Markdown 記録を書き込みます。返された ID を memoir_read で開き、tool: "memoir"、filepath: "<id>.md" を指定します。
  • memoir_recall は、アクティブなプロジェクトと共有記録を検索し、一致する箇所、パス、行の根拠、利用可能な場合は ID を返します。
  • Recall は増分字句インデックスを再利用しながら、クエリごとにソースの変更とスコープを確認します。新しいプロジェクトの指示は、時間指定のキャッシュ遅延なしで検出されます。取得の動作とベンチマークを参照してください。
  • memoir_resume は、目標、次のアクション、質問、決定事項を返し、保存されたコミットとチェックアウトの状態を比較します。古い観察記録があっても、現在のテストに合格していることを意味しません。
  • memoir_forget は、決定事項との一致または標準 ID を受け付けます。非表示の記録は、リコール/セッション表示から除外されます。purge: true を指定すると、現在の標準テキストとローカルのリビジョン履歴も削除されます。

標準メモリは ~/.config/memoir/memories/ に、セッション状態は ~/.config/memoir/session.json に保存されます。これらのソースファイルはデバイス上でプレーンテキストです。バックアップの暗号化では、これらは暗号化されません。

新しいメモリでは、MEMOIR_PROJECT_ROOT または作業ディレクトリが使用されます。一般的な設定には、明示的に scope: "shared" を指定してください。Git の識別では、一般的な SSH/HTTPS のリモート表記が認識されます。ローカルの識別はホームディレクトリを基準とします。名前の変更、通常とは異なるリモートの別名、異なるディレクトリ構成では、明示的なスコープ選択が必要になることがあります。プロファイルはバックアップ先を選択するものであり、独立したセキュリティテナントではありません。

スコープのメタデータがないレガシー記録は、認識された Claude のプロジェクトディレクトリを除き、共有として扱われます。厳格な分離を前提にする前に、インポートした履歴を確認し、ラベルを付けてください。スコープは整理上の境界であり、ファイルシステムの読み取りをすでに許可されているエージェントに対する認証ではありません。

バックアップと復元

初回使用時にはローカル設定が作成されます。GitHub リポジトリが作成されたり、自動的にアップロードされたりすることはありません。別の保存先と暗号化を選択するには、memoir init を使用してください。

memoir push
memoir restore
memoir push --only claude,codex
memoir restore --only codex

フィルターを適用したプッシュでは、他のツール/マシンのファイルは保持されます。ツール間の継続性を保つため、ツールのフィルターとともにセッション記録と標準記録も保存されます。

暗号化されたローカル/Git バックアップでは、MEMOIR_PASSPHRASE を環境変数またはパスワードマネージャー経由で指定するか、対話的に入力してください。6 文字のレガシーシークレットは引き続き読み取り可能ですが、新しいバックアップには長く一意のシークレットを使用してください。暗号化が設定されていない場合、ヘッドレスでの書き込みが暗黙的にプレーンテキストを選択することはありません。

スナップショットでは、マニフェストとすべてのファイルが認証されます。ブロブの欠落、コンテンツの破損、安全でないパス、シンボリックリンク、サイズ超過の入力がある場合、復元は失敗します。暗号化されたプッシュを繰り返すと、置き換えの前に以前のスナップショットが検証され、マージされます。ローカルの暗号化移行では、切り替え後に現在の保存先からプレーンテキストが削除されますが、Git の履歴やファイルシステムのスナップショットには、以前のプレーンテキストが残っている可能性があります。

ローカルへのプッシュでは、読み取り/マージ/書き込みの操作全体がロックされます。Git は、強制プッシュを行わずに競合するリモート更新を拒否します。新しい状態を読み取ってマージするには、再試行してください。専用のバックアップディレクトリを使用してください。

クラウド

新しいクラウドへの書き込みには、MEMOIR_CLOUD_PASSPHRASE(または MEMOIR_PASSPHRASE)に、ユーザー自身が保持する12文字以上のシークレットが必要です。アカウント情報から導出されることも、メタデータとして送信されることもありません。クライアント側の暗号化はすべてのプランで利用でき、Pro 限定ではありません。

memoir cloud push
memoir cloud restore
memoir cloud restore --version 3
memoir cloud migrate
memoir cloud migrate --apply

書き込みを行うには、ロールアウトガイドに記載されたデータベースのマイグレーションが必要です。マイグレーションがない場合、アップロード前にバージョンの割り当てが失敗します。Memoir のホステッドサービスには、2026年9月6日にこのマイグレーションが適用されました。詳しくはデプロイの確認項目をご覧ください。セルフホストサービスでは、新しい書き込みを有効にする前に適用する必要があります。

cloud migrate は計画を表示します。--apply は古いバックアップをそれぞれダウンロードし、ユーザーパスフレーズで保護した置き換えを作成してダウンロードとバイト単位の検証を行った後、古いオブジェクトを削除します。移行が中断された場合、作成済みの置き換えを再利用できます。復旧するすべてのデバイスでシークレットを利用できるようにしてください。パスフレーズを紛失した場合の復旧サービスはありません。

従来のアカウントIDをキーとするクラウドバックアップと、暗号化されていないクラウドバックアップは、警告付きで引き続き読み取れます。保護方式が変わるのは、置き換えられた場合のみです。ランダムなボールトキーによるラッピング、デバイスの登録、ハードウェアベースのストレージ、独立したレビューを経たキーのローテーションは、今後の課題です。

最新のクラウドからの復元では、保持されているバージョンからセッションと正規状態がマージされるため、追加のダウンロードが必要です。明示的なバージョン指定による復元では、そのスナップショットが選択されます。クラウドのテストではバックエンドをシミュレートします。本番環境の認可とテナント分離には、別途検証が必要です。

オプションのワークスペースファイル

memoir push --workspace は、アクティブなプロジェクトから対象となるファイルを取得します。Git で無視されていない未追跡ファイルも含まれます。ホームディレクトリ全体をアーカイブすることはありません。

memoir restore --workspace は、対象ファイルを ~/memoir-restored/ 配下の新しいフォルダーに検証して復元します。復元後に内容を確認できます。既存のチェックアウトには変更を加えません。コミット情報は記録されますが、これはファイルのスナップショットであり、Git 履歴のバックアップではありません。

一般的なシークレットのファイル名と、検出されたパターンは除外され、マニフェストに記載されます。検出はヒューリスティックです。古い tar ベースのワークスペースアーカイブは保持されますが、自動抽出は行われなくなりました。

サポート対象の環境

環境機能検証の範囲
Claude Codeプロジェクトの MCP 設定、Memoir ツール、指示のインポート/エクスポートJSON の保持と実際のサーバー起動をテスト済み
Codexプロジェクトの TOML MCP 設定、Memoir ツール、AGENTS.md のインポート/エクスポート、~/.codex/AGENTS.md 内の固定セッションブロックTOML の往復処理とサーバー起動をテスト済み
Cursorプロジェクトの MCP 設定、Memoir ツール、ルールのインポート/エクスポートJSON の保持とサーバー起動をテスト済み
その他の既存アダプター選択したメモリ/設定のインポート/エクスポートアダプターのフィクスチャ。ネイティブなセッション継続性全体を対象とするものではありません
汎用 MCP クライアントMemoir ツールの契約実際の stdio テスト

設定に関するリファレンス:Claude Code、Codex、Cursor。

検索、プライバシー、制限事項

検索は、フィールド/文書頻度による重み付け、エイリアス、フィルタリング、パッセージ予算を用いた、ローカルで Unicode に対応した字句検索です。セマンティック検索ではなく、最先端の結果を実証したものでもありません。

メモリはコンテキストであり、コマンドの実行やツールの設定を許可するものではありません。モデルが書き込んだ記録は、既定で unverified になります。トランスクリプトの自動取得はベストエフォートであり、作業が成功した証拠として扱ってはなりません。

memoir consolidate は重複ファイルや古いファイルを報告します。類似性だけを根拠に、異なる内容を削除することはできません。確定した削除には復旧用コピーが保持され、表示された memoir consolidate --undo <id> を実行すると、存在しない保存先に復元されます。--smart を指定すると、上限付きの抜粋が明示的に Gemini API に送信されます。モデルは MEMOIR_CONSOLIDATE_MODEL で選択してください。

memoir clean-decisions は、自分が行った選択ではなく、正規表現との一致によってトランスクリプトの取得が作成した決定を報告します。取得パターンの冒頭部分で節の途中で切れている行が対象です。報告のみを行います。--apply を指定すると hidden: true でトゥームストーン化しますが、削除は行わないため、テキストはディスク上に残り、監査可能な状態が保たれます。検出は保守的なテキストベースの処理であるため、漏れた行を見逃すことがあり、why や却下した代替案を含む項目は検出対象になりません。

SessionStart フック(memoir hooks install)をインストールすると、memoir auto-refresh は短いセッション概要を標準出力に表示し、Claude Code がそれをモデルのコンテキストに追加します。概要の提供は、モデルが memoir_session を呼び出すかどうかに左右されなくなります。概要は約 300 トークンに制限され、伝える内容がない場合は何も表示せず、コンパクション時はスキップされ、MEMOIR_NO_SESSION_BRIEF で無効化できます。memoir auto-refresh --show-brief でプレビューできます。手書きの [project] テキスト接頭辞を最初に、次に保存済みのプロジェクトフィールドを使って対象を絞り込みます。タグのない項目は専用の見出しの下に表示され、現在のリポジトリに関する事実として提示されることはありません。

push --redact は、ステージされたテキストをヒューリスティックに編集します。元の内容や過去のバックアップは編集しません。これを指定しない場合、通常のメモリバックアップでは警告を表示し、内容を保持します。匿名の利用状況テレメトリーは、新規インストールでも既存のインストールでも、既定でオフです。memoir telemetry on で有効にし、memoir telemetry status で状態を確認し、memoir telemetry off で無効にします。オプトイン後であっても、DO_NOT_TRACK=1 または MEMOIR_TELEMETRY=0 が設定されていると、リモートテレメトリーは常に無効になります。オフの場合、初回実行時も含め、テレメトリーのネットワーク通信は行われません。ローカルイベントでは実行の失敗と成功を区別しますが、回答の有用性は測定しません。

忘却は、更新済みのクライアント間では、後続の同期時に反映されます。古いクライアント、スナップショット、Git の履歴には、削除済みのテキストが残っている場合があります。すべての履歴コピーを完全に消去する作業は別途必要です。ネイティブ設定の復元は、複数のアプリケーションディレクトリにまたがる場合、アトミックではありません。

開発

npm ci
npm test
node evals/run.mjs
npm audit --omit=dev
npm pack --ignore-scripts

テストでは、合成ホームディレクトリとローカルの Git リモートを使用します。CI では Node 18/20/22/24 を使用する macOS/Linux/Windows が宣言されています。シェルのテストスイートは Windows ではスキップされます。検証上の制限については、remediation status と release gates を参照してください。

MIT ライセンス

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。