mcp-engram
v2.0.0
Published
MCP server for cognitive knowledge graphs — models thought, emotion, reasoning, and episodic memory
Maintainers
Readme
MCP Engram — Cognitive Knowledge Graph
A Model Context Protocol (MCP) server for building and exploring a cognitive neuroscience-inspired knowledge graph. Models thought, emotion, reasoning, and episodic memory after the structure of the human mind. Backed by SQLite — zero infrastructure, single file on disk, works offline.
Quick Start
npx mcp-engramOr install globally:
npm install -g mcp-engram
mcp-engramThe server stores its database at ~/.mcp-engram/knowledge.db by default. No external services required.
Architecture
How It Works
The MCP server exposes 8 tools that let an LLM build, search, and traverse a knowledge graph:
| Tool | Purpose |
|---|---|
| search_nodes | Full-text search across all nodes (FTS5) |
| explore_context | Weighted graph traversal around given nodes |
| create_nodes | Create or upsert nodes of any type |
| create_relations | Create edges with context, weight, and confidence |
| add_sources | Record provenance (Source nodes + DERIVED_FROM links) |
| get_temporal_sequence | Follow chronological chains (NEXT, BEFORE, CAUSES) |
| create_reasoning_chain | Build structured multi-step reasoning |
| get_reasoning_chain | Retrieve reasoning chains by name or topic |
Node Types (15)
Entity, Event, Concept, Attribute, Proposition, Emotion, Agent, ScientificInsight, Law, Location, Thought, ReasoningChain, ReasoningStep, Source, EmotionalEvent
Storage
- SQLite with WAL mode for concurrent reads
- FTS5 virtual table for full-text search with BM25 ranking
- Recursive CTEs for graph traversal
- Single
nodestable for all types,edgestable with UNIQUE constraint, plusaliasesandobservationstables - Complex objects stored as JSON in a
propertiescolumn
Installation
Prerequisites
- Node.js v18+
- A C/C++ toolchain for compiling the
better-sqlite3native module:- Mac: Xcode Command Line Tools (
xcode-select --install) - Linux:
build-essential(apt install build-essential) - Windows: Visual Studio Build Tools
- Mac: Xcode Command Line Tools (
From npm
npx mcp-engramFrom source
npm install
npx nx build mcp-engram
node dist/servers/mcp-engram/main.jsEnvironment Variables
| Variable | Required | Default | Description |
|---|---|---|---|
| MCP_ENGRAM_DB_PATH | No | ~/.mcp-engram/knowledge.db | Path to the SQLite database file |
Integrating with Claude Desktop
Add the server to your Claude Desktop config:
Open your config file:
- Mac:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
- Mac:
Add the server configuration:
{
"mcpServers": {
"mcp-engram": {
"command": "npx",
"args": ["mcp-engram"]
}
}
}- Restart Claude Desktop.
Project Structure
servers/mcp-engram/ # MCP server (TypeScript, ESM)
src/main/ # Server bootstrap, tool handlers, prompts
src/storage/ # SQLite backend, FTS, schema, validation
src/types/ # TypeScript interfaces and enums
libs/graphrag-memory/ # Shared type library (Entity, Relation, etc.)Development
# Build all projects
npx nx run-many -t build
# Test all projects
npx nx run-many -t test
# Lint
npx nx lint mcp-engram
# Build specific project
npx nx build mcp-engram
npx nx build graphrag-memoryLicense
MIT
