mcpField
E
Engram

Engram

ローカル
github.com/ayvazyan10メモリ・ナレッジ101 週間前に更新

Engram について

Engramは、AIモデル向けの永続メモリバックエンドです。エピソード・意味・手続きの記憶をセッション間で保持し、ローカル埋め込みとナレッジグラフを使ってMCPクライアントから共有できます。

主な機能

  1. 01エピソード・意味・手続きの記憶
  2. 02グラフ展開を伴う意味検索
  3. 03メモリの減衰と統合
  4. 04矛盾する記憶の検出と解決
  5. 05CLI、REST API、Atlasダッシュボード

活用シーン

  1. 01新しいAIセッションでプロジェクトの文脈を再利用
  2. 02複数のAIクライアント間で事実を保存・検索
  3. 03矛盾や古くなった記憶を確認

MCP 対応

Engramは、保存、検索、想起、リフレクション、矛盾処理などを行う24個のMCPツールを提供します。Claude CodeやClaude DesktopなどのMCP対応クライアントに接続できます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"engram-ayvazyan10": {
"command": "npx",
"args": [
"-y",
"@engram-ai-memory/mcp"
]
}
}
}
起動コマンドnpx -y @engram-ai-memory/mcp

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

パッケージ
npm@engram-ai-memory/mcp

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Engram ロゴ

Engram

あらゆるAIモデルに、永続的なメモリと認知レイヤーを提供するユニバーサルAIブレイン

CI npm @engram-ai-memory/core npm @engram-ai-memory/mcp Smithery License: MIT Node.js 22+ pnpm 9+

クイックスタート · 機能 · CLI · ドキュメント · ライブデモ · 連携 · コントリビュート


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 がクエリを受け取るたびに、次の処理が行われます。

  1. クエリを 384 次元のセマンティックベクトルに埋め込みます(ローカルで実行されるため、API も費用も不要です)。
  2. ベクトルインデックスを検索して、類似する過去の記憶を見つけます。
  3. ナレッジグラフを通じて範囲を広げ、関連する概念を取得します。
  4. セマンティック類似度+新しさ+重要度+アクセス頻度に基づいて候補をスコアリングします。
  5. 既存の記憶との矛盾がないか確認します。
  6. 組み立てたコンテキストを 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 CodeMCP(ネイティブツール 24 種)store_memory、recall_context、request_reflection、…
Claude Desktopワンクリックのデスクトップ拡張機能Smithery またはリリースから .mcpb を取得
Ollama透過的な HTTP プロキシクライアントの接続先を :11434 ではなく :11435 に設定
任意のアプリ直接 REST API を利用POST /api/recall + POST /api/memory
ターミナルCLIengram 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
Webhookwebhook_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 にインストール

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 ツールを利用できます。


パッケージ

パッケージ説明npm
@engram-ai-memory/coreブレイン — メモリエンジン、埋め込み、グラフ、検索、減衰、内省npm
@engram-ai-memory/mcpMCP サーバー — Claude Code および MCP 互換クライアント向けの 24 個のツールnpm
@engram-ai-memory/cliCLI — ターミナルからの保存、検索、想起、内省、統計、エクスポート、インポートnpm
@engram-ai-memory/serverFastify REST API + Socket.io WebSocket(53 個のエンドポイント)—
@engram-ai-memory/webAtlas ダッシュボード — マップ、想起、レビュー、タイムライン、インサイト、設定—
@engram-ai-memory/vis力学ベースのレイアウト + アニメーションヘルパーnpm
@engram-ai-memory/adapter-ollama透過的な Ollama メモリプロキシ(:11435)—

環境変数

変数デフォルト説明
PORT4901API サーバーのポート
HOST127.0.0.1バインドアドレス — デフォルトではループバックのみ
ENGRAM_SOURCEmcp-clientクライアント識別子(例:claude-code、cursor、windsurf)
ENGRAM_DB_PATH~/.engram/engram.dbSQLite データベースのパス。空欄の場合はデフォルトが使用されます。~ と ~/x は展開されます
ENGRAM_NAMESPACE_MODEproject名前空間の動作:project、none、filter、isolated
ENGRAM_NAMESPACE(なし)モードが filter または isolated の場合に使用する名前空間の値。project の検出結果を上書きします
ENGRAM_INDEX_PATH{dbPath}.index永続ベクトルインデックスのパス
ENGRAM_EMBEDDING_MODELXenova/all-MiniLM-L6-v2埋め込みモデルを上書きします
ENGRAM_DECAY_INTERVAL3600000自動減衰処理の間隔(ミリ秒)
ENGRAM_DECAY_THRESHOLD0.05この値を下回る保持スコアのメモリはアーカイブされます
ENGRAM_ALLOWED_ORIGINSlocalhost dashboard originsAPI 呼び出しを許可するブラウザーのオリジン(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_MAX1000global ティアにおけるウィンドウごとのリクエスト数。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_PRIVATEfalseループバック/プライベートアドレスへの Webhook 配信を許可します。SSRF 防止のためデフォルトでは拒否されます。Webhook の受信先が localhost またはプライベートネットワーク上にある場合は、true を設定してください。
ENGRAM_SYNC_URL(なし)複数デバイス同期用の PostgreSQL 接続文字列。未設定の場合、同期は無効です。クラウド同期を参照してください。
ENGRAM_SYNC_MODEauto同期の動作:auto(間隔とデバウンスによるバックグラウンド同期)、manual(明示的に実行した場合のみ)、off。
ENGRAM_SYNC_INTERVAL30000バックグラウンド同期の間隔(ミリ秒、auto モードのみ)。
ENGRAM_SYNC_ALLOW_UNENCRYPTEDfalseTLS なしの PostgreSQL 接続を許可します。ローカル開発専用です。本番環境では常に sslmode=require を使用してください。
ENGRAM_SYNC_ENCRYPTION_KEY(なし)同期データの E2E 暗号化に使用するパスフレーズ。未設定の場合、データは平文で Postgres に送信されます。クラウド同期を参照してください。
OLLAMA_PROXY_PORT11435Ollama プロキシのリッスンポート
ENGRAM_PROXY_HOST127.0.0.1Ollama プロキシのバインドアドレス — デフォルトではループバックのみ。プロキシには認証がないため、より広い範囲にバインドすると、ネットワーク上のすべてのピアに GPU を動かすエンドポイントが公開されます。
ENGRAM_MAX_BODY_BYTES10485760プロキシ経由のリクエストボディの上限。超過すると、プロキシは 413 を返します。
ENGRAM_TOOL_RETRYtrue失敗したツール呼び出しを、指示を付けて 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 API4901REST + WebSocket + Swagger UI
ダッシュボード4901Atlas ダッシュボード(API サーバーから配信)
ダッシュボード(Docker)4902単独のダッシュボードコンテナ(任意)
Ollama Proxy11435メモリ注入プロキシ → 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/sSQLite WAL + 自動リンク
埋め込み8ms/textローカル ONNX/WASM(all-MiniLM-L6-v2)
コールド起動(メモリ1,000件)約1.2sDB全件スキャン + インデックス構築
キャッシュ済み起動(メモリ1,000件)約45ms永続化インデックス(27倍高速)
メモリあたりのストレージ約1.3 KBFP16圧縮(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.mdREST APIの完全なリファレンス(53エンドポイント)
docs/INTEGRATIONS.mdClaude 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 エコシステムのために ♥ を込めて構築。開発者:Razmik Ayvazyan

コメント

MCP は初めてですか?

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

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