Bobbin gives developers and coding agents search and context over their repositories. Use its command line, Model Context Protocol (MCP) server, or agent hooks to find code by meaning, search exact words, and discover files that change together. Local indexing and search need no API key.
Why you would want it
- Find relevant functions even when you do not know their names.
- Give your agent a context bundle that fits a line or token budget.
- See related files that imports alone do not reveal, using Git history.
Read how Bobbin combines these signals.
Install
Checksummed releases support Linux and macOS on x86-64 and ARM64. For Linux
x86-64, with curl, tar and sha256sum installed:
&&
base=https://github.com/scbrown/bobbin/releases/download/v0.18.1
asset=bobbin-v0.18.1-x86_64-unknown-linux-gnu.tar.gz
&&
&&
Keep the extracted directory intact: its lib/ contains ONNX Runtime.
The pinned release reports:
bobbin 0.18.1 (bc246f84003f89eec07618e8c341bb6835500f58)
For other platforms and runtime prerequisites,
use the matching release asset. With the Rust build prerequisites installed,
cargo install bobbin-ai --locked builds from source and installs bobbin.
Run bobbin --version; if it reports an older version, check command -v bobbin
for another installation earlier in PATH.
First success in three commands
Run in a shell with Python 3 and Git installed. This creates a disposable project; initial indexing downloads the embedding model and runs locally on the CPU.
&& && &&
&& BOBBIN_GPU=0
|
The final command prints:
greeting:1-2
Bobbin found a parsed function, with its source range, in the index you just built. See the quick start for semantic search.
On your own code
Run bobbin init and bobbin index from your repository first.
| Question | Command |
|---|---|
| Where is error handling implemented? | bobbin search "error handling" |
| What context would help fix login? | bobbin context "fix the login bug" |
| Where does an exact name appear? | bobbin grep greeting |
| What changes alongside this file? | bobbin related greeting.py |
| What is indexed? | bobbin status |
See the CLI reference for flags and additional commands.
Wire it into your agent
From the indexed repository, bobbin serve starts an MCP server on standard input/output.
Configure your MCP client to run it in that repository:
For automatic Claude Code context injection, run bobbin hook install in the
repository; it updates that project's .claude/settings.json.
See agent setup for client configuration
and hooks for gating, deduplication and removal.
Prefer MCP when available, then the CLI; the HTTP API
is the transport fallback.
Before you start
| Requirement | What to expect |
|---|---|
| Platform | Release binaries for Linux and macOS, x86-64 and ARM64 |
| Network | Needed to download releases and the model; local search then uses the cached index |
| Parsing | Rust, TypeScript, Python, Go, Java and C++ use tree-sitter; Markdown has section-aware parsing; other text uses line chunks |
| Git | Commit history enables temporal coupling; a new repository has none yet |
| GPU | Optional; CPU indexing works without CUDA |
| Knowledge graph | Optional Quipu integration requires a build with the knowledge feature |
See installation for system libraries and source-build requirements, and language support.
What's next
๐งบ The stack
Caboodle installs these together and proves each one works; every tool also stands alone.
| tool | what it gives your agents |
|---|---|
| caboodle | one wizard that installs the stack and proves it works |
| quipu | a knowledge graph that refuses facts that break its rules |
| camayoc | the starter vocabulary, and how new knowledge earns its way in |
| bobbin (you are here) | search and context over your repositories, served over MCP |
| yupana | which code calls which: the blast radius before an edit |
| desire-path | the tool calls your agents get wrong, so you can fix them |
Contributing
See CONTRIBUTING.md for prerequisites and documentation checks.
๐ License
Apache License, Version 2.0. Releases before 2026-09-24 were MIT-licensed.