The value is in the fusion: keyword search finds the exact symbol, embeddings find the paraphrase, directory summaries answer questions about a whole area, and the graph then pulls in the files that are structurally connected rather than textually similar — so the answer includes the caller nobody named. The cost is the initial index, which runs on first use rather than on a schedule someone has to remember.
A code-intelligence index for a repository, behind a single tool with five actions. Search fuses BM25 with vector embeddings and directory summaries, then expands along the import, call and extends edges of a knowledge graph built from parsed ASTs; the same tool does symbol lookup, graph traversal, analysis and index management.
- Hybrid search: BM25 with CamelCase tokenisation fused with vector embeddings by reciprocal rank fusion, with directory summaries surfacing for abstract questions and narrowing the results to one directory when it clearly matches
- Graph expansion over the top results, following imports, calls and extends, so structurally connected files come back beside the textually similar ones
- Symbol lookup by exact or partial name, optionally with its resolved relationships
- Graph traversal from a seed file or from a semantic query, inward, outward or both, across imports, exports, calls, extends, implements, contains, uses and depends_on, to whatever depth you set
- Duplicate and near-duplicate code found across the codebase at a similarity threshold you choose
- Dead code detected — unused exports, functions and classes — along with god classes, circular dependencies, feature envy and coupling
- The project's own detected coding standards for validation, error handling, logging and testing
- Index management: initialised, synced for specific files, paths excluded or re-included, and status with file and chunk counts
- Scoring that puts definitions above tests — source files boosted, test files penalised, filename matches boosted, files with several hits boosted
Node with npx: npx -y codeseeker serve --mcp is the documented configuration, and a global npm install adds an installer for VS Code, Cursor and Windsurf. Nothing to configure — the project indexes itself the first time a tool touches it, which takes anywhere from 30 seconds to several minutes depending on size, and stays in sync afterwards. Relationship extraction is strongest where a real parser exists: Babel for TypeScript and JavaScript, tree-sitter for Python and Java, both installing themselves when needed, with regex extraction covering C#, Go, Rust, C, C++, Ruby and PHP.
One command — npm install -g codeseeker
