Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

grove

Structural, byte-precise, token-cheap access to a codebase — for coding agents and the humans working alongside them.

Instead of reading whole files or grepping blind, grove uses tree-sitter to answer structural questions: what’s defined in a file, where a symbol lives, who calls it, how a directory connects. Every answer is one symbol’s worth of structure with a stable id you can pass to the next call. Grammars load at runtime from a hosted WASM registry, so a new language is a dropped-in directory — no recompile, no toolchain on the consumer.

One engine, four surfaces

grove is a library (grove-cst) over one structural engine, shipped as two binariesgrove (CLI + the always-structural MCP server) and grove-explore (its own MCP server, the LLM-delegating locator). You can reach the engine four ways:

SurfaceWhat it isStart here
CLIgrove <verb> — the seven tools at your shell, human tables or --jsonCLI & the seven tools
MCP: structuralgrove serve — the same seven tools to a coding agent over stdioMCP: standard server
MCP: exploregrove-explore serve — a single delegated explore locator backed by a local LLM, its own server identity, composable alongside grove serveMCP: explore mode
Librarygrove-cst on crates.io — use grove_core::ops in your own RustUse grove as a library

The CLI, MCP structural, and Library surfaces all call the same ops engine, so a human at the shell, an agent over MCP, and your own program see identical results. MCP structural and MCP explore are two separate servers a project can register independently or together — not a mode switch on one server.

Get going

  • Install — curl / Homebrew / npm / cargo, or build from source.
  • Setupgrove init wires a project for your agent (--as mcp | skill | both | mcp-llm).
  • CLI & tools — the seven-tool surface and its conventions.
  • Languages & grammars — the WASM registry and how grammars load.

New to why this matters? The project VISION and README tell the longer story; the FAQ answers the common “is this an LSP?” questions.