engram について
Engram は複数の AI コーディングエージェント向けのセルフホスト型調整サービスで、状態の共有、セッション間のコンテキスト維持、相互通信を支援します。最新状態の解決、分岐を保持する競合処理、状態を追跡するメッセージ機能を備えています。
主な機能
- 01エンティティ・観察記録・関係の共有
- 02置き換えられた記録から最新状態を解決
- 03同時更新の競合を分岐として保持
- 04直接および能力ベースのメッセージ送信
- 05予算管理付きのセッション再開とチェックポイント
活用シーン
- 01複数のコーディングエージェントでプロジェクト状態を共有
- 02セッションをまたいで作業コンテキストを復元
- 03エージェント間のレビューや連絡を調整
- 04同時更新による競合分岐を保持
MCP 対応
Engram は複数の AI コーディングエージェント向けに共有状態とメッセージ機能を提供する MCP サーバーです。Docker サーバーと、MCP クライアント向けの stdio bridge で構成されます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @tomcat65/engram-mcpAPI_KEYシークレットShared API key authenticating the bridge to your self-hosted Engram server (generate with: npx -y @tomcat65/engram-mcp init)MCP_HOSTEngram server host (default 127.0.0.1)MCP_PORTEngram server port (default 6174)ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Engram
エージェント群のための調整バス+共有する真実です。 セルフホスト可能な2コンポーネント構成で、Docker 化されたサーバーと、MCP クライアント向けの軽量な stdio ブリッジで構成されます。
Engram は、複数の AI コーディングエージェント(Claude Code、Codex、Cursor、カスタムハーネス)が状態を共有し、セッションをまたいでコンテキストを保持し、互いに連携できるようにする MCP サーバーです。単なる別のメモリストアではありません。差別化要素は次のとおりです。
- 旧情報の置き換え+最新状態の解決:観察結果は互いに置き換えられ(
replace-current)、get_current_observationはサーバー側でその連鎖を解決します。そのため、読み手には置き換えられていない最新の状態が返されます。競合処理は実装済みです:checkpointはブランチを保持する CAS です。並行する書き込みは上書きせずにブランチを作成し、競合はヘッドとして表面化します。競合が暗黙に解決されることはありません(コントラクトテスト済み。証拠台帳を参照)。 - 追跡可能な配信ライフサイクルを備えたエージェント間メッセージング:直接送信と機能ベースの送信、メッセージの置き換え、共有シグナルとしての既読状態、アトミックな確認応答+アーカイブ。(配信保証ではなく、追跡可能なライフサイクルとして説明しています。状態はサーバーが把握している内容を正直に示します。)
- Adaptive Coordination Protocol(ACP):サーバーとともに発展した、ETA 主導の連携規律です。docs/SPEC.md として公開されており、2つのハーネスを使った実践チュートリアルもあります。
ドキュメント
| ドキュメント | 内容 |
|---|---|
| クイックスタート | クリーンなマシンから、約15分で2つのエージェントを連携させる方法 |
| 概念 | ひとつの最新の真実、メッセージングのライフサイクル、再開/チェックポイント、誠実なセキュリティモデル |
| ACP 仕様 | バージョン管理された連携プロトコル(1.0.0) |
| チュートリアル | Engram を介した、実際の Claude Code ↔ Codex レビューループの注釈付きトランスクリプト |
| ツール互換性マップ | 19個のツールで構成される v1 のインターフェース。廃止された各ツールと、その正確な置き換え先 |
| バックアップと復元 | テスト済みの SQLite バックアップ/復元/圧縮手順書 |
ステータス
公開済みです。 @tomcat65/[email protected] は npm レジストリで公開されており、ソースコードは github.com/tomcat65/engram で公開されています。インストール手順はコントラクトテスト済みで、公開後にクリーンなマシンでスモークテストを実施して検証しました。npx -y @tomcat65/engram-mcp で実行ファイルが解決され、初回起動ウィザードもレジストリからのインストール直後に実行できます。
基本ルール:このドキュメントに記載するすべての主張は、テストまたは測定結果に基づいている必要があります(下記の証拠台帳を参照)。根拠のない主張はバグです。
エビデンス台帳
| 主張 | エビデンス | ソース | 日付 |
|---|---|---|---|
| ツリーは正常で、すべてのゲートを通過 | lock-verify(マニフェストに紐づくピンが一致)、クリーンな npm ci、スクリプト整合性、型チェック、ビルド、テスト(33 ファイル、408 成功 | 2 スキップ | 6 保留)、schema-docs、最終ツリーのスモークテスト、docker build — すべて PASS、終了コード 0 | このリポジトリ、internal/run-staged-proof.sh | 2026-07-16 |
| ドキュメント記載の環境変数でランタイムが起動 | 最終ツリーのスモークテストゲート:.env.example の変数と生成したキーでサーバーが起動し、認証済み MCP リクエストが成功し、DB がドキュメント記載のパスに作成され、ブリッジが同じ契約でラウンドトリップし、compose のポートがループバックにバインドされ、変更されていないプレースホルダーキーでは起動に失敗 | このリポジトリ、internal/final-tree-smoke.mjs | 2026-07-16 |
| resume/checkpoint と競合処理を実装済み | ENG-4 P0 契約テストスイート(実行可能なテスト 120 件:CAS 分岐、競合ヘッド、冪等なリプレイ、予算カバレッジの閉包性、スコープに紐づくハンドル) | tests/contract-eng4-p0.test.ts | 2026-07-16 |
| インストール手順が機能 | CLI 契約テストスイート(9 件:bin マッピング、ウィザードによるキー生成と解析可能な設定、.env の一度限りの書き込み、ライブデモのラウンドトリップをサーバー側で検証、ブリッジへの委譲) | tests/contract-cli.test.ts | 2026-07-16 |
| 安全性を重視したデフォルト設定 | プレースホルダーキーでは起動に失敗、compose のポートはループバックにバインド、CORS_ORIGINS が設定されていない限り CORS はクロスオリジンアクセスを許可しない(テスト済み) | internal/final-tree-smoke.mjs、tests/contract-cli.test.ts | 2026-07-16 |
| ディスカバリーで正確な情報を提供 | tools/list はハンドラーが実装する凍結済みスキーマを正確に提示し、廃止されたレガシー形式はスキーマで拒否(敵対的レビューでドリフトが見つかった後に回帰テストを追加) | tests/contract-eng4-p0.test.ts | 2026-07-16 |
| レジストリで公開済み、インストール可能 | npm publish が 2FA(認証と書き込み、セキュリティキー)で成功、npm view @tomcat65/engram-mcp version → 0.1.0、クリーンマシンでのスモークテスト:新しい npx キャッシュから、npx -y @tomcat65/engram-mcp --help と … init をレジストリからのインストールで実行 | npm レジストリ、公開後のスモークテスト | 2026-07-16 |
v1 の機能範囲(概要)
- インストール(2 コンポーネント構成):
docker compose upでサーバーを起動し、各 MCP クライアントで@tomcat65/engram-mcpの stdio ブリッジを使用します。初回実行ウィザードで API キーを生成し、Claude Code/Codex/Cursor/Claude Desktop 用の、貼り付けてすぐ使える設定を表示します。任意で、ほかにデータがない DB に名前空間付き(demo-*)のデモデータを投入できます。 - ナレッジグラフ:エンティティ、観察結果、関係、置き換え、現在状態の解決、競合の提示。
- エージェントのメッセージング:直接送信、機能ベース、置き換えに対応し、配信のライフサイクルを追跡します。
resume/checkpoint:予算に基づき、カバレッジを漏れなく集計しながら 1 回の呼び出しでセッションを再構成します。また、CAS で保護され、分岐を保持する構造化状態のキャプチャに対応します。- ACP:バージョン管理された仕様と、実際の手順を示すサンプルとしての調整プロトコルです。
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。