Engram について
Engramは、セッションをまたいで情報を保持・検索したいAIエージェント向けのローカルメモリーシステムです。SQLiteでオフライン動作し、書き込み時にシークレットを自動検出します。
主な機能
- 01SQLiteによるローカル永続メモリー
- 02セマンティック検索と全文検索
- 03書き込み時のシークレット自動検出
- 04フィードバック、矛盾検出、重複排除
- 05任意のオンデバイスLLM抽出
- 06MCP、REST、ダッシュボードを提供
活用シーン
- 01プロジェクトの決定や好みをセッション間で保持
- 02エージェントが保存した事実を検索
- 03矛盾の確認や重複メモリーの整理
- 04複数のAIクライアント間でメモリーを共有
MCP 対応
EngramはstdioのMCPサーバーを通じ、メモリーの保存、検索、削除、評価、コンテキスト生成、状態確認のツールをAIエージェントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Engram
AI エージェントのための永続メモリ。プロセス内で動作。インフラ不要。
クラウド、API キー、Docker を使わずに、何年も一緒に働いてきた同僚のような記憶を AI エージェントに与えます。
⭐ 役に立ちましたか? GitHub でスターを付けてください — Engram をほかの人に見つけてもらうための、最も簡単な方法です。
npm install -g @hbarefoot/engram
engram start

AI エージェントが長期記憶を使えるようになります。2分で完了し、セットアップもクラウドも不要です。
- 🧠 プロセス内で動作 — エージェントのスタック内で実行されます。別途デプロイするサーバーも、IPC のオーバーヘッドも、フォークも不要です。
- 📴 オフライン — ローカルの SQLite とバンドル済みの埋め込みモデル(約23 MB)を使用します。API キーは不要で、データがマシンの外に出ることもありません。
- 🔌 MCP ネイティブ — Claude Desktop、Claude Code、Cursor、Windsurf、Cline とファーストクラスの Model Context Protocol 統合を提供します。
- 🔐 デフォルトで安全 — 書き込みのたびにシークレットを自動検出します。API キー、秘密鍵、接続文字列、JWT はデータベースに書き込まれる前にブロックされます。
ローカルファーストを数値で見る
Engram はエージェントのプロセス内で動作します。デプロイするサービスもアカウントも不要で、マシンの外にデータが出ることもありません。この設計上の選択は、数値で確認できます。
| 指標 | Engram | |
|---|---|---|
| コールドスタートから初回想起まで | 200 ms 未満 | import から初回の回答まで。モデルの読み込み時間を含む(M シリーズ。ハードウェアに依存) |
| ウォーム時の想起(p50、1,000件のメモリ) | 約4 ms | モデルがメモリに読み込まれた後のクエリレイテンシの中央値 |
| パッケージのダウンロードサイズ | 約571 KB | npm パッケージ(展開後1.3 MB) |
| 埋め込みモデル | 約23 MB | all-MiniLM-L6-v2。一度だけ取得し、~/.engram/models にキャッシュ |
| 外部サービス | 0 | データベース、ブローカー、クラウドアカウントは不要 |
| オフラインでの動作 | ✅ | デフォルトの動作ではネットワーク呼び出しはゼロ |
Apple M4 Pro で、事前に用意した1,000件のメモリを使って測定しています — npm run bench で再現できます。これらはフットプリントとレイテンシの数値であり、精度を示すものではありません。Engram はメモリベンチマークで Mem0 や Zep を上回ることを目指していません。運用上の負担を一切増やさず、確実に想起できることが狙いです。
精度をさらに高めるオプション — それでも100%ローカル。 すでにローカルモデルを実行している場合は、オプトインの LLM レイヤーで事実抽出の精度を向上できます。推奨モデルの henrybarefoot1987/engram-extract(qwen3:1.7b)を使うと、エンティティ抽出の精度は45.8%(ルールベース)から95.8%に上昇します — 50ポイント向上 — その間、デバイスの外に出るデータは一切ありません。
Engram を支援する
Engram は無料で、MIT ライセンスです。今後も変わりません。 有料の壁も、上位プラン限定の機能も、テレメトリーもありません。すべての機能がオープンソースパッケージに含まれます。スポンサーシップは、開発を継続するための資金を提供する方法であり、機能を利用するためのものではありません。
Engram によって時間を節約できている場合は、Polar を通じてスポンサーになれます。
| ティア | 月額料金 | 対象 |
|---|---|---|
| 🌱 サポーター | $5 | プロジェクトの継続的なリリースを支援したい個人。 |
| ⚡ パワーユーザー | $25 | 日々 Engram を活用しているヘビーユーザー。 |
| 👥 チーム | $100 | 複数のプロジェクトで Engram の標準化を進めているチーム。 |
| 🏢 エンタープライズ | $499 | 課題への優先対応と、統合に関する専任サポート。 |
エンタープライズについて。 Engram は MIT ライセンスのため、商用利用はすでに許可されています。職場で利用するためにライセンスを購入する必要はありません。エンタープライズティアでは、課題への優先対応と、Engram をお客様の技術スタックに組み込むための専任サポートを提供します。MIT ライセンスのソフトウェアへの依存が組織のポリシーで認められない場合は、ご要望に応じて任意の商用ライセンスへの切り替えも可能です。(Engram は個人開発者がメンテナンスしているため、優先対応はベストエフォートであり、契約上の SLA ではありません。)
Engram を選ぶ理由
エージェントメモリ製品の多くは、Postgres、Docker、クラウドアカウント、API キーなど、エージェントと並行して稼働させるサービスです。Engram はエージェントのプロセス内に組み込まれます。実用的なガードレールを備えた、目的を絞った安定した npm パッケージです。
| Engram | Lodis | Mem0 / OpenMemory | Zep | Letta | |
|---|---|---|---|---|---|
| 成熟度 | v1.9.x、安定 | v0.5.x、初期段階 | 成熟/SaaS | v0.x | v0.x |
| 運用に必要なインフラ | なし(npm パッケージ) | なし(npx パッケージ) | クラウドアカウント または 複数コンテナーの Docker | Docker + Postgres + Graphiti | Docker + Postgres |
| インストール容量 | 約23 MB | 約22 MB | 数百 MB のコンテナー(セルフホスト時) | 数百 MB | 数百 MB |
| オフラインで動作 | ✅ | ✅ | ❌ クラウド/✅ セルフホスト時 | ❌ 外部の埋め込みプロバイダー | ❌ 外部 LLM プロバイダー |
| MCP ネイティブ | ✅ 主要機能 | ✅ 主要機能 | 🟡 OpenMemory に MCP サーバーが付属 | ❌ REST/SDK | ❌ REST/SDK |
| MCP と併用できる REST API | ✅ | ❌ MCP のみ | ✅ クラウド | ✅ | ✅ |
| 機能範囲 | 6 個のツール、5 カテゴリー | 40 個のツール、14 種類のエンティティ + 4 段階の永続性 + 時系列での置き換え | 製品による | 製品による | 製品による |
| シークレットの自動検出 | ✅ 書き込みのたびにブロック | 🟡 オプトインの memory_scrub ツール | 🟡 中核機能ではない | 🟡 中核機能ではない | 🟡 中核機能ではない |
| エージェントの自動検出 | ✅ ダッシュボードのインテグレーションウィザード | ❌ 手動設定 | ❌ | ❌ | ❌ |
| デスクトップアプリ | ✅ macOS Tauri メニューバー | ❌ | ❌ | ❌ | ❌ |
| LLM による抽出 | ✅ オプション、デバイス上で実行(Ollama。デフォルトはルールベース) | ❌ LLM 不使用の読み書き | ✅ 標準搭載 | ✅ 標準搭載 | ✅ 標準搭載 |
| フィードバック/矛盾解決のワークフロー | ✅ 並べて表示する競合解決 UI + フィードバックループ | 🟡 プログラムから使う訂正/確認/置き換えツール | 🟡 専用のフィードバック機能なし | 🟡 | 🟡 |
出典: @sunriselabs/lodis、Sunrise-Labs-Dot-AI/engrams、mem0.ai、github.com/getzep/zep、github.com/letta-ai/letta。詳しい比較については、docs/competitive-intel.md を参照してください。Engram には、オプションのデバイス上での LLM 抽出(v1.9 以降)が用意されています。llm.* をローカルモデル(推奨モデルの henrybarefoot1987/engram-extract(Qwen3-1.7B、Apache-2.0)や、Ollama/OpenAI 互換エンドポイント)に向けると、カテゴリー/エンティティの抽出精度が向上します。ベンチマークでは、engram-extract(qwen3:1.7b)を使うことで、エンティティ認識の精度がルールベースと比べて50ポイント向上しました(45.8% → 95.8%)。それでも処理は100%ローカルで、デフォルトでは無効です(設定不要の構成では、ルールベースで動作し、オフラインで利用でき、インフラも不要です)。Mem0/Zep/Letta はクラウドモデルを利用した LLM 抽出を組み込んでおり、Lodis は機能範囲がより広い一方、読み書きに LLM を使いません。正確を期して比較に含めています。
要約 — 用途に応じた選び方。 実用的なガードレール(シークレット検出、エージェントの自動検出、デスクトップアプリ)を備えた、目的を絞った安定したローカル優先のメモリレイヤーと、シンプルな5カテゴリーのメンタルモデルを求めていて、必要に応じてデバイス上での LLM 抽出も使いたい場合は、Engram を選んでください。14種類のエンティティと時系列での置き換えに対応するナレッジグラフ型のメモリが必要な場合は、Lodis を選んでください。クラウド LLM による抽出を組み込みで利用したく、そのためのインフラ運用も問題ない場合は、Mem0/Zep/Letta を選んでください。
クイックスタート
1. インストール
npm install -g @hbarefoot/engram
2. サーバーを起動
engram start # MCP + REST + Dashboard on localhost:3838
engram start --mcp-only # MCP server only, stdio mode (for agent integration)
3. AI エージェントに接続
Claude Code:
claude mcp add engram -- engram start --mcp-only
Claude Desktop — ~/Library/Application Support/Claude/claude_desktop_config.json に追加します。
{
"mcpServers": {
"engram": {
"command": "engram",
"args": ["start", "--mcp-only"]
}
}
}
Cline / Cursor / Windsurf — 同じ mcpServers ブロックをエディターの MCP 設定に追加します。http://localhost:3838 にある組み込みダッシュボードのインテグレーションウィザードは、インストール済みのエージェントを自動検出し、設定を生成します。
4. 使用する
You: "Remember that our API uses JWT tokens with 24-hour expiry."
Claude: (stores via engram_remember)
You: (next day) "What authentication approach are we using?"
Claude: (recalls via engram_recall) — "JWT tokens, 24-hour expiry."
メモリはセッション間やマシンの再起動後も保持されます。また、同じ Engram インスタンスを共有する異なる AI クライアント間でも共有されます。
時間とともに改善するメモリ
多くのメモリシステムは追記専用のストアです。一度書き込んだら、あとは永遠に取得できることを期待するだけです。Engram は学習します。
- フィードバックループ(
engram_feedback) — エージェントがメモリを呼び出したとき、あなたまたはエージェントは、それが役立ったかどうかを投票できます。メモリには[-1, 1]のスコアが蓄積され、一貫して役に立たないメモリは自動的に信頼度が低下します。 - 矛盾の検出 — 2つのメモリが矛盾する場合(「Fastify を好む」対「Express に切り替えた」など)、統合エンジンがそれらを検出します。ダッシュボードの 矛盾 タブでは、4つの解決アクション(Aを保持、Bを保持、両方を保持、または却下)とともに並べて表示します。
- 挿入時の重複排除 — 同一のメモリ(コサイン類似度 ≥0.95)は拒否されます。類似したメモリ(0.92~0.95)は、新しい内容を既存のレコードに取り込みます。手動で整理しなくても、ストアはきれいな状態に保たれます。
- 減衰 — 呼び出されないメモリは時間とともに信頼度が低下し、今後の結果を汚染しなくなります。
Engram を使い続けるほど、記憶の呼び出し精度が高まります。
MCP ツール
Engram は stdio 経由で AI エージェントに6つのツールを公開します。
| ツール | 説明 |
|---|---|
engram_remember | カテゴリ、エンティティ、信頼度、名前空間、タグを指定してメモリを保存します。シークレット検出を自動的に実行します。 |
engram_recall | セマンティック検索と FTS5 検索を組み合わせた検索です。category、namespace、threshold、time_filter に対応します。 |
engram_forget | IDを指定して特定のメモリを削除します。 |
engram_feedback | メモリが役立ったかどうかに投票します。上記のフィードバックループを促進します。 |
engram_context | システムプロンプトへの挿入用に、トークン予算を指定して書式済みのコンテキストブロック(markdown / xml / json / plain)を生成します。 |
engram_status | ヘルスチェック:メモリ数、モデルの状態、設定を確認します。 |
メモリのカテゴリ
- fact — セットアップ、アーキテクチャ、設定に関する客観的な事実です。
- preference — ユーザーの好み、苦手なもの、スタイルの選択です。
- pattern — 繰り返し行われるワークフローや習慣です。
- decision — 行われた選択と、その理由です。
- outcome — 実行したアクションの結果です。
Engram を使うようエージェントに教える
MCP サーバーに接続すると、エージェントはメモリの ツール を使えるようになりますが、適切に使うための判断力までは身につきません。同梱の engram-memory スキルがその判断力を担います。セッション開始時にメモリを呼び出し、長期的に有用な決定、修正、結果を発生した時点で保存し、毎回指示されなくても最後に結果を書き戻すようエージェントに教えます。
engram skill install # → ~/.claude/skills/engram-memory/
engram skill install --project # → ./.claude/skills/ (commit it for your team)
engram skill install --platform agents # → ~/.agents/skills/ (cross-framework)
Claude Code、Claude Desktop、Cowork、または Agent Skills 仕様(.agents/skills)を読み取るあらゆるフレームワークで動作します。スキルはパッケージに同梱されているため、Engram とともにバージョン管理され、次回の engram skill install で更新が適用されます。engram skill uninstall を実行すると、きれいに削除されます。
CLI リファレンス
engram start # Start MCP + REST + dashboard
engram start --mcp-only # MCP server only (stdio mode)
engram start --port 3838 # Custom REST port
engram remember "<content>" # Store a memory (-c category -e entity -n namespace --confidence)
engram recall "<query>" # Search memories (-l limit -c category -n namespace --threshold)
engram forget <id> # Delete by ID
engram list # List memories (-l limit --offset -c category -n namespace)
engram status # Health check
engram consolidate # Deduplicate, detect contradictions, decay
# (--no-duplicates / --no-contradictions / --no-decay / --cleanup-stale)
engram conflicts # List unresolved contradictions
engram export-context # Export curated context block
# (-o file -f markdown|claude|txt|json -c categories --min-confidence ...)
engram import # Import from local sources
# (-s cursorrules|claude|package|git|ssh|shell|obsidian|env --dry-run)
engram skill install # Install the engram-memory agent skill
# (--project → ./.claude, --platform agents → ~/.agents)
engram skill uninstall # Remove the engram-memory skill
すべてのフラグを確認するには、engram --help を実行してください。
REST API
REST API はデフォルトで http://localhost:3838 で実行されます。
| Method | Endpoint | Description |
|---|---|---|
| GET | /health | 稼働状態の確認 |
| GET | /api/status | システムの状態と統計 |
| GET | /api/installation-info | 検出されたエージェント、ランタイム、インストール先 |
| POST | /api/memories | メモリを作成 |
| GET | /api/memories | ページネーションとフィルターを使って一覧表示 |
| POST | /api/memories/search | セマンティック検索 |
| GET | /api/memories/:id | 個別のメモリを読み取り |
| DELETE | /api/memories/:id | ID で削除 |
| POST | /api/memories/bulk-delete | ID リストで一括削除 |
| POST | /api/consolidate | 統合パイプラインを実行 |
| GET | /api/conflicts | 従来のタグベースの競合ビュー |
| GET | /api/contradictions | 未解決の矛盾 |
| POST | /api/contradictions/:id/resolve | 解決(keep_first / keep_second / keep_both / dismiss) |
| GET | /api/contradictions/count | 未解決件数(バッジ用) |
| GET | /api/analytics/overview | メモリの健全性ダッシュボードデータ |
| GET | /api/analytics/stale | 最近呼び出されていないメモリ |
| GET | /api/analytics/never-recalled | どのクエリからも返されたことのないメモリ |
| GET | /api/analytics/duplicates | 検出された類似重複 |
| GET | /api/analytics/trends | 作成・呼び出しの時系列推移 |
| POST | /api/export/static | コンテキストブロックを静的ファイルとしてエクスポート |
| GET | /api/import/sources | インポート可能なローカルソースを一覧表示 |
| POST | /api/import/scan | 2 段階インポート:抽出されたメモリをプレビュー |
| POST | /api/import/commit | 2 段階インポート:選択したメモリを確定 |
Web ダッシュボード
組み込みの React ダッシュボードは http://localhost:3838 で利用できます。
- ダッシュボード — メモリの統計、最近のアクティビティ、健全性ゲージ。
- メモリ — 閲覧、フィルター、インライン編集、一括削除。
- 検索 — スコアの内訳を確認できるセマンティック検索。
- 統計 — カテゴリー、名前空間、時刻別のグラフ。
- 健全性 — 古いメモリ、呼び出されたことのないメモリ、フィードバックの低いメモリを表示し、ワンクリックで整理できます。
- 競合 — 矛盾を並べて解決。
- エージェント — インストール済みの AI クライアントを自動検出し、MCP 設定を書き込む統合ウィザード(タイムスタンプ付きバックアップあり)。
- インポート — cursorrules、.claude ファイル、package.json、git 設定、SSH 設定、シェル履歴、Obsidian、.env 用のウィザード。
仕組み
- 保存:
engram_rememberはコンテンツをシークレット検出に通した後、all-MiniLM-L6-v2(約 23 MB、CPU のみ。初回にダウンロードされ、~/.engram/models/にキャッシュされます)を使ってローカルで埋め込みます。埋め込みとメタデータは~/.engram/memory.dbの SQLite に保存されます。 - 想起:
engram_recallはクエリを埋め込み、FTS5 と同じ名前空間内の埋め込みを使って候補を取得し、(similarity × 0.45) + (recency × 0.15) + (confidence × 0.15) + (access × 0.05) + (feedback × 0.10) + fts_boostとしてスコアを付けます。上位の結果が返され、アクセス統計が更新されます。 - 重複排除:挿入時に、同一のメモリ(類似度 ≥0.95)は拒否され、類似重複(0.92–0.95)は新しいコンテンツを既存の行に取り込みます。
- 学習:
engram_feedbackはメモリのfeedback_scoreを調整し、5 件以上の投票後に信頼度スコアを上げるか下げます。 - 保護:すべての書き込みは、パターンベースのシークレット検出(OpenAI/Stripe/AWS/GitHub/Slack/Google のキー、秘密鍵、接続文字列、JWT、高エントロピー文字列)を通ります。検出されたシークレットがある場合、メモリを拒否するか、シークレット部分をマスキングします。
設定
Engram はすべてのデータを ~/.engram/ に保存します。
~/.engram/
├── memory.db # SQLite database (memories + embeddings + FTS5 index)
├── config.json # Server configuration
└── models/ # Cached embedding model
デフォルト設定のままですぐに使えます。カスタマイズするには:
{
"port": 3838,
"dataDir": "~/.engram",
"defaults": {
"namespace": "default",
"recallLimit": 5,
"confidenceThreshold": 0.3,
"tokenBudget": 500,
"maxRecallResults": 20
},
"embedding": {
"provider": "local",
"model": "Xenova/all-MiniLM-L6-v2"
},
"consolidation": {
"enabled": true,
"intervalHours": 24,
"duplicateThreshold": 0.92,
"decayEnabled": true
},
"security": {
"secretDetection": true,
"auditLog": false
}
}
llm.* ブロックは、以下で説明するオプションのローカル AI 拡張機能を有効にします。デフォルトではオフです
(llm.provider: null)。設定不要の方法ではルールベースの抽出を使い、LLM 呼び出しは行いません。
オプション:ローカル AI による拡張(Ollama)
Engram は AI への依存なしで、完全にオフラインで動作します。精度を少し高めたい場合や、すでにローカルモデルを実行している場合は、「レイヤー 1」を任意で有効にできます。有効にしても、すべての処理は 100%お使いのマシン上にとどまります。
- 無料、任意、有効化はデフォルトでオフ。 有効にしない限り、何も変わりません。
- ローカル優先。 ご自身の Ollama(デフォルト)、または OpenAI 互換のローカルサーバー(LM Studio、llama.cpp)を使用します。クラウド、API キー、テレメトリーは不要です。メモリの内容がお使いのデバイスから外に出ることはありません。
- フォールバックに対応。 すべての呼び出しにはタイムアウトが設定されており、モデルの応答が遅い、到達できない、または不正なデータを返した場合は、組み込みのルールベースの処理にフォールバックします。モデルが停止しても、Engram がクラッシュすることはありません。
有効にすると、新しいメモリの category/entity/confidence の精度が向上し、LLM による確認ステップで矛盾の誤検出を減らします。
推奨モデル:henrybarefoot1987/engram-extract。 このレイヤーの役割は生成ではなく、分類の 2 つです。そのため、制約付きデコード(モデルに有効な JSON の出力を強制)とオフにした思考機能を備えた小型モデルは、高速(1 秒未満)で発熱が少なく、正確です。次のコマンドで取得するか、Modelfile からローカルにビルドしてください。
ollama pull henrybarefoot1987/engram-extract
# …or build from source:
ollama create henrybarefoot1987/engram-extract -f models/engram-extract.Modelfile
次に、モデルとして henrybarefoot1987/engram-extract を設定します。これは推奨であり、固定ではありません。Ollama モデルも OpenAI 互換モデルもすべて引き続き使用できます。ベースモデル、ライセンス、お使いのハードウェアでルールベースの処理を上回る最小のモデルの選び方については、docs/llm/recommended-model.md をご覧ください。
クレジット表記。
henrybarefoot1987/engram-extractは Qwen3-1.7B(© Alibaba Cloud、Apache-2.0)をベースにしています。 Engram が追加するのは抽出プロンプトと制約付き出力の設定のみです。ベースモデルの重み、ライセンス、通知に変更はありません。
有効化(デスクトップアプリ): Preferences → AI Enhancement → 有効に切り替え、モデルを選択して Test
connection をクリックし、Save をクリックします。同じタブにリアルタイムのステータスバッジ、アクティビティ統計(拡張された抽出とフォールバックされた抽出、除外された矛盾、平均レイテンシ)、最近のイベント一覧が表示されるため、このレイヤーが実際に動作していることを確認できます。プログラムからは、GET /api/llm/status と GET /api/llm/stats で同じデータを取得できます(すべてローカルで処理され、テレメトリーはありません)。
有効化(設定ファイル) — ~/.engram/config.json:
{
"llm": {
"provider": "ollama",
"endpoint": "http://localhost:11434",
"model": "llama3.2:3b",
"apiKey": null
}
}
まず、ollama pull llama3.2:3b を実行します。オフに戻すには(デフォルト)、"provider": null を設定します。OpenAI 互換のローカルサーバーを使用する場合は、"provider": "openai-compatible" を設定し、endpoint にサーバーのアドレスを指定します(例:http://localhost:1234)。apiKey が送信されるのは、値が設定されている場合のみです。
プライバシーに関する注意: 「メモリデータがお使いのデバイスから外に出ることはありません」が文字どおり当てはまるのは、
endpointがローカル(localhost/127.0.0.1)の場合のみです。ローカルではないホストを指定すると、分類のためにメモリの内容がそのホストに送信されます。その場合、デスクトップアプリの AI Enhancement タブに明示的な警告が表示されます。モデルに到達できない場合は、サーキットブレーカーによってこのレイヤーが一時停止し、レイテンシを増やすことなく、Engram はルールベースの抽出にフォールバックします。
高度な使い方
サンドボックスでの評価
Engram のデータディレクトリを一時的な場所に変更し、~/.engram/memory.db に触れないようにします。初めて評価する場合、CI の実行、または新しい DB に対するデスクトップサイドカーのテストに便利です。
# Via CLI flag (highest priority)
engram start --data-dir /tmp/engram-eval
# Or via env var
ENGRAM_DATA_DIR=/tmp/engram-eval engram start
# Works on every Engram command that touches the DB:
ENGRAM_DATA_DIR=/tmp/engram-eval engram remember "test memory" -c fact
ENGRAM_DATA_DIR=/tmp/engram-eval engram recall "test"
ENGRAM_DATA_DIR=/tmp/engram-eval engram status
優先順位:--data-dir フラグ > ENGRAM_DATA_DIR 環境変数 > ~/.engram/config.json の dataDir > デフォルト(~/.engram)。
名前空間の分離
engram remember "Uses Next.js 14 app router" -n my-saas
engram remember "WordPress multisite + Redis" -n client-site
engram recall "what framework?" -n my-saas
時間範囲クエリ
時間範囲によるフィルタリングは、MCP と REST から利用できます。エージェントは engram_recall に time_filter オブジェクトを渡します。
{
"query": "deployment changes",
"time_filter": { "after": "last week" }
}
{
"query": "API decisions",
"time_filter": { "after": "2026-01-01", "before": "2026-06-01" }
}
サポートされる形式:after/before(ISO 日付、または "3 days ago" のような相対文字列)、または period の省略形(today、yesterday、this_week、last_week、this_month、last_month、this_year、last_year)。
ドキュメント用のコンテキストをエクスポートする
engram export-context -f markdown -n my-project -o PROJECT_CONTEXT.md
engram export-context -f claude -o CLAUDE.md
プログラムからの使用
Engram は、Node.js アプリ内のライブラリとしても動作します。
import {
loadConfig,
getDatabasePath,
getModelsPath,
initDatabase,
createMemory,
recallMemories
} from '@hbarefoot/engram';
const config = loadConfig();
const db = initDatabase(getDatabasePath(config));
createMemory(db, {
content: 'User prefers Fastify over Express',
category: 'preference',
confidence: 0.9
});
const results = await recallMemories(
db,
'preferred web framework',
{ limit: 5 },
getModelsPath(config)
);
貢献
開発環境のセットアップ、バージョン管理ポリシー(npm とデスクトップ版を同時に更新)、リリースチェックリストについては、CONTRIBUTING.md をご覧ください。プロジェクトのライセンスと持続可能性に関する方針は BUSINESS_MODEL.md に記載しています。要約すると、純粋な OSS であり、MIT ライセンスを永久に採用し、ペイウォールはありません。
git clone https://github.com/HBarefoot/engram.git
cd engram
npm install
npm run dev
Engram が役に立っている場合は、ぜひご協力ください。
- ⭐ リポジトリにスターを付ける — 続ける価値があるという、最も強い意思表示です。
- 🐛 Issue を作成する — バグ報告、機能リクエスト、「<company> では <thing> に Engram を使っています」といった事例も歓迎します。
- 💬 ディスカッションを始める — 設計に関する質問、連携のアイデア、「どうすれば…」といった話題も歓迎です。
- 💜 Engram を支援する — Polar を通じてスポンサーになり、継続的な開発をご支援ください。支援者限定の機能はありません。スポンサーシップは、プロジェクトのリリースを続けるために活用されます。
フィードバック
Engram をお使いですか?うまくいっている点や改善が必要な点をお聞かせください。ディスカッションを始めるか、フィードバックを送信するか、CLI から engram feedback を実行してください。テレメトリーは一切ありません — Engram が外部に通信することはないため、こちらに届くフィードバックは、あなたが送信すると決めたものだけです。
Glama で Engram を探す
Engram は Glama MCP ディレクトリと公式 MCP Registryに io.github.HBarefoot/engram として掲載されています。
ライセンス
MIT © 2026 HBarefoot
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。