KMP について
KMPは、コーディングエージェント向けのローカル優先メモリです。会話記録ではなく、決定、根拠、時点を組み込みSQLiteに保存し、セッションをまたぐ検索と監査に対応します。根拠がなければUNKNOWNと答えます。
主な機能
- 01決定と根拠、時点の記録
- 02メモリの根拠の検索と監査
- 03時間軸や関連性に沿った閲覧
- 04ChronoLoomビューアの表示
- 05プロジェクトメモリのJSONL出力
活用シーン
- 01新しいセッションで決定事項を復元
- 02決定の根拠を追跡
- 03過去の時点での情報を確認
- 04プロジェクトメモリを出力して確認
MCP 対応
ローカルstdioのMCPサーバーが、メモリの検索、監査、閲覧、書き込み用の型付きツールを提供します。共有ChronoLoomビューも操作でき、利用可能なツールはtools/listで確認します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
KMP — 理由まで記憶するエージェントメモリ
ローカルファースト。証拠を添付。時刻も記録。
KMP はコーディングエージェント向けのローカルファーストなメモリです。Codex、Claude Code、Hermes Agent と並行して、SQLite ストアを組み込んだ小さな単一バイナリとして動作し、何が決定され、根拠は何で、いつ起きたのかを記憶します。会話のトランスクリプトは記憶しません。アカウントもサービスも API キーも不要です。メモリはあなたのマシン上にとどまります。
エージェントに 「なぜ SQLite を選んだのですか?」 と尋ねると、保存された証拠に基づいて答えるか、推測せずに UNKNOWN と答えます。「この決定の根拠となるメモリを見せてください」 と尋ねると、バイナリに同梱されたビューアー ChronoLoom がその決定を表示し、証拠への経路をハイライトします。時刻を移動できる軸として扱い、あなたとエージェントが一緒にビューを操作できます。メモリツールは証拠を取得して監査し、ビューツールは共有された ChronoLoom のビューを操作します。また、実行中のサーバーの tools/list が現在利用できる機能を定義します。
問題
エージェントが今日、何かを決定します。明日、新しいセッションや別のエージェントが同じインシデントを一から調べ直したり、その理由が失われたコンテキストウィンドウに残っていたために、ひそかに決定と矛盾したりします。要約からは理由が失われ、トランスクリプトの中では埋もれてしまいます。
KMP は、決定、その根拠となった証拠、そして起きた時点を、次のセッションが再導出するのではなく照会できる、型付きの時間的メモリとして保持します。
- 主張できる内容は証拠によって決まります。
- 関係性が、2 つのメモリが結び付いている理由を伝えます。
- 時間移動は明示的で、カーソルベースかつ監査可能です。
- 古い決定は、ひそかに書き換えず、新しい決定に置き換えられたものとして残ります。
- 証拠がない場合は、
UNKNOWNが誠実な回答です。
2 分で試す
ホストに KMP をインストールし(下記参照)、任意のプロジェクトで次を実行します。
kmp-mcp demo
そのプロジェクトのメモリに、チェックアウトサービス、インシデント、以前の決定に取って代わった決定、それを検証した測定を含む具体例を書き込みます。その例を表示するよう ChronoLoom を開き、尋ねる質問を表示します。
| あなたの質問 | 得られる回答 |
|---|---|
| 「決済プロバイダーへのリトライ上限が 2 回なのはなぜですか?」 | インシデントと、その中で参照されている ADR を伴う決定です。 |
| 「2026 年 8 月時点では、リトライについてどう考えていましたか?」 | その時点での以前の決定です。後から置き換えられた上限ではありません。 |
| 「2026 年 9 月にリトライについて何が変わりましたか?」 | インシデント、上限、測定の順に表示されます。 |
| 「リトライ上限の決定の根拠となるメモリを見せてください。」 | ChronoLoom がその決定を表示し、証拠への経路をハイライトします。 |
リクエストでは KMP と example:kmp-demo について尋ねてください。この例がプロジェクトのコミット対象バンドルに含まれることはありません。その他の例(KMP 自身のメモリを含む)をご覧ください。
インストール
プラグインをインストールしてセットアップを実行し、ホストを一度再起動します。ガイドを初めて読み込むと新しいストアに接続されるため、ほかに実行するものはありません。
Claude Code
/plugin marketplace add underpass-ai/kmp@marketplace
/plugin install kmp@underpass
/kmp:setup
Codex CLI
codex plugin marketplace add underpass-ai/kmp --ref marketplace
codex plugin add kmp@underpass
次に、Codex に kmp-setup を実行するよう依頼します。
Hermes Agent
kmp-mcp をインストールしたら、ネイティブのライフサイクルを通じて登録し、スキルをインストールします。
kmp-mcp setup --hermes
検証
kmp-mcp doctor
または /kmp:doctor を実行します。MCP の登録はプラグインが管理するため、KMP サーバーを手動で追加しないでください。公開済みのエンジンがないプラットフォームでは、代替手段として cargo install kmp-mcp --locked を使用できます。MCPB パッケージ、リリース用 tarball、Pi コーディングエージェントについては、プラグインのインストールガイドをご覧ください。ストアの選択と修復については、Embedded KMPをご覧ください。
人に話しかけるように使う
通常は、得たい結果を伝えるだけです。KMP スキルが適切なメモリ操作を選びます。
| あなたの発言 | エージェントの動作 | 得られるもの |
|---|---|---|
| 「KMP のドキュメント作業を続けて。」 | 再導出する前に project:kmp を呼び起こします。 | 現在の決定、制約、次のアクション。 |
| 「なぜ SQLite を選んだの?」 | メモリに問い合わせ、保存された根拠をたどります。 | 根拠に基づいた回答、または UNKNOWN。 |
| 「KMP は昨日のことをどう覚えている?」 | 期間を特定し、その期間のすべての時間ページをたどります。 | その期間の記憶を順序立てて表示します。 |
| 「3 月にローンチを延期したのはなぜ?」 | 3 月の時点に立ってメモリに問い合わせます。その期間内の情報だけが候補となり、ライフサイクルは当時の状態として読み取られます。 | その時点の根拠に基づいた回答、または期間外の最も近い一致を示す UNKNOWN。 |
| 「ログに増幅が見られたため、リトライの上限を 2 回にすることを覚えておいて。」 | 決定、その根拠、意味のある関連性を記録します。 | 理由を監査できる、永続的な状態。 |
| 「このインシデントとあの決定の間にある証拠を見せて。」 | 型付きの経路をたどり、その証拠を調べます。 | 保存されたつながり、根拠、情報源。 |
| 「あの決定を取り消して。」 | 古い状態に優先する状態を書き込みます。 | どちらの決定も時系列で確認できます。 |
| 「プロジェクトのメモリを保存して。」 | 維持されているプロジェクトバンドルをエクスポートし、差分を表示します。 | レビュー可能な .kmp/memory.jsonl。 |
KMP はメモリであり、監視ではありません。会話の記録ではなく、永続させるべき決定と証拠を保存してください。
また、KMP は呼びかけられるまで待機します。メモリに一切触れないセッションでは、KMP はまったく呼び出されません。KMP の名前を出す、/kmp:* コマンドを実行する、またはプロジェクトの CLAUDE.md や AGENTS.md からオプトインすることで、初めて利用経路が開きます。既知の作業に自動で入ってほしい場合は、次のようにします。
kmp-mcp config memory-routing always
kmp-mcp config memory-routing on-request # the default
どの言語で尋ねてもかまいません。保存された証拠は翻訳されず、回答は質問した言語で返されます。その仕組み。
仕組み — 10 秒でわかる概要
flowchart LR
U[You] --> H[Codex or Claude]
H --> S[KMP skill]
S -->|chooses a move| M[kmp-mcp]
M --> K[embedded kernel]
K --> D[(.kernel/\nSQLite)]
K --> V[local read-only viewer]
プラグインはスキルをインストールし、ローカルの MCP プロセスを 1 つ宣言します。スキルは意図を 1 つ以上の型付きツールに変換します。kmp-mcp がリクエストを検証し、カーネルがローカルのグラフ・時系列ストアを読み書きします。返された証拠を会話形式の文章にするのは KMP ではなく、エージェントです。
| レイヤー | 担当すること | 担当しないこと |
|---|---|---|
| プラグイン | インストール、ホストの検出、スキル、および単一の MCP 宣言。 | メモリのセマンティクスや、2 つ目のツール用語体系。 |
| スキル | 復元、質問、移動、監査、書き込み、診断、保存、復元を行うタイミング。 | 永続化。 |
kmp‑mcp | ローカル stdio を介した、スキーマ検証済みのツール境界。 | ユーザーの文章からワークフローを選ぶこと。 |
| カーネル | 検証、時間情報を含むストレージ、トラバーサル、決定論的な検索、証明。 | 文章の生成や、根拠の捏造。 |
ローカルはローカル
| 境界 | デフォルトの動作 |
|---|---|
| メモリ | 通常、リポジトリの .kernel/ に保存されます。 |
| MCP トランスポート | エージェントホストと kmp-mcp の間でローカル stdio を使用します。 |
| ビューアー | 読み取り専用のループバック HTTP で、通常は http://127.0.0.1:7317/ をルートとし、セッションごとに生成されるランダムなケイパビリティで保護されます。 |
| 外部サービス | 必須の外部サービスはありません。オプションの TypeSafe Jev 統合では、選択したテキストが設定済みのサービスに送信されます。 |
| Underpass | この経路ではメモリを受け取らず、サービスも運用しません。 |
| アップデート | セットアップとアップデートでは、チェックサム付きパッケージの確認のために GitHub Releases に接続します。Claude セッションフックは、リリースを毎日確認できます。 |
| ローカルメタデータ | エージェントの ID とガイドの配信記録はメモリ検索の対象外に保存されます。品質診断には別のローカルジャーナルを使用します。 |
| クラウドエージェント | クラウドエージェントに返されるエビデンスには、そのホストのデータポリシーが適用されます。 |
.kernel/ はマシンの状態を保存する場所であり、git では無視されます。プロジェクトスコープのストアでは、.kmp/memory.jsonl も維持されます。エクスポートと Git のコミットはローカル操作ですが、バンドルをプッシュ、同期、共有すると、その内容が別の場所からも利用可能になります。共有する前に差分を確認してください。エージェントが読み取るエビデンスにも、バンドルを共有するかどうかとは別に、ホストのデータポリシーが適用されます。
KMP 独自のメモリ
このリポジトリは、自分自身の仕組みを自ら活用しています。.kmp/memory.jsonl は、KMP が現在の形になった理由を記録したメモリです。各決定と、それを記したドキュメント、さらに古い決定に取って代わった決定が記録されています。/kmp:restore で復元し、「なぜリリースでは最後にマーケットプレイスブランチを進めるのですか?」と尋ねてみてください。書き方。
本当に必要なときの共有メモリ
複数のマシンで、Neo4j、Valkey、NATS JetStream を基盤とする Kubernetes トポロジーを通じて、1 つの稼働中の KMP サービスを共有できます。引き続き無料のオープンソースであり、自分で運用します。「エンタープライズ」とは運用形態を表すものであり、有料プランや Underpass がホストする製品を意味するものではありません。また、インフラストラクチャ、TLS、ID、認可、オブザーバビリティを自ら管理する必要があるということです。そうした責任を担う価値が生まれるまでは、ローカルで使い続けてください。そのときはエンタープライズ KMPをお読みください。
プロジェクトのステータス
KMP は 1.0 より前の段階です。今すぐ役立ち、活発に進化しており、注意が必要な点も明示しています。リリースの自動化では、Linux x86_64/arm64、macOS arm64/x86_64、Windows x86_64 向けに kmp-mcp をビルドします。組み込みの経路がデフォルトです。リモート API のバージョンは v1beta1 で、オペレーターによる運用を前提としています。
古いベンチマークの数値を README に貼り付けることはしません。再現可能で最新のエビデンスは、主張として示す前にリサーチに記載します。
FAQ
KMP は私のメモリをどこかに送信しますか?
デフォルトの組み込みセットアップでは送信しません。プロセス、ストア、ビューアーはローカルで動作します。エージェントホストはクラウドベースの場合があるため、そのエージェントに送信されるエビデンスにはホストのポリシーが適用されます。
Docker、Kubernetes、データベースサーバーは必要ですか?
いいえ。付属の組み込みバイナリは SQLite を使用します。Kubernetes が必要なのは共有サービスを運用する場合のみです。
KMP に LLM は組み込まれていますか?
デフォルトの組み込み経路では、生成モデルは必要ありません。KMP はエビデンスを検証、保存、検索します。最終的な回答と英語の検索用要約は、エージェントが作成します。オプションの TypeSafe Jev 機能では、判断のために選択したテキストを外部モデルに送信します。また、オプションのセマンティック検索ではローカルエンコーダーを使用します。これらの統合には、明示的な設定が必要です。検索のデフォルト設定とオプトインを参照してください。
Codex と Claude は同じメモリを共有できますか?
はい。どちらも同じ MCP コントラクトを使用し、SQLite は複数のローカルホストに対応しています。マシン間で状態を移動するには、保守されているプロジェクトバンドルを使用してください。ネットワーク経由で共有するには、エンタープライズトポロジーを使用してください。
UNKNOWN はエラーですか?
いいえ。選択されたメモリに、質問に対する対象となるエビデンスが含まれていなかったことを意味します。自信ありげな作り話をするより安全です。
ツールが消えました。どうすればよいですか?
ホストの kmp-doctor ワークフローを実行し、
ツールが見つからない場合のランブックに従ってください。よくある原因は、ホストセッションが古いこと、MCP の所有権が重複していること、バイナリが見つからないこと、またはサポートされていないストア形式です。
エンタープライズ KMP は有料ですか?
いいえ。コードは Apache-2.0 です。実行するインフラストラクチャは、任意に選択して運用し、その費用を負担してください。
MCP の動き
記憶を越えて、人が見ているビューを越えて、さらに永続的なエージェント ID と段階的なガイダンスのためのものです。tools/list が基準です。
| ツール | 目的 |
|---|---|
kmp_guide | 機能マップを開き、エージェント ID を保持し、実例カードを 1 つ展開します。 |
kmp_wake | 作業を続ける前に、コンパクトな状態を復元します。 |
kmp_ask | 意味に関する質問への証拠を取得するか、UNKNOWN を返します。 |
kmp_relate | 複数の about の記憶が、共有するスパン、スコープ、クロックにおいて互いにどう関係するかを読み取ります。 |
kmp_time | 1 つのクロック上で記憶を移動します。rewind と forward はカーソルまたは区間から前後にページ移動し、goto は時刻、シーケンス、または ref に移動し、near はその周辺を読み取ります。 |
kmp_trace | 2 つの ref 間の経路を監査するか、シード ref から証拠を検索します。返された根拠と完全性を確認します。 |
kmp_inspect | 明示的な about 内の 1 つのオブジェクトを、そのリンクと証拠とともに調べます。 |
kmp_write_memory | 決定、制約、または結果を検証して記録します。 |
kmp_ingest | 正確な正規記憶グラフを取り込みます。 |
kmp_relabel | 記憶のテキストを書き換えずに、その記憶を表すラベルを変更します。追加、削除、および理由の指定ができます。 |
kmp_condense | 保存された本文 1 つについて、読み取った正確なバージョンに紐付けたコンパクトなリーダーカードを作成します。 |
kmp_summaries_audit | ある about の記憶が、英語の検索用要約に対してどのような状態にあるかを読み取ります。欠けているもの、リンターが拒否するもの、存在していても検索結果がほとんど得られないものを確認します。 |
kmp_curate | TypeSafe Jev をオプトインの二人目の読者として、1 つ以上の about の関係を確認します。何も宣言されていないペアと、Jev が選ぶ型、および Jev が理由を疑う宣言済みの関係を確認します。すべての関係はエージェントが書き込みます。 |
kmp_view_open | about 上の ChronoLoom ビューを開くか、再ハイドレートします。 |
kmp_view_apply_intent | 楽観的同時実行制御のもと、意味を宣言してビューを移動します。フォーカス、クロック、ズーム、フィルター、選択が対象です。 |
kmp_view_get_state | ビューの意味上の状態を読み取ります。ピクセル情報は読み取りません。 |
ビュー用ツールが記憶を書き込むことはありません。座標を含まない、閉じた意味的語彙を使用します。また、織機を操作している人が優先されます。古いリビジョンを基に準備されたインテントは、ビューを無理に動かすのではなく、競合として扱われます。
kmp-setup、kmp-doctor、kmp-info、kmp-catchup、kmp-save、kmp-restore、kmp-revert などの人間向けワークフローは、MCP の機能群を組み合わせて使います。これらは追加の記憶操作ではありません。機械的にチェックされる所有権マップは
plugins/kmp/capabilities.jsonです。
ドキュメントとプロジェクトのリンク
- ドキュメントのトップページ
- 組み込み KMP
- 取得時のデフォルト設定とストアの構成
- 言語
- 例
- エンタープライズ KMP
- 技術アーキテクチャ
- ランブック
- 開発
- 研究
- コントリビューション
- セキュリティポリシー
- 変更履歴
- イシュー · ディスカッション
文章と食い違う場合は、実装と実行可能なチェックが優先されます。MCP スキーマ、プラグイン機能、CLI ヘルプ、Helm の値、API コントラクト、CI スクリプトが信頼できる情報源です。
ライセンス
Apache License 2.0。無料で利用できるオープンソースです。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。