Monet について
Monetはコーディングエージェント向けのローカル優先メモリで、原則、ルール、修正内容を端末内に保存します。MCPサーバーとコマンドラインがプロジェクトごとにメモリを整理し、作業中のエージェントに関連情報を提供します。
主な機能
- 01ローカルSQLiteメモリストア
- 02端末上の埋め込み処理
- 03プロジェクト別サークル
- 04メモリ対応MCPサーバー
- 05メモリグラフダッシュボード
- 06ストアの診断と修復
活用シーン
- 01コーディングエージェントにプロジェクトルールを共有
- 02修正内容を記録して再指摘を防止
- 03メモリの概念と関係を確認
- 04埋め込みストアの診断や修復
MCP 対応
MonetはMCPに対応し、サーバーを通じてローカル保存されたメモリをコーディングエージェントに提供します。コマンドラインからストアの確認と保守も行えます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
monet
メモリによって、エージェントの行動が変わります。
🌐 team-monet.com · **MCP Registry**に掲載
Monetは、意図した成果を実現するために構築された、コーディングエージェント向けのローカル優先のメモリです。あなたとチームが本当に必要とする原則、ルール、修正を保持し、エージェントの作業中に提供します。原則は常に有効で、ルールは適用されるタイミングで読み込まれ、修正は記録されるため、同じ修正を二度行う必要はありません。100%ローカル(SQLite + デバイス上の埋め込み)で動作し、MCPを使用します。
はじめましょう — エージェントにセットアップを任せる
Monetを使う最も簡単な方法は、エージェントにインストールと設定を任せることです。Claude Codeに次の1行を貼り付けてください(対応エージェントは近日追加予定です)。
すべてのプロジェクトにMonetをセットアップしてください:https://raw.githubusercontent.com/team-monet/monet/main/harness/bootstrap/install.md を読み、各手順で私に確認しながら実行してください。
エージェントがMonetをインストールし、MCP サーバーを設定して、メモリ対応のエージェントチームを導入します。手動の設定も、環境変数も不要です。 これはwith-monetハーネスを使う方法です。Monet repoのharness/にあり、推奨される方法です。
⭐ Monetが役に立ったら、GitHubでMonetにスターを付けてください — プロジェクトを応援する最良の方法です。
設定不要
Monetは~/.monetに1つのローカルストアを保持し、各プロジェクトを自動的に専用のサークルに整理します。設定は不要です。すべてのデータはお使いのマシン内にとどまります。
メモリを見る — monet dashboard
1つのコマンドを実行すると、Monetのメモリを探索可能な力指向グラフとして表示するローカルのウェブビューが開きます。
monet dashboard
ブラウザーで自動的に開きます。開かない場合(Windowsやヘッドレス環境の一部の設定など)は、ターミナルにURL(http://localhost:7373)とストアのパスが表示されます。そのURLにアクセスしてください。メインビューはGraphタブです。ノードは概念(種類ごとに色分けされ、重要度に応じたサイズ)を、エッジは概念間の関係を表します。詳細パネルでは、各概念の本文全体と根拠を確認できます。Concepts、Entities、Timeline、Healthの各タブは並べ替え可能なテーブルです。Healthには、矛盾、重複、信頼度の低い概念が表示されます。グラフが空に見える場合は、ターミナルのStore:行を確認してください。通常、空のグラフは別のストアを指している(-dを使用してください)か、ストアがまだ新しいことを意味します。
100%ローカル。完全オフライン。厳密な読み取り専用。 サーバーはリクエストごとにストアを一時的なスナップショットにコピーするため、ライブデータベースに書き込んだり、ロックしたりすることはありません。ネットワーク接続は行われません。Wi-Fiをオフにして実行しても、グラフは表示されます。
monet dashboard # opens at http://localhost:7373
monet dashboard -p 8080 # -p, --port <n> custom port
monet dashboard -d ./path # -d, --dir <path> point at a specific store
エンベッダーストアを診断・修復する — monet doctor / monet repair
Monet でエンベッダーのピンの不一致、中断された埋め込み移行、不正なベクトル、または利用できないローカルモデルが報告された場合は、まず読み取り専用の診断コマンドを実行してください。
monet doctor
monet doctor --check-provider # also load and probe the exact pinned provider
monet doctor --dir ~/.monet --json # machine-readable result; diagnostics stay on stderr
doctor は、データベースの絶対パス、SQLite の整合性とスキーマ、永続化されたモデルピン、4 種類すべての稼働中の埋め込みデータ(次元と不正な行のサンプルを含む)、移行センチネルがあればその内容、およびコピーして実行できる次のコマンドを出力します。MonetCore を構築したり、データベースを変更したりすることはありません。診断が正常なら終了コード 0、診断が完了していて復旧またはプロバイダーへの対応が必要なら終了コード 2、検査に失敗した場合は終了コード 1 になります。利用できないプロバイダーはストアの安全性とは別に報告されます。たとえば、未対応のハッシュ化トークナイザーや ONNX キャッシュの欠落だけでは、データベースが破損していることにはなりません。ピンだけでは形状を証明できない ONNX またはカスタムモデル ID の場合、--check-provider を指定すると、正確なプロバイダーが読み込まれ、クリーンな稼働中のデータがすべて同じ一致するベクトル幅を持つ場合に限り、それ以外は unknown となる評価を確定できます。
サーバーがまったく起動しない場合
サーバーを起動できないホストから報告されるのは、接続が閉じられたという内容だけです。トランスポートは、失敗する可能性のある起動手順がすべて成功するまで存在しないため、失敗の説明に使えるプロトコルチャネルが残っていません。原因はストアの隣にある monet.db.startup-failure.json に記録されます。記録には、失敗した手順、エラーとそのコード、時刻、PID が含まれます。この記録は1つのデータベースに対応するサイドカーで、そのデータベース名が付けられるため、複数のストアがあるディレクトリでも診断結果が混在しません。doctor は、ストア自体の破損がひどく検査できない場合も含め、ほかの情報より先にこの記録を標準エラー出力へ表示します。
この記録に保持されるのは直近の失敗のみで、後から起動に成功しても消去されません。ホストは再試行するため、「失敗 → 失敗 → 成功」は通常の動作であり、成功時に消去すると失敗した試行の証拠が失われてしまいます。対応を行う前にタイムスタンプを確認してください。
確認フラグを両方指定しない限り、修復はプレビューとして実行されます。モードを1つだけ選択してください。
# Preview a complete rewrite to a built-in provider alias.
monet repair --target hashing
monet repair --target onnx
# Exact persisted model IDs are also accepted (quote them in scripts).
monet repair --target 'hashing:dim=256:tok=2' --json
# Apply only after reviewing the preview; this command never prompts.
monet repair --target hashing --apply --yes
# An interrupted migration must use the sentinel's exact target.
monet repair --resume
monet repair --resume --apply --yes
# Abandon is available only when core proves no vectors were rewritten and can restore the prior pin.
monet repair --abandon
monet repair --abandon --apply --yes
プレビューでは、適用コマンドを提示する前に永続化された状態を分類します。ピンが設定されていない空のストア、またはプロバイダーに適合するクリーンな同一ターゲットのストアでは、action: none と表示されます。この場合、バックアップも書き換えも不要であり、--apply --yes は拒否されます。中止のプレビューも、センチネルが存在し、コアの診断で安全と分類されている場合を除いて拒否されます。有効なターゲットのプレビューまたは再開のプレビューでは、正確なプロバイダーを読み込んで検査しますが、変更のためにデータベースを開くことはありません。適用時には、プロバイダーを再度事前確認し、SQLite の排他的な所有権を取得してから、コアがスキーマまたは埋め込みを移行する前に検証済みのバックアップを作成します。バックアップは自動的に作成され、無効化や保存先の変更はできません。
<storage-directory>/backups/monet-before-repair-<UTC>-<uuid>.db
バックアップのパスは直ちに表示され、その後の処理が失敗しても保持されます。排他的な所有権を取得できない場合は、ほかの Monet プロセスを停止してから同じコマンドを再実行してください。実行中の移行センチネルを削除したり、ピンを手動で編集したりしないでください。--resume を使うか、プレビューでコアが中止を安全と分類した場合に限り --abandon を使ってください。プレビューと適用が成功すると終了コード 0、無効なフラグ、プロバイダーのエラー、ロック、安全でない中止の試み、バックアップの失敗、または移行の失敗があると終了コード 1 になります。
ライセンス
Monet は GNU Affero General Public License v3.0(AGPL-3.0-only)の下でライセンスされています。利用条件の全文は、このパッケージに含まれる LICENSE ファイルに記載されています。with-monet ハーネスは、Apache License 2.0 の下で別途ライセンスされています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。