Local-first, Sourcegraph-style code search backed by Zoekt — lexical, symbol, and structural (AST) search over your repositories, with a web UI, a CLI, and an MCP server for coding agents. Ships as a single self-contained binary.
Full documentation: https://clement-tourriere.github.io/codebeam/
curl -fsSL https://raw.githubusercontent.com/clement-tourriere/codebeam/main/install.sh | sh
codebeam # web UI on http://localhost:8080Or with Docker:
docker run -d --name codebeam -p 8080:8080 \
-v codebeam-data:/data -v codebeam-config:/config \
ghcr.io/clement-tourriere/codebeam:latestgit must be on PATH; Universal Ctags is optional and enables symbol search. Per-platform binaries are on the releases page.
The release archive also ships cb, a client for any Codebeam server:
cb login codebeam.example.com # one-time browser sign-in
cb search "func NewServer" --lang go
cb def NewServer # where is it defined?
cb read local/app:cmd/main.go:1-40Headless (agents, CI): set CODEBEAM_URL and CODEBEAM_TOKEN to a personal access token — no login needed. Instances behind Cloudflare Access are detected and handled automatically. See the CLI docs.
claude mcp add codebeam -- codebeam mcp # local index, stdio
claude mcp add --transport http codebeam https://your-host/mcp # shared server, OAuth
claude mcp add codebeam -- cb mcp # shared server via cb login
# (works behind SSO gateways)Eight retrieval tools (search, symbols, references, AST patterns, file reading, stats) backed by the same engines as the web UI, scoped to each user's repositories. See integrations.
mise install
mise run dev # http://localhost:8080, data under .codebeam/
mise run testReleases follow Conventional Commits via commitizen: mise run release.
MIT. Notable dependencies: Zoekt (Apache-2.0), wazero (Apache-2.0), modernc.org/sqlite (BSD-3-Clause), ast-grep (MIT).