Seam is a local-first CLI and MCP server that gives coding agents precise code retrieval: semantic search, exact grep, scoped reindexing, and agent-ready JSON without re-reading the whole repo.
$ curl -fsSL https://seam.adityamer.dev/install.sh | bashRun seam init . Seam walks your repo, respects .seamignore, chunks files with tree-sitter, computes embeddings, and stores the index locally.
Query with natural language, exact patterns, file globs, changed-file filters, or every indexed repo. Hybrid ranking keeps results relevant.
seam context and --json output return file, line, symbol, and scope metadata agents can cite before editing. XML, markdown, or JSON.
Offline embeddings, local storage, and metadata-only remote backends. Source snippets stay in your repo and local Seam index.
`seam reindex path/to/file.py` refreshes one file. Directory scopes work too. Deleted files are detected, and `seam gc` removes stale entries.
`seam search` handles natural language. `seam grep` searches exact literals or regex patterns inside indexed chunks with filename and language filters.
Restrict results to files changed since the index, search across every registered repo, count matches by file, or filter with `--name` and `--exclude` globs.
Search output includes duration, score, file, line range, symbol name, enclosing scope, and snippet. `docs/seam.schema.json` documents the contract.
Pick what works for your stack. Default is local SQLite plus deterministic embeddings for zero-config, offline operation.
Local vector store with no dependencies. Ships with Seam. Zero setup.
Disk-based vector DB for larger codebases. Efficient columnar storage.
Remote vector backend with metadata-only payloads. Source stays local.
Deterministic offline embeddings. No network, no API keys, no quotas.
OpenAI-compatible API. text-embedding-3-small or any compatible model.
Self-hosted embedding models. nomic-embed-text or any Ollama model.
One command. Zero configuration. Works offline.
$ curl -fsSL https://seam.adityamer.dev/install.sh | bashuv tool install seam-indexpipx install seam-index# Index your repo
$ seam init .
# Search semantically or exactly
$ seam search "JWT validation"
$ seam grep "validate_jwt" --name "*.py"
# Refresh one file after editing
$ seam reindex app/auth.py
# Ask only about changed files
$ seam search "risk in auth changes" --changed --json
# Generate context for agents
$ seam context "database pooling"Index once. Search semantically, grep exactly, refresh only what changed, and give your coding agent context it can trust.