Engram について
Engramは、AIモデル向けの永続メモリバックエンドです。エピソード・意味・手続きの記憶をセッション間で保持し、ローカル埋め込みとナレッジグラフを使ってMCPクライアントから共有できます。
主な機能
- 01エピソード・意味・手続きの記憶
- 02グラフ展開を伴う意味検索
- 03メモリの減衰と統合
- 04矛盾する記憶の検出と解決
- 05CLI、REST API、Atlasダッシュボード
活用シーン
- 01新しいAIセッションでプロジェクトの文脈を再利用
- 02複数のAIクライアント間で事実を保存・検索
- 03矛盾や古くなった記憶を確認
MCP 対応
Engramは、保存、検索、想起、リフレクション、矛盾処理などを行う24個のMCPツールを提供します。Claude CodeやClaude DesktopなどのMCP対応クライアントに接続できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Engram
あらゆるAIモデルに、永続的なメモリと認知レイヤーを提供するユニバーサルAIブレイン
Engramとは?
Engramは、あらゆるAIモデルに、セッション、システム、再起動をまたいで維持される人間のようなメモリを提供します。一度接続すれば、Claude Code、Ollama、その他のカスタム連携など、利用するすべてのAIが、成長し続けるひとつのブレインを共有できます。
ほとんどのAIツールは、セッションが終了した瞬間にすべてを忘れてしまいます。Engramはユニバーサルなメモリバックエンドとして機能し、AIが学習した内容を保存して、適切なタイミングで適切なメモリを取得し、コンテキストとして自動的に提示することで、この問題を解決します。
┌─ You tell Claude Code about your stack ──→ stored as semantic memory
└─ Next day, different tool, new session ──→ Engram recalls it automatically
機能
| 機能 | 説明 |
|---|---|
| 3種類のメモリ | エピソード記憶(出来事)、意味記憶(事実とナレッジグラフ)、手続き記憶(トリガー→アクションのパターン) |
| 7段階の想起パイプライン | 埋め込み → ベクトル検索 → グラフ展開 → スコアリング → ランキング → 切り詰め → ログ記録 |
| メモリの減衰とGC | エビングハウスの忘却曲線、古くなったメモリの自動アーカイブ、エピソード記憶から意味記憶への統合 |
| メモリのリフレクション | AI主導のインサイトエンジン — MCP経由で接続されたAIがメモリについて推論し、パターン、知識のギャップ、傾向、矛盾を明らかにします。Engram自体はLLMを実行せず、APIキーも外部への呼び出しも必要ありません。 |
| Atlasダッシュボード | Map、Recall、Review、Timeline、Insights、Settingsを搭載。ライト/ダークモードと⌘Kコマンドパレットにも対応 |
| オプションの名前空間 | デフォルトでは無効。プロジェクト/エージェントごとのフィルタリングや厳密な分離を有効にできます |
| 矛盾の検出 | 矛盾するメモリを自動検出し、5つの解決方法(keep_newest/oldest/important/both/manual)を利用できます |
| 埋め込みモデルの変更 | 埋め込みモデルを切り替え、ベクトルとともにモデルIDを保存し、一括再埋め込みパイプラインを利用できます |
| ストリーミング想起 | SSEエンドポイント — 確信度の高いメモリを先に返し、その後にグラフ展開による補完を行います |
| インデックスの永続化 | 起動を高速化するため、ベクトルインデックスをディスクに保存/読み込みできます(27~37倍の高速化) |
| CLIツール | ターミナルからengram store/search/recall/stats/forget/export/import/reflections/cloudを実行できます |
| インポート/エクスポート | CLIまたはAPI経由で、JSONまたはNDJSON形式の完全なバックアップと復元ができます |
| Webhook | 外部システムをメモリイベント(保存、忘却、減衰、統合、矛盾、リフレクション)に登録できます |
| タグ付けとコレクション | タグクラウド、タグによるフィルタリング、プレフィックスベースのコレクション(例:project:alpha) |
| プラグインシステム | 7つのライフサイクルフック(onStore、onRecall、onForget、onDecay、onReflect、onStartup、onShutdown) |
| 重要度の減衰 | ソースを考慮したデフォルトの重要度、未使用メモリの毎日の減衰、AIクライアント向けの保護ルール |
| インライン編集と一括操作 | APIとダッシュボードから、個別のメモリをPATCHし、タグ付け/アーカイブを一括で行えます |
| 可観測性 | デバッグエンドポイント、スコアリングの内訳、/docsのSwagger UI |
仕組み
Engram に接続された AI がクエリを受け取るたびに、次の処理が行われます。
- クエリを 384 次元のセマンティックベクトルに埋め込みます(ローカルで実行されるため、API も費用も不要です)。
- ベクトルインデックスを検索して、類似する過去の記憶を見つけます。
- ナレッジグラフを通じて範囲を広げ、関連する概念を取得します。
- セマンティック類似度+新しさ+重要度+アクセス頻度に基づいて候補をスコアリングします。
- 既存の記憶との矛盾がないか確認します。
- 組み立てたコンテキストを AI のプロンプトに挿入します。
AI は、これまでに学習したすべての情報を把握したうえで応答します。やり取りの後、応答は新たな記憶として保存され、脳は継続的に成長します。
記憶モデル
| 種類 | 保存内容 | 例 |
|---|---|---|
| エピソード記憶 | イベント、会話、タイムスタンプ付きのやり取り | 「ユーザーが 2026-03-15 にデプロイについて質問した」 |
| 意味記憶 | 事実、知識、概念+ナレッジグラフ | concept: TypeScript → 「JavaScript を型付けしたスーパーセット」 |
| 手続き記憶 | パターン、スキル、トリガー→アクションのルール | 「ユーザーが DB のマイグレーションについて質問したら → drizzle-kit generate を使う」 |
| 作業記憶 | クエリ用に動的に組み立てられるコンテキスト | (クエリ時に組み立てられ、保存されません) |
連携
Claude Code ──MCP──────────→ ┐
Claude Desktop ──extension────→ │ Engram → SQLite
Ollama ──proxy────────→ │ REST :4901
Any app ──REST─────────→ │
CLI ──direct───────→ ┘
| 連携先 | 方法 | 内容 |
|---|---|---|
| Claude Code | MCP(ネイティブツール 24 種) | store_memory、recall_context、request_reflection、… |
| Claude Desktop | ワンクリックのデスクトップ拡張機能 | Smithery またはリリースから .mcpb を取得 |
| Ollama | 透過的な HTTP プロキシ | クライアントの接続先を :11434 ではなく :11435 に設定 |
| 任意のアプリ | 直接 REST API を利用 | POST /api/recall + POST /api/memory |
| ターミナル | CLI | engram recall "what was the last decision?" |
クイックスタート
ワンコマンドインストール
Claude Code では、推奨プラグインまたは MCP とフックを設定する engram setup のどちらかを選択してください。両方を同時に使用しないでください。
# Memory for your AI client — npx-based MCP config, no clone/build
npx -y @engram-ai-memory/cli setup --npx
# Optional: REST API + Atlas dashboard on :4901 (the wizard clones and builds the server)
npm i -g @engram-ai-memory/cli
engram setup
engram start
最初のコマンドだけで、MCP クライアントの準備は完了します。サーバーの起動後、ダッシュボードには http://localhost:4901、Swagger UI には /docs からアクセスできます。
CLI コマンド
engram setup # Clone, build, install the CLI globally, wire up MCP
engram setup --npx # Fast setup — npx-based MCP config, no clone/build
engram setup --source cursor # Also picks WHICH client config file to write (see below)
engram init # Generate AI memory instructions (CLAUDE.md, .cursorrules, etc.)
engram init --client cursor # Generate instructions for a specific client
engram update # Pull, rebuild, re-link the CLI, restart the server
engram update --force # Update even with local repo changes (stashed, or kept on a backup branch)
engram update --no-restart # Update without restarting the server
engram start # Start the server (detached)
engram start --foreground # Run it in this terminal instead
engram stop # Stop the server — waits for it to actually exit
engram doctor # Health checks; exits 1 when it finds something
engram status # Server status + memory count
engram configure show # Print the current config
engram configure set <k> <v> # Change one setting
engram configure path # Print the config file path
engram cloud connect <url> # Configure multi-device sync against Postgres
engram cloud status # Sync state, last sync, pending pushes
engram cloud sync # Run one push + pull now
engram cloud encrypt # Turn on end-to-end encryption (prompts for the passphrase)
engram cloud devices # This device's sync identity
engram cloud disconnect # Stop syncing; the local database is untouched
engram setup --source <client> は、保存する記憶に付与する識別子と書き込む設定ファイルの両方を選択します。claude-code → ~/.claude.json、cursor → ~/.cursor/mcp.json、windsurf → ~/.codeium/windsurf/mcp_config.json となります。既定値を含むこれら以外の値を指定した場合、何も登録せず、手動で貼り付けるための JSON ブロックを表示します。~/.mcp.json に書き込むことはありません。このパスを読み取る MCP クライアントはありません。
engram stop、engram doctor、engram update は終了コードで失敗を報告するため、スクリプトで使用できます。stop はプロセスの終了を最大 10 秒待ち、プロセスがまだ実行中の可能性がある場合は 1 を返します(また、ポートを所有していない PID へのシグナル送信は拒否します)。doctor はいずれかのチェックが失敗すると 1 を返します。update はリポジトリが更新されているのに、ビルド、グローバル CLI の更新、または再起動が完了しなかった場合に 1 を返します。update は Git の状態だけでなくビルドスタンプも確認するため、アップグレード後の初回実行では、古い dist/ を見て「最新です」と報告するのではなく、必ず再ビルドします。
手動インストール(別の方法)
git clone https://github.com/ayvazyan10/engram
cd engram
pnpm install
pnpm turbo run build
node apps/server/dist/index.js
または、PM2 を使ってバックグラウンドで実行し続けます。
pnpm turbo run build
pm2 start ecosystem.config.cjs
pm2 logs engram
最初の記憶を保存する
curl -X POST http://localhost:4901/api/memory \
-H "Content-Type: application/json" \
-d '{"content": "User prefers TypeScript over JavaScript", "type": "semantic", "concept": "preferences"}'
脳に質問する
curl -X POST http://localhost:4901/api/recall \
-H "Content-Type: application/json" \
-d '{"query": "What language does the user prefer?"}'
CLI
ターミナルから使用するには、CLI をグローバルにインストールします。
npm i -g @engram-ai-memory/cli
# Store a memory
engram store "User prefers TypeScript" --type semantic --importance 0.8
# Search
engram search "TypeScript" --top 5
# Recall context (pipeable)
engram recall "what languages does the user prefer?" --raw
# Stats
engram stats
# Export/import
engram export > backup.json
engram import < backup.json
# Forget
engram forget a1b2c3d4-...
# Reflection (AI-driven — runs on the AI connected via MCP)
engram reflect-status # show whether a reflection cycle is due
engram reflections --type pattern # list stored pattern insights
リフレクションに LLM の設定は不要です
Engram が自らモデルを呼び出すことはありません。リフレクションのサイクルが到来すると、MCP 経由で接続された AI が request_reflection → store_reflection を通じて推論します。設定が必要なプロバイダー、モデル、API キーはありません。
データベースファイルを指定するには、ENGRAM_DB_PATH を設定します。
MCP のセットアップ(Claude Code、Cursor、Windsurf、Cline)
API 呼び出しやラッパーを使わず、Engram を MCP 対応 AI クライアントのネイティブツールとして追加できます。
以下の設定を、クライアントが読み込むファイルに追加してください。
| クライアント | 設定ファイル |
|---|---|
| Claude Code(ユーザースコープ) | ~/.claude.json |
| Claude Code(プロジェクトスコープ) | プロジェクトルートの .mcp.json |
| Cursor | ~/.cursor/mcp.json |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
engram setup --source <client> を実行すると、適切なファイルが書き込まれます。それ以外のクライアントでは各自のファイルを読み込むため、ドキュメントを確認し、同じブロックを貼り付けてください。
{
"mcpServers": {
"engram": {
"command": "npx",
"args": ["-y", "-p", "@engram-ai-memory/mcp@latest", "engram-mcp"],
"env": {
"ENGRAM_DB_PATH": "~/.engram/engram.db",
"ENGRAM_SOURCE": "claude-code"
}
}
}
}
注:
~/.claude/settings.jsonにmcpServersを記述しないでください。このファイルは Claude Code の設定専用です。MCP サーバーは~/.claude.json(ユーザースコープ)または.mcp.json(プロジェクトスコープ)に記述します。
engram setup でインストールした場合は、代わりにローカルビルドを指定できます。
{
"mcpServers": {
"engram": {
"command": "node",
"args": ["/home/you/.engram/repo/packages/mcp/dist/server.js"],
"env": {
"ENGRAM_DB_PATH": "~/.engram/engram.db",
"ENGRAM_SOURCE": "claude-code"
}
}
}
}
AI クライアントを再起動してください。24 個のツールが利用可能になります。
| カテゴリ | ツール |
|---|---|
| メモリ | store_memory, search_memory, recall_context, add_knowledge, forget |
| 統計とヘルス | memory_stats, index_status, embedding_status |
| ライフサイクル | decay_sweep, decay_policy, re_embed |
| 矛盾 | check_contradictions, resolve_contradiction |
| リフレクション | request_reflection, store_reflection, get_reflections |
| 蒸留 | get_distill_tasks, complete_distill |
| タグ | list_tags, tag_memory |
| Webhook | webhook_subscribe, webhook_list |
| プラグイン | plugin_list |
会話の自動保存(任意)
セッション終了時に会話の要約を Engram に自動保存するには、Claude Code のフックを追加してください。
# Copy the hook script
cp scripts/claude-code-hook.sh ~/.claude/hooks/engram-session-end.sh
chmod +x ~/.claude/hooks/engram-session-end.sh
~/.claude/settings.json に追加してください。
{
"hooks": {
"SessionEnd": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "~/.claude/hooks/engram-session-end.sh",
"timeout": 15
}
]
}
]
}
}
これで、すべてのセッションの要約が Engram に自動保存されます。手作業なしでナレッジが蓄積されます。
保存されたセッションには pending-distill タグが付けられます。Engram に接続された AI が get_distill_tasks を呼び出して永続化すべき事実を自ら抽出し(Engram は LLM を実行せず、API キーも必要ありません)、complete_distill を呼び出します。これにより、事実が保存された後、元のセッションがアーカイブされます。蒸留待ちのセッションがある場合、SessionStart が AI に通知します。
Claude Desktop 拡張機能(ワンクリックでインストール)
Claude Desktop に Engram を導入する最も手早い方法です。JSON を手動で編集する必要はありません。
Smithery 経由
smithery.ai/skills/ayvazyan10/engram にアクセスして Install をクリックし、必要に応じてデータベースのパスと名前空間を設定してください。Smithery が Claude Desktop を自動で設定します。
.mcpb デスクトップ拡張機能経由
GitHub Releases から engram-mcp.mcpb をダウンロードし、Claude Desktop で開いてください(File → Open Extension)。初回起動時に、バンドルが @engram-ai-memory/mcp を ~/.engram/mcp/ に自動インストールするため、セットアップは不要です。
ブートストラップの仕組み: 初回実行時に、
.mcpbバンドルが npm 経由で@engram-ai-memory/mcp@<version>を~/.engram/mcp/にインストールします。マーカーファイルにより、次回以降の起動時には再インストールされません。Claude Desktop ですべての 24 個の MCP ツールを利用できます。
パッケージ
環境変数
| 変数 | デフォルト | 説明 |
|---|---|---|
PORT | 4901 | API サーバーのポート |
HOST | 127.0.0.1 | バインドアドレス — デフォルトではループバックのみ |
ENGRAM_SOURCE | mcp-client | クライアント識別子(例:claude-code、cursor、windsurf) |
ENGRAM_DB_PATH | ~/.engram/engram.db | SQLite データベースのパス。空欄の場合はデフォルトが使用されます。~ と ~/x は展開されます |
ENGRAM_NAMESPACE_MODE | project | 名前空間の動作:project、none、filter、isolated |
ENGRAM_NAMESPACE | (なし) | モードが filter または isolated の場合に使用する名前空間の値。project の検出結果を上書きします |
ENGRAM_INDEX_PATH | {dbPath}.index | 永続ベクトルインデックスのパス |
ENGRAM_EMBEDDING_MODEL | Xenova/all-MiniLM-L6-v2 | 埋め込みモデルを上書きします |
ENGRAM_DECAY_INTERVAL | 3600000 | 自動減衰処理の間隔(ミリ秒) |
ENGRAM_DECAY_THRESHOLD | 0.05 | この値を下回る保持スコアのメモリはアーカイブされます |
ENGRAM_ALLOWED_ORIGINS | localhost dashboard origins | API 呼び出しを許可するブラウザーのオリジン(CORS + WebSocket)。ブラウザー以外のクライアント(CLI、MCP、curl)には影響しません。 |
ENGRAM_API_KEY | (なし) | 設定すると、/api/health を除くすべての API ルートで、X-API-Key または Authorization: Bearer によるこのキーの指定が必要になります。未設定の場合はオープンです(ローカル優先のデフォルト)。設定した値が空の場合は、認証を無効にすることなく起動を中止します。 |
ENGRAM_ALLOWED_HOSTS | (空) | /api/* の Host ヘッダーで許可するホスト名(DNS リバインディング対策)。IP リテラルと localhost は常に許可されます。逆プロキシや Docker サービス名など、名前でアクセスするものはすべて一覧に登録する必要があります。* を指定するとチェックが無効になります。 |
ENGRAM_RATE_LIMIT_MAX | 1000 | global ティアにおけるウィンドウごとのリクエスト数。ENGRAM_RATE_LIMIT_HEAVY_MAX(300)、ENGRAM_RATE_LIMIT_WHOLE_STORE_MAX(30)、ENGRAM_RATE_LIMIT_WINDOW_MS(60000)、ENGRAM_RATE_LIMIT_DISABLED も設定できます。 |
ENGRAM_CSP | (組み込みポリシー) | すべてのレスポンスで送信する Content-Security-Policy を上書きします。off を指定すると送信しません。 |
ENGRAM_WEBHOOK_ALLOW_PRIVATE | false | ループバック/プライベートアドレスへの Webhook 配信を許可します。SSRF 防止のためデフォルトでは拒否されます。Webhook の受信先が localhost またはプライベートネットワーク上にある場合は、true を設定してください。 |
ENGRAM_SYNC_URL | (なし) | 複数デバイス同期用の PostgreSQL 接続文字列。未設定の場合、同期は無効です。クラウド同期を参照してください。 |
ENGRAM_SYNC_MODE | auto | 同期の動作:auto(間隔とデバウンスによるバックグラウンド同期)、manual(明示的に実行した場合のみ)、off。 |
ENGRAM_SYNC_INTERVAL | 30000 | バックグラウンド同期の間隔(ミリ秒、auto モードのみ)。 |
ENGRAM_SYNC_ALLOW_UNENCRYPTED | false | TLS なしの PostgreSQL 接続を許可します。ローカル開発専用です。本番環境では常に sslmode=require を使用してください。 |
ENGRAM_SYNC_ENCRYPTION_KEY | (なし) | 同期データの E2E 暗号化に使用するパスフレーズ。未設定の場合、データは平文で Postgres に送信されます。クラウド同期を参照してください。 |
OLLAMA_PROXY_PORT | 11435 | Ollama プロキシのリッスンポート |
ENGRAM_PROXY_HOST | 127.0.0.1 | Ollama プロキシのバインドアドレス — デフォルトではループバックのみ。プロキシには認証がないため、より広い範囲にバインドすると、ネットワーク上のすべてのピアに GPU を動かすエンドポイントが公開されます。 |
ENGRAM_MAX_BODY_BYTES | 10485760 | プロキシ経由のリクエストボディの上限。超過すると、プロキシは 413 を返します。 |
ENGRAM_TOOL_RETRY | true | 失敗したツール呼び出しを、指示を付けて 1 回自動再試行します(プロキシ) |
project はデフォルトの設定です。Git リポジトリ内では、MCP サーバーとフックは絶対パスで示される Git のトップレベルディレクトリをスコープとし、そのプロジェクトのメモリとグローバルメモリを読み込みます。リポジトリ外では、共有プールを使用します。filter は ENGRAM_NAMESPACE をスコープとします。isolated と ENGRAM_NAMESPACE の組み合わせでは境界が固定され、上書きや別の名前空間へのクエリは拒否されます。REST サーバーとダッシュボードは常に none として動作し、すべてのプロジェクトを参照します。既存のメモリの名前空間は NULL で、グローバルのままです。
概要です。docs/CONFIGURATION.mdには、Securityのすべての項目を含む完全な一覧があります。engram startは~/.engram/config.jsonからサーバーの環境を設定するため、管理対象のシェル変数は上書きされます。詳しくはCLI sectionをご覧ください。
ポート
| サービス | ポート | 用途 |
|---|---|---|
| Engram API | 4901 | REST + WebSocket + Swagger UI |
| ダッシュボード | 4901 | Atlas ダッシュボード(API サーバーから配信) |
| ダッシュボード(Docker) | 4902 | 単独のダッシュボードコンテナ(任意) |
| Ollama Proxy | 11435 | メモリ注入プロキシ → Ollama |
docker composeは、同期テスト用Postgres(5432)に加えて、3つのポートすべてをループバックのみに公開します。APIを意図的に公開するには、ENGRAM_API_KEYを設定し、ENGRAM_ALLOWED_HOSTSに公開ホスト名を追加してから、公開アドレスを変更してください。
すべてのポートは、一般的な開発サービス(3000、5173、8080など)との競合を避けるため、49xxの範囲にあります。
ライブデモ
# Load demo memories with knowledge graph connections
cd packages/core && npx tsx scripts/demo.ts
# Open the Atlas dashboard
# → http://localhost:4901
**Atlas のビュー:**マップ · リコール · レビュー · タイムライン · インサイト · 設定
名前付きリージョン、「意味/障害/時間」のレンズ、検索ピンを使って、マップ上でメモリを探索できます。ビュー切り替え機能では、#/?view=sky|landscape|river|pulseから遅延読み込みされる4つのビューを利用できます。Skyは意味と経過時間に基づいて配置されたWebGLの夜空、Landscapeは現在から7/30/90日後までの減衰予測を表示する保持領域、Riverはブラシによるズームとリージョン追従機能を備えた、リージョンごとに枝分かれする履歴、Pulseはランク、グラフからの取得、トークン予算、除外項目を表示する読み取り専用のリコール説明です。リコールでは、AIに伝えられる内容を、番号付きの経路と正確なコンテキストとともに表示します。矛盾、ほぼ同一の項目、薄れつつある重要なメモリ、秘密情報の可能性を確認できます。検出された秘密情報には「Redact」を使用してください。任意のメモリを開いて確認または編集できます。アーカイブ操作とメモリシートの矛盾操作では、6秒以内なら取り消せます。タイムラインではメモリを日ごとにグループ化し、インサイトには「Numbers」と「Reflections」があり、設定には接続手順とヘルス情報が表示されます。初回接続は「Welcome」が案内します。
ライトモードまたはダークモードを使用するか、システム設定に従わせることができます。⌘K / Ctrl+Kでコマンドを開き、メモリビュー間を移動しても同じプロジェクトのスコープが維持されます。レイアウトはスマートフォンに対応し、キーボードナビゲーションと、マップと並んで表示されるアクセシブルなリストを備えています。
パフォーマンス
| 指標 | 値 | 方法 |
|---|---|---|
| リコールのレイテンシ(メモリ100件) | 約18ms p50 | メモリ内コサインスキャン + 重要度スコアリング |
| 保存スループット | 約120 mem/s | SQLite WAL + 自動リンク |
| 埋め込み | 8ms/text | ローカル ONNX/WASM(all-MiniLM-L6-v2) |
| コールド起動(メモリ1,000件) | 約1.2s | DB全件スキャン + インデックス構築 |
| キャッシュ済み起動(メモリ1,000件) | 約45ms | 永続化インデックス(27倍高速) |
| メモリあたりのストレージ | 約1.3 KB | FP16圧縮(50%削減) |
| ダッシュボードのJS予算 | 初期読み込み ≤ 200 KB / Insightsの遅延読み込み ≤ 125 KB / 3Dビューの遅延読み込み ≤ 220 KB(gzip) | グラフはInsightsとともに読み込まれます。three.jsはSky/Landscapeとともに読み込まれます。check:bundleで上限を適用します |
埋め込みはONNX Runtime WASMを使ってローカルで実行されます。OpenAI APIは不要で、費用もかからず、データがマシンの外部に送信されることもありません。
ドキュメント
| ドキュメント | 説明 |
|---|---|
| docs/ARCHITECTURE.md | システム設計、データフロー、コンポーネントの概要 |
| docs/API.md | REST APIの完全なリファレンス(53エンドポイント) |
| docs/INTEGRATIONS.md | Claude Code、Ollama、REST、ウェブフック、プラグイン |
| docs/DEVELOPMENT.md | モノレポ、ビルドシステム、コントリビューション |
| docs/CONFIGURATION.md | 環境変数、データベース、チューニング |
インタラクティブなSwagger UI:http://localhost:4901/docs
マーケティングサイトとインタラクティブなドキュメント:engram.am
コントリビューション
バグ修正、新しい連携機能、ほかの AI ツール向けのアダプター、視覚化の改善、ドキュメントなど、あらゆる種類のコントリビューションを歓迎します。
ガイドラインについては、CONTRIBUTING.md をご覧ください。
特に以下の分野でのご協力を歓迎します。
- 新しいアダプター — LM Studio、llama.cpp、Anthropic API、OpenAI API
- モバイル/ブラウザー — 軽量なブラウザー側のメモリークライアント
- マルチモーダル埋め込み — テキストに加えて画像や音声も扱える埋め込み
- 複数デバイス間のクラウド同期 — SQLite をローカルエンジンとして維持し、
ENGRAM_SYNC_URLを介して共有 PostgreSQL インスタンスにデバイス間で複製します(クラウド同期を参照) - ANN ベクトルインデックス — 総当たりのコサイン類似度スキャンを HNSW に置き換え、メモリー数に比例して検索が遅くなる問題を解消します
使用例
例 1 — セッション開始時:関連するコンテキストを想起する
User: "Continue working on the auth refactor"
Claude: [calls recall_context("auth refactor current status")]
→ Returns past decisions, code patterns, and session notes about auth
ツール:recall_context · 入力:{ "query": "auth refactor current status", "maxTokens": 1500 } · 出力:一致したメモリーとスコアを含む、整形済みのコンテキストブロック。
例 2 — 決定事項を保存する
User: "Always use drizzle-kit migrate, never drizzle-kit push — it broke prod once"
Claude: [calls store_memory with type "procedural", importance 0.95]
→ Next session: search_memory("database migrations") surfaces this rule automatically
ツール:store_memory → search_memory · セッションをまたいだ永続化を示します。
例 3 — 矛盾の検出
User (day 1): "Production runs on PostgreSQL 15"
User (day 30): "We migrated prod to SQLite WAL last month"
Claude: [store_memory returns contradictions detected]
→ calls resolve_contradiction(strategy: "keep_newest")
ツール:store_memory + resolve_contradiction · Engram は信頼度 0.87 で矛盾を検出し、古くなった信念をアーカイブします。
プライバシーポリシー
Engram は、設計上、ローカルファーストでプライバシーを保護します。
- デフォルトでローカルに保存。 すべてのメモリーはローカルの SQLite データベース(
~/.engram/engram.db)に保存されます。クラウド同期を明示的に有効にしない限り、データが端末の外に送信されることはありません。 - クラウド同期はオプトインです。
ENGRAM_SYNC_URLを設定すると、お客様が所有・管理する PostgreSQL データベースにメモリーが複製されます。Engram が外部にデータを送信したり、独自にサードパーティーのサービスを利用したりすることはありません。クラウド同期をご覧ください。 - すべての埋め込み処理はデバイス上で実行されます。
all-MiniLM-L6-v2モデルは@xenova/transformersを介してローカルで実行されるため、外部の埋め込み API 呼び出しはありません。 - テレメトリーはありません。 Engram が使用統計、クラッシュレポート、その他の分析データを収集することはありません。
- Webhook はオプトインです。 Webhook を設定すると、メモリーのイベントが選択した URL に送信されます。すべてお客様の管理下にあります。
プライバシーポリシー全文:https://engram.am/privacy
ライセンス
MIT — LICENSE をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。