Seam is a local-first CLI and MCP server that gives coding agents semantic access to your repository. No more re-reading the entire codebase on every task.
$ curl -fsSL https://seam.adityamer.dev/install.sh | bashRun seam init . Seam walks your repo, chunks files with tree-sitter, computes embeddings, and stores everything in a local vector database.
Query with natural language. Hybrid vector + keyword ranking surfaces the most relevant code across your entire codebase in milliseconds.
seam context generates formatted code blocks your agent can paste directly. XML, markdown, or JSON. Ready for Claude, Codex, Cursor.
Offline embeddings, local vector store, zero external dependencies. Privacy by design, not by policy. No API keys, no rate limits, no network required.
SQLite backend, deterministic embeddings, automatic file watching. Works the moment you install. No yaml to write, no daemons to manage.
File hashing and tree-sitter chunking. Only re-index what changed. Merkle tree tracks state. Watch mode keeps it fresh automatically.
FastMCP server with search_code, list_files, get_chunk tools. Works with Claude, Codex, Cursor, and any MCP client out of the box.
Move your index between machines. Share with teammates. No re-indexing. Archive and restore with a single command.
Pick what works for your stack. Default is local SQLite + 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 instantly
$ seam search "JWT validation"
# Generate context for agents
$ seam context "database pooling"Index once. Query forever. Give your AI coding agent the context it actually needs, without the noise.