# Engraphis

> Local-first, inspectable memory for coding agents: durable context across sessions and repositories, code-aware recall, bi-temporal history, MCP, and a self-hosted WebUI.

- **Type:** MCP server
- **Install:** `agentstack add mcp-coding-dev-tools-engraphis`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [Coding-Dev-Tools](https://agentstack.voostack.com/s/coding-dev-tools)
- **Installs:** 0
- **Category:** [Integrations](https://agentstack.voostack.com/c/integrations)
- **Latest version:** 0.1.0
- **License:** Apache-2.0
- **Upstream author:** [Coding-Dev-Tools](https://github.com/Coding-Dev-Tools)
- **Source:** https://github.com/Coding-Dev-Tools/engraphis
- **Website:** https://engraphis.com/

## Install

```sh
agentstack add mcp-coding-dev-tools-engraphis
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Engraphis

[](https://github.com/Coding-Dev-Tools/engraphis)
[](https://github.com/Coding-Dev-Tools/engraphis/blob/main/LICENSE)
[](https://buymeacoffee.com/Jaixii)

https://engraphis.com/

https://discord.com/invite/Wfr2ejBmY

**Give your AI agents a memory. See it, search it, and watch it self-maintain — all in a beautiful WebUI on your own machine.**

  
  
  Knowledge Graph · run engraphis-dashboard to see it live

---

> Open-source users: update regularly for the latest fixes and improvements.
>
> **Version 1.0:** the core engine, dashboard, MCP server, Pro features, and Team layer
> are generally available. Team includes multi-user authentication, roles, seat management,
> invitation and password-reset flows, audit history, and scoped cloud-sync tokens.

## The WebUI — one command, local-first

```bash
pip install "engraphis[server]"
engraphis-dashboard
```

Opens `http://127.0.0.1:8700` in your browser. No cloud, no signup, no API key for memory.
Memory lives in a local SQLite file on your machine. When hosted user accounts are enabled,
their credentials and sessions live in a companion `.users.db`; back up both files.

**You'll see the full product** — a dark-themed (with multiple theme options in left sidebar), sidebar-navigated dashboard with 14 tabs:

**New graphical interface!** Shape the Knowledge Graph with several **Styles, Colors,
and Presets**. Switch among Cyberpunk, Galaxy, Solar system, and Classic looks; choose
a color palette and layout preset; or change the colors used for each type of node.

| Tab | What you see |
|-----|-------------|
| **Overview** | Live memory counts, memory-type mix, and a health summary at a glance |
| **Analytics** *(Pro)* | Growth, retention distribution, decay forecast, resolver mix, and top entities — plus a one-click shareable HTML report and a cross-workspace portfolio view |
| **Recall** | Hybrid search across the memory bank — each result shows its score breakdown (retention, semantic, lexical, graph, importance, recency) |
| **Memories** | Browse and curate every memory by workspace — click into a full reader with type and retention pills, drag-to-reorder, inline title/type edits |
| **Proactive** | "What should I know right now" — importance × recency × retention, plus the last session handoff |
| **Why** | The current answer to a question, and the facts it superseded |
| **Timeline** | Bi-temporal history of a topic — what was believed, and when |
| **Audit** | Full governance ledger — who did what, when, and why |
| **Knowledge Graph** | Interactive force-directed graph of entities and their relationships — click any node to see every linked memory |
| **Consolidate** | Run a consolidation sweep on demand — see what got distilled and what got pruned |
| **Automation** *(Pro)* | Scheduled consolidation + retention policies on autopilot — plus **auto-dreaming**: a background consolidation + cross-cluster inference loop that fires when the store has accumulated enough new memories *and* gone idle. Configurable from the dashboard (cadence, dream trigger, idle threshold, inference toggle) or the `GET/POST /api/automation` API, and via `scripts/auto_maintain` for cron / Task Scheduler |
| **Workspaces** | Create, rename, describe, copy, merge, and delete workspaces; import files & folders; drag-and-drop upload |
| **Team** *(Team plan)* | Multi-user access with PBKDF2 logins, password reset, admin / member / viewer roles, seat management, scoped agent/sync tokens, and team audit history |
| **Settings** | License activation (Pro/Team), cloud sync, LLM provider setup/test, a live structured-extraction switch and activity viewer, Agent Connect token management, appearance, and engine/store info |

The dashboard is powered by the v2 engine — the same `MemoryService` that backs the MCP server
and the Python library. What you see in the UI is what your agents get.

### Start it on every platform

| Platform | How |
|----------|-----|
| **Windows** | Double-click **Engraphis Dashboard** on your Desktop or Start Menu (install: `engraphis-dashboard --install-shortcuts`) |
| **macOS** | Double-click **Engraphis Dashboard.app** on your Desktop (install: same command) |
| **Linux** | Desktop entry in Applications → Development (GNOME/KDE/etc.) |
| **Docker** | `docker compose up` — see `docker-compose.yml` for the one-command deployment |
| **Any** | `engraphis-dashboard` in a terminal |

### Accessibility-first inspection, built in

The dashboard has the focused memory-inspection view built in — no separate app or port:

- Open any memory to see its **supersession chain with word-level diffs** — exactly when a fact changed and why
- **Offline knowledge graph** (vendored renderer — no CDN, works air-gapped)
- Score breakdowns on every recall, Why/Timeline/link browsing, proactive recall, consolidation, audit trail
- Keyboard-navigable, ARIA-annotated, light/dark mode

> The standalone Inspector (`:8710`) was retired 2026-07-10 and folded into the one dashboard on `:8700`.

---

## What's under the UI

Your agents forget everything between sessions. Engraphis fixes that — on your machine. Every new
session, your coding agent starts from zero: re-asking which package manager you use, re-learning
the codebase, forgetting why you chose PASETO over JWT. Engraphis gives agents durable, scoped,
*explainable* memory.

Under the hood: Ebbinghaus forgetting-curve decay, interaction-aware reinforcement, bi-temporal
facts, and hybrid (vector + lexical + graph) recall. The engine is 100% local: SQLite + local
embeddings. You bring an LLM only for optional chat, synthesis, structured extraction,
or structured consolidation.

- **Local-first & private** — runs offline; the core depends only on `numpy`.
- **MCP-native** — 29 tools for Claude Code, Command Code, Cursor, Cline, Zed, Windsurf.
- **Self-maintaining facts** — writes are deterministically conflict-resolved (no LLM required).
- **Advisory retention supervision** — an optional LLM can label writes as ephemeral, normal,
  or critical; outputs are bounded, clamped, audited, and can never silently drop a write.
- **Principled recall** — six-term score over retention, semantic, lexical, graph, importance, recency.
- **Bi-temporal truth** — contradictions invalidate instead of overwriting (`engraphis_why` / `engraphis_timeline`).
- **Grounded, not guessed** — cited answers or explicit abstain; provenance on every memory.
- **Task-ready context** — bounded proactive packets combine task/agent state, cited memories, suggested follow-ups, and the last-session handoff; optional LLM prose is accepted only when its citations validate.
- **Composable intelligence** — opt-in deterministic conflict triage (`duplicate` / `refinement` / `contradiction` / `obsolete`) and `UserModel` recall reranking helpers; neither changes default recall unless called.
- **Human-governed lifecycle** — pin, forget, correct, promote to a wider scope, and manually merge several memories into one without deleting their history; every change is audited.
- **One layered graph** — temporal, entity, causal, and semantic overlays share the same database, with persistent code↔memory links and intent-aware recall.
- **Privacy-safe receipts** — remember, link, recall, and indexing operations can be verified through a content-free SHA-256 receipt chain without exporting memory or query text.
- **Code-aware** — incremental multi-language symbol/call/import graph, code↔memory links,
  path queries, communities/hotspots, git/PR impact analysis, and portable graph exports.
- **Sleep-time consolidation** — scheduled job distills recurring episodes, reports its compaction.
- **Scoped** — `workspace → repo → session` hierarchy.
- **Encryption at rest** — optional SQLCipher (AES-256) whole-database encryption via `ENGRAPHIS_DB_KEY`. No plaintext fallback when a key is set.
- **Cloud sync** — cross-device and cross-team memory sync with deterministic CRDT merge (folder transport for self-hosting, managed relay for zero-setup). One-click "Sync now" or automatic cadence in the dashboard.
- **Import & ingest** — local documents/code/DOCX plus optional PDF text extraction, image OCR,
  audio/video transcription, and live PostgreSQL schema introspection.

### Connect an LLM and inspect exactly what it changed

The memory engine, embeddings, conflict resolution, and normal recall remain local and do not
need an LLM. Connecting one adds optional structured extraction, cited prose synthesis,
structured consolidation, and retention supervision.

Open **Settings → Connect an LLM**, configure the provider/model/key in `.env`, restart, and
click **Test connection**. When that live test succeeds, Engraphis automatically turns
`llm_structured` extraction on unless you previously chose **Turn extraction off**. The adjacent
button changes the live engine immediately and persists both the extractor mode and your
automatic-extraction preference to the project `.env` when it is writable; no restart is required
for the running dashboard. Explicit deployment environment variables remain authoritative after
a restart. Turning extraction off does not disconnect the provider, so explicitly requested
synthesis or consolidation can still use it.

Structured extraction applies to `engraphis_ingest` and to file/folder imports where **Derive
discrete facts with the configured extractor** is explicitly selected. It does not silently send
ordinary `engraphis_remember` writes, existing memories, or every imported file to the provider.
For each successful source, the validated output becomes one or more individually recallable
memories with typed facts, keywords, entities, and relations. A provider/schema failure falls
back to deterministic local chunking so the source write is not lost.

Click **View LLM memory activity** to open a workspace-scoped window listing memories the LLM
extracted, structurally consolidated, or retention-classified. Extraction entries show the
provider/model when recorded, fact position within the source batch, extracted entities and
relations, and a link to the resulting memory. The activity API and window expose stored outcomes
only—never the API key, prompt, original provider payload, or raw response. Older structured
memories created before provider/model activity metadata was introduced still appear as legacy
structured-extraction entries.

> Privacy boundary: text sent through structured extraction leaves the local process and is
> handled under the selected provider/model's data terms. Keep extraction off for material that
> must remain entirely local, or use the offline `chunk` extractor instead.

---

## Why it wins

| Axis | Obsidian | mem0 | Zep | Engraphis |
|---|---|---|---|---|
| Product WebUI (local, no cloud) | ✗ (native desktop/mobile app) | ✗ | ✗ | **✓ (dashboard with built-in inspector)** |
| Open & self-hostable engine | ✗ (open Markdown files, not a self-hosted engine) | ✓ | partial | **✓ fully open, local-first** |
| Forgetting/decay | ✗ | partial | ✗ | **✓** |
| Bi-temporal graph | ✗ (note-link graph; no fact validity) | partial | ✓ | **✓** |
| Native multi-repo model | ✗ (separate vaults; no repo/session hierarchy) | ✗ | ✗ | **✓ (unique)** |
| Code-aware (AST/symbol graph) | ✗ | ✗ | ✗ | **✓ (unique)** |
| Cloud sync (CRDT merge) | ✗ (file merge or optional conflict copies) | ✗ | ✗ | **✓ (deterministic, no conflict copies)** |
| Encryption at rest | partial | ✗ | ✗ | **✓ (local SQLCipher database)** |
| MCP-native for coding agents | partial (not core) | ✓ | ✗ | **✓ (first-party memory and code tools)** |
| Sleep-time consolidation | ✗ | ✗ | ✗ | **✓** |

---

## Host on Railway (Pro solo or Team)

The official template runs the shared image in `customer` mode, mounts `/data`, checks
`/api/ready`, and generates a 48-character deployment token. Deploy one instance and use the
hosted wizard: verify deployment ownership → choose Pro or Team → confirm email → automatic
activation → create the first admin. The signed key never appears in the browser and the
service does not redeploy during activation.

- **Pro solo** — a Pro member deploys a single-admin cloud instance: browser dashboard
  (analytics, automation, export) + a self-hosted sync relay. Activate the same Pro key
  on each local instance, set `ENGRAPHIS_RELAY_URL` on both the hosted service and local
  instances to **your Railway deployment URL**, then connect with an expiring scoped sync
  token and enable auto-sync (or run **Sync now**). Keep
  `ENGRAPHIS_CLOUD_URL=https://license.engraphis.com` for trials and license leases. One
  admin, no member seats.
- **Team admin** — a Team administrator deploys one instance and invites members (email +
  role). The recipient chooses their own password from a 72-hour invitation. Members sign
  in at your URL and create scoped agent/sync tokens; member invitations never contain the
  purchaser's account-wide Team license key.

See [`docs/HOSTING_RAILWAY.md`](docs/HOSTING_RAILWAY.md) for the 5-minute guide covering
both paths (volume, custom domain, activate Pro/Team, create the first admin, invite
members, and connect agents).

**→ [Deploy on Railway (5-minute guide)](docs/HOSTING_RAILWAY.md)**

> Until the public Railway template code is published, deploy from this repository and
> apply [`deploy/railway-template.json`](deploy/railway-template.json) exactly: persistent
> `/data`, customer service mode, generated public-domain references, and a unique
> `ENGRAPHIS_DEPLOYMENT_TOKEN`. `railway.json` supplies the build and `/api/ready` check.
>
> *(A one-click "Deploy on Railway" button previously sat here pointing at
> `railway.app/new?template=`. Railway ignores that parameter —
> `railway.json` is per-service build config, not a publishable template — so the button
> only ever landed people on a generic project chooser. It remains removed until the
> source descriptor is published through Railway and passes the logged-out acceptance
> suite. `docs/RAILWAY_TEMPLATE.md` is the publication runbook.)*

Hosted **Agent Connect** tokens are per-user and shown only once; the server stores only
SHA-256 digests. A local sync device necessarily retains its raw bearer in an owner-only
credential file so it can authenticate future rounds. Roles are rechecked on every HTTP/MCP
call; disabling a member or resetting their password permanently revokes existing agent tokens.
The hosted `/mcp` endpoint exposes the same
28-tool service as local `engraphis-mcp`. See [the Agent Connect guide](docs/AGENT_CONNECT.md).

## Install

```bash
pip install "engraphis[all]"        # dashboard + MCP server + code graph + available platform extras
pip install "engraphis[server]"     # dashboard + REST API
pip install "engraphis[mcp]"        # MCP server only
pip install "engraphis[documents]"  # PDF + image OCR bindings
pip install "engraphis[transcription]" # faster-whisper audio/video
pip install "engraphis[postgres]"   # PostgreSQL schema introspection
pip install "engraphis[encryption]" # SQLCipher encryption-at-rest extra
pip install engraphis               # core library — numpy only, fully offline
```

The official Docker image includes the local Tesseract executable for image OCR. Outside
Docker, the `documents` extra installs its Python bindings; install Tesseract through your
operating system as well if you enable image OCR.

The NumPy-only core library supports Python 3.9+. Current patched releases of the WebUI
stack, MCP SDK, and image parser require Python 3.10+, so use Python 3.10 or newer for
the `server`, `mcp`, `documents`, or `all` installation paths.
`sqlcipher3-binary` publishes CPython manylinux x86-64 wheels. On that target,
`engraphis[encryption]` installs the driver. The cross-platform `all` extra deliberately
omits it so `all` remains resolvable on macOS, Windows, Linux ARM, and musl; on those
targets, provision a compatible SQLCipher driver separately before enabling a database
key. Plaintext SQLite remains the explicit default on every platform.

> **

…

## Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [Coding-Dev-Tools](https://github.com/Coding-Dev-Tools)
- **Source:** [Coding-Dev-Tools/engraphis](https://github.com/Coding-Dev-Tools/engraphis)
- **License:** Apache-2.0
- **Homepage:** https://engraphis.com/

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** yes
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/mcp-coding-dev-tools-engraphis
- Seller: https://agentstack.voostack.com/s/coding-dev-tools
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
