zebraindex

Overview

zebraindex is a local-first semantic code index and MCP server. It parses your codebase with tree-sitter, chunks it by structure, embeds everything on your own hardware, and exposes fast query tools for AI coding agents — no cloud, no API keys.

How it works

your repo
  ↓ tree-sitter
AST symbols + edges
  ↓ chunking
semantic chunks (symbol-aware or recursive)
  ↓ Candle (BERT/Jina)
float32 embeddings  →  TurboQuant (int8)
  ↓ LanceDB + usearch
vector + full-text index
  ↓ MCP stdio server
AI agent tools: searchQuery · searchDep · fileTree · …

Architecture

zebraindex is a workspace of focused Rust crates:

CrateRole
zti-daemonBackground process, handles IPC requests
zti-pipelineIndex + search pipeline orchestration
zti-dslTree-sitter code parsing, chunking, call graphs
zti-embedCandle-based embedding engine (BERT, Jina, BGE, …)
zti-annANN index (usearch) + TurboQuant reranker
zti-storeLanceDB storage layer
zti-protocolIPC request/response types
zti-tree-sitterLanguage detection + tree-sitter frontends
zti-rerankTurboQuant reranking (CPU & GPU)
apps/zebraindexCLI, TUI, and MCP server entry point

Key properties

Quick start

cargo install --git https://github.com/hicaru/zebra_tree_indexer

# index the current project
zebraindex index .

# search from the terminal
zebraindex search "retry logic"

# start as MCP stdio server for AI agents
zebraindex --mcp

See install for full setup and MCP config snippets.