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.
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.
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 |
Entity, Event, Concept, Attribute, Proposition, Emotion, Agent, ScientificInsight, Law, Location, Thought, ReasoningChain, ReasoningStep, Source, EmotionalEvent
- 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
- 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 (
npx mcp-engramnpm install
npx nx build mcp-engram
node dist/servers/mcp-engram/main.js| Variable | Required | Default | Description |
|---|---|---|---|
MCP_ENGRAM_DB_PATH |
No | ~/.mcp-engram/knowledge.db |
Path to the SQLite database file |
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.
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.)
# 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-memoryMIT