LABSCO SUMMARY
Context an agent can cite, gathered before it edits anything.
The part most code search misses is time: asking what changed on a branch, in a release, or since a commit — and getting that back as an explanation with sources rather than a diff you still have to read.
What it is
A local-first codebase intelligence tool with an MCP entry point. It indexes your repository, answers questions with source citations, searches code changes across git history, and can pull in external technical documentation as part of the same research.
What you get
- Semantic code search that finds relevant code by meaning rather than exact text, and regex search that works with no provider configured at all
- Cited code research that explains behaviour across files and points back at the sources it used
- Git history research addressed by last N commits, a commit hash, a tag, a branch or a range — which is how a large pull request or a release turns into a reviewable brief
- Pinpoint web research bringing cited external docs, APIs, issues and articles into the same workflow as the local code research
- Autodoc: shareable docs generated from code-backed research
- Tree-sitter parsing for Python, JavaScript, TypeScript, Java, Go, Rust, C and C++, among others
--vector-sourceto control scope:difffor changed code only (the default),bothto merge diff and database,dbto ignore the diff
Requirements
Python 3.10+ and uv, then uv tool install chunkhound and chunkhound index .. API keys are optional and decide how far you get: regex search works with no provider, semantic search needs an embedding provider (VoyageAI, OpenAI or a local Ollama), and deep research needs an LLM provider plus an embedding provider with reranking support. Web research uses the same provider stack. Choose local providers for a setup where no code leaves the machine. A .chunkhound.json in the project root holds the full configuration.
Setup effort
One command — uv tool install chunkhound
USE CASES
01
Grounding an agent before it writes code
Ask how a subsystem works and get architecture context, the relevant files, recent changes and external constraints back with citations — before the first edit rather than after the first mistake.
02
Reviewing a large pull request
Point research at a commit range and get a cited engineering brief on the behaviour changes, which also serves as the draft for release notes and the changelog.
03
Tracing a bug from a symptom
Start from a stack trace or a customer report and get likely code paths plus what changed recently in that area, instead of grepping for the error string.
04
Resolving a merge conflict with context
Ask why session handling changed on each side of the branch, so the resolution is informed by both intentions rather than by whichever diff you read last.
05
Keeping the index on machines that cannot call out
Regex search needs no provider at all, and local embedding and LLM providers cover the rest, so a security-sensitive repository can stay entirely inside the network.
BEFORE YOU INSTALL
What to know first
Requires
- uvx on PATH
- Python 3.10+
INSTALLATION
Connect your client
Add the block to your client, or run the command directly.
Server setup
Configuration file
JSON
{
"mcpServers": {
"chunkhound": {
"command": "uvx",
"args": [
"chunkhound"
]
}
}
}uv
TERMINAL
uv tool install chunkhound