Semantic search
Give your coding agent an MCP tool that semantically searches every plan, spike, bug, and review in .shipper/ — powered by a small local embeddings model.
- 1
Install
Install the Shipper CLI if you have not already. Semantic search ships with the binary — no extra packages.
- 2
Register
Register the MCP server with your coding agents:
shipper mcp install
This writes the Shipper entry for Claude Code, Cursor, and opencode (or one agent via --agent), prefetches the embedding model, and asks you to restart the agent. Use --no-download to skip the prefetch.
- 3
Use
In your agent, call shipper_search with a short natural-language query. Bundled skills (shipper-plan, shipper-spike, shipper-bug, shipper-build) do this automatically when the tool is available. From a terminal you can also run shipper search or shipper index.
- 4
Manage
The shared embedding server runs on 127.0.0.1 and shuts down after 15 idle minutes by default. Check or stop it anytime:
shipper embed status
shipper embed stop
shipper embed start --idle-minutes 30
Tools
- shipper_search — Semantic search across plans, spikes, bugs, and reviews.
- shipper_similar — Find documents similar to an existing Shipper file.
- shipper_get_doc — Read a Shipper markdown file (optional line range).
- shipper_list_docs — List indexed Shipper documents.
- shipper_reindex — Rebuild or refresh the search index.
What gets downloaded
On first use, Shipper downloads a pinned llama.cpp build from GitHub (about 12–17 MB depending on platform) and an 84 MB GGUF model from Hugging Face (nomic-embed-text-v1.5 Q4_K_M). Both are SHA-256 verified into ~/.cache/shipper/. No document text or embeddings leave your machine. Remove everything with shipper mcp uninstall, shipper embed stop, and rm -rf ~/.cache/shipper. See also the skills docs for how agents use search during plan and build.