Skip to main content
Glama

Engraphy

AIエージェントのための連想記憶。人間の心をモデルにしています。

名前の由来は、記憶科学における古い用語である engraphy(記憶が脳に残す痕跡である エングラム を形成する過程)から来ています。Engraphy はそれをエージェントに対して行います。書き込みが確定する前に、新しい記憶を既知の内容と照合し、言い換えを統合し、真に新しい事実をリンクし、決して静かに上書きしません。何も削除されないため、履歴は常に遡って確認できます。

Engraphy はセルフホスト型です。エージェントが学習した内容を、Postgres + pgvector 上の型付き知識グラフとして保存します。書き込みは既存の記憶に対して自動的に重複排除され、検索は意味的検索と語彙的検索を融合し、ユーザー間の分離はデータベースによって強制され、記憶の全体像はアプリケーションごとに パック として宣言されます。

これは、リファレンス MCP メモリサーバーのフラットJSON・シングルユーザー・stdio モデルを、並行処理、言い換え、重複、そして長年にわたる記憶の蓄積に耐えうるものに置き換えるために存在します。Model Context Protocol を話すため、あらゆる MCP クライアント(VS Code 拡張機能、デスクトップアプリ、別のエージェント)が HTTP 経由で利用できます。

ソース利用可能。 Business Source License 1.1 の下でライセンスされています。読むこと、実行すること、その上に構築すること、そして自社製品の本番環境で使用することができます。Engraphy 自体を第三者向けのホスト型またはマネージドサービスとして提供することは、Change Date までライセンサーに留保されており、その後 Apache-2.0 に変換されます。ライセンス を参照してください。


機能

  • 型付きメモリグラフ。 記憶は型付き ノードfactdecisionpersonevent など)であり、型付き エッジinvolvesreferencessupersedes など)で結合されます。型、その属性スキーマ、およびどの型がどの型とエッジで接続できるかのルールは、スペースごとに パック で宣言され、Postgres で強制されます。

  • 自己重複排除する書き込み。 すべての書き込みは埋め込まれ、既存の記憶に対してバンド化されます。ほぼ逐語的な言い換えは自動的に統合され、真に新しいが関連する事実は独自の検索可能なノードとして保持され、エッジで結合されます(静かに吸収されることはありません)。境界例は、呼び出し元が解決するための保留中の重複チェック判定として保留されます。すべての書き込みは、触れた内容の 共鳴レポート を返します。

  • ハイブリッド検索。 search は、ベクトルレッグ(埋め込み間のコサイン)と語彙レッグ(Postgres 全文検索)を Reciprocal Rank Fusion で融合し、traverse はエッジを辿ります。属性値は検索可能なサーフェスに折り込まれるため、型付き属性にのみ保存された事実も見つけることができます。

  • データベースが強制する分離。 複数のスペース、およびスペース内の複数のプリンシパルは、忘れられる可能性のあるアプリケーションチェックではなく、非スーパーユーザーロールで実行される Postgres の行レベルセキュリティによって分離されます。サーバーは NOBYPASSRLS ロールとして接続します。

  • LLM 向けに設計されたスコープルーティング。 すべてのスコープには、それが管理する内容の説明が含まれています。読み取り専用の scope_guide ツールは、そのルーティングマニフェストを返すため、エージェントは書き込む前に新しい記憶が どこに 属するかを決定できます。

  • オペレーター CLI と MCP ツールサーフェス。 スペースのブートストラップから、トークンの発行、データのインポート、パックの適用、リストアの検証まで、あらゆる操作に対応します。

Related MCP server: gbrain

仕組み

flowchart LR
    C[MCP client<br/>VS Code · desktop · agent] -->|HTTP + bearer token| S[Engraphy server<br/>FastMCP]
    S --> E[Embedding<br/>nomic-embed-text-v1.5]
    S --> DB[(Postgres 16 + pgvector<br/>nodes · edges · scopes<br/>RLS · schema enforcement)]
    P[Pack<br/>types · edges · briefing] -.declares.-> DB

書き込み は埋め込まれ、類似度によって merge / merge-link / pending / new にバンド化され、呼び出し元の ID でコミットされます。読み取りsearchgettraversebriefing)は RLS の下で実行されるため、呼び出し元は許可されたスコープのみを参照できます。パック は、スペースのノード型、エッジ型、属性スキーマ、およびセッション開始時のブリーフィングを宣言するため、1 つのエンジンがさまざまな形状のメモリアプリケーションにサービスを提供できます。アーキテクチャ概要 では、書き込みと読み取りの完全なパスを説明しています。

クイックスタート

要件: Docker(Compose を含む)。クラウドプロファイルは、Postgres を起動し、マイグレーションを実行し、アプリロールをプロビジョニングし、サーバーを 1 つのコマンドで起動します。

# 1. Configure secrets (never committed)
cp deploy/.env.example .env   # then edit, or:
printf 'POSTGRES_PASSWORD=%s\nENGRAPHY_APP_ROLE_PASSWORD=%s\n' \
  "$(openssl rand -hex 16)" "$(openssl rand -hex 16)" > .env

# 2. Bring up Postgres + migrate + provision + serve
docker compose up -d          # first boot downloads the ~523 MB embedding model

# 3. Create a space, apply the starter pack, mint a client token
docker compose --profile admin run --rm admin \
  engraphy-admin space create --id personal --display-name "My Memory" --principal me
docker compose --profile admin run --rm admin \
  engraphy-admin pack apply packs/starter/pack.yaml --space personal
docker compose --profile admin run --rm admin \
  engraphy-admin token create --space personal --principal me \
    --client-name my-editor --role readwrite

サーバーは現在 127.0.0.1:8000 にあります(公開するには TLS 終端リバースプロキシを前面に配置してください)。ベアラートークンを使用して、任意の MCP クライアントをサーバーにポイントします。セットアップガイド では、Docker を使用しないローカルパスについても説明しています。

またはスクリプトに任せる

up.shprovision.sh(Windows 版は up.ps1 / provision.ps1)は、上記のシーケンスを正確にラップし、コピーペーストのクイックスタートではできない待機処理を追加します。

./up.sh          # writes .env with random passwords, starts the stack,
                 # then blocks until /healthz returns 200
./provision.sh   # creates the space, applies the starter pack, mints a token,
                 # and prints the client settings to paste in

up.sh は compose のヘルスステータスではなく /healthz をポーリングします。これは、初回起動時にモデルキャッシュのシードに時間がかかる間、compose が starting を報告し、外部からはクラッシュループと見分けがつかないためです。200 が本当のシグナルです。

両方のスクリプトは再実行しても安全です。既存の .env は上書きされず、既存のスペースや適用済みのパックはエラーとして扱われずスキップされるため、再実行しても新しいトークンが発行されます。

すべてがパラメータ化されており、そのまま動作するデフォルト値があります。

デフォルト

上書き

スペース ID

default

./provision.sh myspace または -Space myspace

プリンシパル

me

./provision.sh myspace alice または -Principal alice

クライアント名

my-client

3 番目の位置引数、または -ClientName

パック

/app/packs/starter/pack.yaml

ENGRAPHY_PACK または -Pack

ホストポート

8000

.envENGRAPHY_HOST_PORT、または -Port

ヘルスタイムアウト

1800 秒 (up)、600 秒 (provision)

ENGRAPHY_WAIT_SECS または -WaitSeconds

トークンは一度だけ出力され、スクリプトによってディスクに書き込まれることはありません。サーバーはその SHA-256 のみを保存します。紛失した場合は、provision.sh を再実行して新しいものを取得してください。

クライアントからの使用

Engraphy は MCP サーバーであるため、クライアントは接続してツールを呼び出します。

ツール

機能

write

重複排除バンド化書き込み。ノードまたは重複チェック判定と共鳴レポートを返します。

search

1 つのスコープまたはすべてを対象としたハイブリッド意味 + 語彙検索。

traverse

開始ノードからの再帰的グラフウォーク。

get

ID による完全なノードとエッジの要約。

briefing

パックで宣言されたセッション開始セクション(期限付きのコミットメント、関連メモなど)。

scope_guide

ルーティングマニフェスト: 書き込み可能なすべてのスコープとその管理内容。

scope_list / scope_create

読み取り可能なスコープの一覧表示 / プライベートスコープの作成。

link · update · supersede · resolve_duplicate

グラフの編集と保留中の判定の解決。

pending_list · stats · inbox_review

保留中の書き込み、使用状況メトリクス、キャプチャインボックスの検査。

admin_*

スペース管理(メンバー、トークン、グラント、可視性)。

パラメータ、戻り値、およびツールごとの例については、ツールリファレンス を参照してください。ファーストパーティの VS Code 拡張機能は vscode-extension/ にあります。

ドキュメント

要件

  • Postgres 16pgvectorpgvector/pgvector:pg16 イメージには両方が含まれています)。

  • Python ≥ 3.12

  • マイグレーション用の dbmate(管理コンテナにバンドルされています。Docker を使用しないパスでのみ PATH に必要です)。

  • 埋め込みモデル nomic-ai/nomic-embed-text-v1.5(384 次元、約 523 MB、初回起動時にダウンロードおよびキャッシュされます)。

プロジェクトの状態

v0.1.0。スキーマと強制カーネル、エンジンの動作(重複排除、ハイブリッド検索、グラフトラバーサル、ブリーフィング)、認証と管理を備えた MCP サーバー、およびオペレーター CLI が実装され、ライブ Postgres テストスイートと、出荷されたデプロイアーティファクトをエンドツーエンドで実行する CI ジョブによってカバーされています。ベンチマークハーネス(bench/、design/09)は、公開されている長期記憶データセットに対してエンジンを実行します。これは変更を測定するためのツールであり、マーケティング数値のソースではありません。

ライセンス

Engraphy は Business Source License 1.1 の下でライセンスされています(LICENSE を参照)。

  • 可能なこと: Engraphy を読み、変更し、再配布し、セルフホストし、自社のアプリケーションやエージェントのメモリレイヤーとして本番環境で使用すること。

  • 禁止事項: Change Date より前に、Engraphy 自体を第三者向けのホスト型またはマネージドサービスとして提供すること。

  • Change Date: 2026-08-22 + 4 年(2030-08-22)。この日付でライセンスは Apache License, Version 2.0 に変換されます。

Copyright (c) 2026 Devon Clark.

F
license - not found
Not graded
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A temporally-aware knowledge graph MCP server for AI agents, enabling episodic ingestion, entity management, and semantic search with support for multiple LLM and embedding providers.
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    A local-first compiled knowledge graph MCP server that provides structured memory for AI agents with full-text search, vector embeddings, and timeline tracking.
    410
    8
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Persistent, semantically-searchable memory for AI agents using local PostgreSQL, pgvector, and Ollama embeddings, exposed via MCP with hybrid retrieval, knowledge graph, and auto-recall hook.
    4
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    An open-source bitemporal knowledge graph that provides long-term memory for AI agents via a native MCP endpoint, enabling conflict-aware ingest and hybrid retrieval.
    32
    AGPL 3.0

View all related MCP servers

Related MCP Connectors

  • Analytical memory for AI agents: a real Postgres queried in plain English over MCP. One command.

  • Persistent memory and knowledge graphs for AI agents. Hybrid search, context checkpoints, and more.

  • Shared, governed long-term memory for AI agents across tools and sessions via MCP and REST.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/devon-clarkk/engraphy'

If you have feedback or need assistance with the MCP directory API, please join our Discord server