MCP code_query ranked code + documentation MCP code_context graph-adjacent context MCP graph_neighbors inspect nodes and edges MCP memory_recall durable project decisions STORE ~/.openez/registry.sqlite STORE .openez/index.sqlite > openez status . workspace: openez-graph index: completed documents: 126 | chunks: 833 nodes: 1,520 | edges: 2,530 MCP code_query ranked code + documentation MCP code_context graph-adjacent context MCP graph_neighbors inspect nodes and edges MCP memory_recall durable project decisions STORE ~/.openez/registry.sqlite STORE .openez/index.sqlite > openez status . workspace: openez-graph index: completed documents: 126 | chunks: 833 nodes: 1,520 | edges: 2,530
OpenEZ Graph v1.5.0 · local-first RAG

Durable context
for coding agents

Index code once. Let Codex, Claude, OpenCode, Windsurf, and Devin retrieve ranked code, graph context, and project memory from local SQLite.

$npx @openez-graph/cli setup codex
Scroll
0
MCP tools
0
Indexed formats
0
Agent setups
0
Local database

The Problem

AI agents shouldn't have to re-read everything

Every time an AI coding agent starts a conversation, it reads your source files from scratch — burning tokens, context, and time on the same code it already saw yesterday.

Wasted token budget

50–200K tokens per session spent re-parsing files your agent has already analyzed. That's your context window — and your budget — gone before real work begins.

No persistent understanding

Your agent's 'memory' resets every conversation. Without a durable code index, it can't build on past queries, track relationships, or produce consistently accurate results.

Cloud dependency risk

Most code intelligence tools send your source code to cloud APIs. That's a non-starter for proprietary codebases, regulated environments, or anyone who values data privacy.

Shallow indexing

Simple text search isn't enough. Understanding code requires AST-level parsing, symbol graphs, and cross-file relationship tracking — capabilities most tools don't localize.

Index Anything

Every language you use

Rich AST-level indexing for TypeScript and JavaScript. Tree-sitter AST parsing for Python, Go, Rust, and Ruby. Fallback chunking for CoffeeScript, Slim, CSS, SCSS, SASS, LESS, and Haml. Structure-aware chunking for config files and documentation.

TypeScriptJavaScriptPythonGoRustRubyCoffeeScriptSlimCSSSCSSSASSLESSHamlYAMLJSONTOMLMarkdown

See it in action

What it looks like

Inspect workspace state, measured MCP query telemetry, memories, documents, and symbol relationships from one local management UI.

Ez
OPENEZ
Navigation
Overview
Workspaces
Benchmark
Debug
Query
Documents
Memories
Changelog
Settings
openez/openez-graph

Architecture

How it works

01

Init & Index

Run `openez init` to register a workspace. The indexer parses your codebase into documents, chunks, graph nodes, and edges — stored locally in SQLite (WAL mode).

02

Query & Explore

Full-text search across indexed chunks, expanded through graph neighbor traversal. Inspect relationships in the graph explorer or retrieve focused context through MCP.

03

Connect & Automate

Expose your indexed runtime through MCP for AI agents, the CLI for scripts, or the web dashboard. All three point at the same SQLite store.

Quick Start

Install once. Pick your agent.

Setup writes the agent config, registers the current project, indexes it, and keeps the workspace synced while MCP is running.

openez — zsh
$
$
$
$
$
$
$

Capabilities

What you get

Semantic Indexing

TS/JS gets full AST-level indexing via oxc-parser. Python, Go, Rust, and Ruby get tree-sitter AST parsing with regex fallback. CoffeeScript, Slim, CSS, SCSS, SASS, LESS, and Haml are scanned and chunked. Docs and config files get structure-aware chunking — all stored in local SQLite.

Hybrid RAG Retrieval

Full-text search fused with optional vector embeddings (bge-m3 / OpenAI) via Reciprocal Rank Fusion. 95.65% recall@5. Graph expansion follows call/import edges — no external vector DB required.

Knowledge Graph

Indexed symbols become nodes connected by imports, references, and other code relationships. Inspect the workspace graph from the local dashboard.

Automatic sync

The MCP runtime auto-registers and indexes a project, then keeps it current as files change. Manual incremental, watch, and full reindex commands remain available.

Seven MCP tools

Give agents ranked retrieval, graph context, workspace inventory, durable memory, and indexing controls through a focused MCP tool surface.

Five agent integrations

One setup command connects Codex, Claude Code, OpenCode, Windsurf, or Devin. OpenEZ writes the right config, so you do not have to.

AI Integration

A focused tool surface for agents

OpenEZ exposes seven workspace-aware tools over MCP. Read tools can search one or many workspaces; memory writes and indexing stay scoped to a single workspace.

Choose one

$openez setup codex .
$openez setup claude .
$openez setup opencode .
$openez setup windsurf .
$openez setup devin .

Works with:

  • Retrieval
    Ranked FTS, graph expansion, and optional vector reranking
  • Durable context
    Recall and write technical decisions between sessions
  • Workspace control
    List, resolve, and index local workspaces

Everywhere you need it

One runtime, three surfaces

CLI
init, index, status
watch, serve, setup
local state
SQLite Runtime
registry + workspace DBs
FTS + graph + memory
shared by
MCP + Dashboard
agent tools + telemetry
graph inspection