
OpenEZ indexes code and documentation into local SQLite, builds a symbol graph, and exposes bounded retrieval, relationship traversal, and durable project memory through MCP for AI coding agents.
AI coding agents do not usually fail because they cannot generate code. They fail because they cannot retrieve the right part of a large codebase quickly enough.
They read the same files repeatedly, miss callers several modules away, lose technical decisions between sessions, and spend context on repository structure instead of the task itself.
OpenEZ Graph is a local-first code intelligence engine for that problem. It indexes code and documentation into SQLite, builds a symbol and relationship graph, and exposes focused retrieval tools through MCP.
The CLI package is @openez-graph/cli. It runs on Bun 1.1+, requires no Docker, Postgres, Redis, or external database, and can connect coding agents such as Claude Code, Codex, OpenCode, Windsurf, and Devin.
OpenEZ has four layers:
The result is a reusable project context layer. Instead of asking an agent to read the whole repository, the agent can ask for the code, symbols, callers, and decisions relevant to the current task.
OpenEZ stores workspace artifacts locally:
CodeLoading…
The project-local .openez/ directory is generated state and should be gitignored. Source code stays in the repository; the index stays beside it.
This design gives teams:
OpenEZ is not trying to replace your application database. It is a developer-side index of the code and technical context needed by an agent.
OpenEZ requires Bun 1.1 or newer.
Install the published CLI:
CodeLoading…
Use the setup target for your client:
CodeLoading…
Or run it without a global install:
CodeLoading…
The setup command writes the MCP configuration for the selected agent and adds project instructions that tell the agent when to prefer OpenEZ tools. Restart the agent after setup.
For a manual workspace workflow:
CodeLoading…
The MCP server can then be started with:
CodeLoading…
The first MCP session auto-registers the current project and indexes it when no documents exist. Live file watching is optional:
CodeLoading…
Without the watcher, read tools still perform throttled incremental catch-up before querying.
OpenEZ does not expose a generic CRUD API to the model. It exposes capabilities that map to real coding tasks:
| Tool | What it does |
|---|---|
code_query | Retrieve ranked code and documentation context |
code_context | Get budgeted context around a symbol or file, including callers and callees |
graph_neighbors | Traverse nearby graph nodes and edges |
list_workspaces | Inspect registered workspaces and index status |
memory_recall | Recall active technical decisions and notes |
memory_write | Store a decision, constraint, or learned pattern |
index_workspace | Trigger an incremental or full index |
The tools are intentionally narrow. An agent can first query a concept, then inspect the symbol context, then traverse callers, without loading unrelated files into the conversation.
OpenEZ combines language-aware parsing with safe fallback scanning.
| Content | Indexing behavior |
|---|---|
| TypeScript and JavaScript | Rich symbol, import, and call extraction via Rust-based Oxc parser |
| Python, Go, Rust, Ruby | Tree-sitter symbol and relationship extraction with regex fallback |
| CoffeeScript, Slim, CSS, SCSS, Sass, Less, Haml | Scanned and chunked fallback indexing |
| YAML, JSON, TOML | Structure-aware chunks |
| Markdown | Section-oriented chunks |
This matters for brownfield repositories. A project does not need to be rewritten into one language or one framework before OpenEZ can provide useful retrieval.
OpenEZ is best understood as the retrieval layer of an agent RAG workflow, not as a complete application that generates answers by itself.
The retrieval path is:
The default path uses SQLite FTS5 with BM25 ranking and graph expansion. Optional vector search supports OpenAI, Ollama, or a local embedding model.
Embeddings are deliberately separate from indexing:
CodeLoading…
You can also use Ollama or OpenAI embeddings. If embeddings are unavailable, retrieval falls back to FTS plus graph context. This keeps the basic installation local and usable without an API key.
Text search can find a symbol name. The graph explains how that symbol participates in the system.
OpenEZ stores relationships such as:
That enables questions such as:
code_context also applies token budgets and limits its context size per workspace. This prevents a useful relationship lookup from turning into an unbounded context dump.
Repositories contain decisions that are not obvious from source code:
memory_write stores these decisions in the local workspace index. Later sessions can use memory_recall before planning or editing.
Memory is not a replacement for source code or tests. It is a durable layer for decisions and constraints that would otherwise remain trapped in chat history.
The CLI is the shortest path for setup and automation:
CodeLoading…
The management UI is useful when a team needs visibility rather than another terminal command:
CodeLoading…
The dashboard shows workspace status, document and chunk counts, graph data, query telemetry, memories, and indexing controls. The default development server runs locally.
OpenEZ is not:
It gives an agent better context. The agent still needs a workflow that says when to inspect, plan, implement, test, and review.
A reliable setup looks like this:
memory_recall and query the relevant domain.code_context and graph_neighbors to trace callers and downstream effects.This pairs well with a repository workflow such as Agent DevKit: the wiki provides verified human-readable context, while OpenEZ provides semantic retrieval and graph traversal for the agent.
OpenEZ is a focused answer to a practical problem: coding agents need a fast, local, relationship-aware way to understand a real codebase.
Its strongest design choices are simple:
If your team is already using AI coding agents and keeps paying the same context cost every session, OpenEZ is worth trying.
Install @openez-graph/cli on npm · View the source on GitHub
AI OpenSpec is an open-source, lightweight spec-driven development (SDD) framework that helps human developers and AI coding agents align on what to build before code is written. This article covers its philosophy, workflow, and how it fits into the modern AI-assisted development landscape.
AI A practical look at Moonshot AI's Kimi K3, why it is trending, how its benchmarks compare, and where it may or may not be useful today.
AI FeaturedA practical guide to MCP: what it is, how it differs from REST, how to design reliable tools, how to build a minimal MCP server, and how apps or AI agents connect to it in production.