
Vibe Hnindex
io.github.AndyAnh174Published by GitHub account AndyAnh174v0.1.2Updated Oct 27, 2026
Index source code into a local knowledge base, search with keyword + semantic + hybrid modes.
Overview
Local MCP server that indexes a code repository once so assistants can search it by keyword, semantic or hybrid mode with paths and line ranges.
- What you can do
- Index a folder or codebase, including an AST symbol graph across many languages, with incremental change detection and watch mode
- Search the index in keyword, semantic, hybrid, regex, symbol or auto mode, with fuzzy typo correction and streaming progress
- Inspect code structure: find references, callers and bounded graph context, and locate files or symbols with line evidence
- Run code sessions and apply code changes with test, lint and typecheck checks under configurable safety scopes
- Produce heuristic security review leads from live source, with optional reranking
- Keep persistent chat memory and workspace context across sessions
- When to use it
- Useful when you work repeatedly in a large or unfamiliar codebase and want an assistant to retrieve relevant code with exact paths and line ranges instead of re-reading files each session. Also suited to code navigation, impact analysis and lightweight source review, provided you can run the local stack.
- Requirements
- Runs locally over stdio via npx, so Node.js v22 or newer is needed. Keyword search works with SQLite alone; semantic and hybrid search need an embedding provider (local Ollama by default, or OpenAI, Voyage, Gemini or a compatible API) and Qdrant, configured through OLLAMA_URL, OLLAMA_MODEL, QDRANT_URL and STORAGE_PATH. Qdrant Cloud needs QDRANT_API_KEY; optional reranking uses VOYAGE_API_KEY or RERANK_API_KEY.
Installation
In SourceWeft
- Open Vibe Hnindex in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
vibe-hnindex
Local MCP server — index your repo once, search it in every AI session
Keyword (SQLite FTS5) · Semantic (Qdrant + configurable embeddings) · Hybrid — local or cloud embedding providers
[npm vibe-hnindex] [npm hnindex-cli] [License] [MCP] [Node]
Current release: v0.16.1 · MCP server vibe-hnindex · installer hnindex-cli. Release notes
Docs · Changelog · npm server · npm CLI
What this does
vibe-hnindex is a Model Context Protocol server. After you index a folder once, assistants (Claude, Cursor, Windsurf, Antigravity, …) can search that codebase with paths and line ranges — data is stored locally (SQLite + optional Qdrant). Embeddings use Ollama (default), OpenAI, Voyage, Gemini, or an OpenAI-compatible API; see Embedding providers. Cloud providers receive the content being embedded; vectors use Qdrant (Docker, local, or Qdrant Cloud with QDRANT_API_KEY).
Documentation
Source security review: security_audit, security_context and pentest_plan provide live source evidence and validation checks. Optional Voyage/HTTP rerank follows server configuration; rerank:false keeps review local. Results are heuristic review leads with explicit coverage, not confirmed vulnerability reports.
📚 Full docs site: docs.hnindex.cloud — 16 pages covering Getting Started, Configuration, Tools Reference, Guides, and Code Agent.
Also available in-repo: docs/getting-started.md, docs/configuration.md, docs/tools-reference.md.
CLI installer (hnindex)
Optional — writes MCP JSON or Codex TOML for you (merge-safe, same npx -y vibe-hnindex block as in the docs):
See docs.hnindex.cloud for full documentation.
Install in 5 steps
- Node.js — v22+ (nodejs.org). CI verifies Node 22 and 24. SQLite uses N-API binaries bundled for supported platforms; see Troubleshooting → Windows if
npm i vibe-hnindexfails. - Embedding provider — choose OpenAI, Voyage, Gemini or a compatible API, or use local Ollama: install from ollama.com, then:
ollama pull bge-m3:567mand keepollama serverunning (or setOLLAMA_URLto a remote server). - Qdrant — for semantic/hybrid search:
docker run -d --name qdrant -p 6333:6333 qdrant/qdrant(or use Qdrant Cloud). Keyword-only search works without Qdrant. - MCP config — add the server to your assistant’s MCP settings. Minimal example (self-hosted Qdrant):
- Restart the IDE or assistant, then in chat ask to index a path and search — see First steps.
For Qdrant Cloud, add QDRANT_API_KEY and set QDRANT_URL to your HTTPS cluster URL — details in Getting started.
Agent Workspace
workspace_context identifies the active project purpose, Git/index state and a declared task persisted per project/session. locate_code finds files/symbols then keywords locally, returning line evidence and freshness. Explicit hybrid mode uses configured semantic APIs. MCP startup instructions and knowledge://workspace expose this workflow. Project-scoped CLI installs bind their root automatically; global installs follow client roots unless explicitly configured.
See Workspace and code locations. Refresh stale positions before editing; use filesystem tools for unavailable or excluded code.
Code Graph
Build a multilingual AST symbol graph with index_code_graph(path, project_name) using SQLite alone. index_codebase also builds it; file indexing and watching update relationships automatically. Use find_references, callers, and graph_context to inspect source evidence and bounded relationship context. SQLite remains the graph backend. JS/TS retain compiler resolution; Python, PHP, Go, Java, C/C++, C#, Rust, Ruby, Kotlin, Swift, Scala and Lua use bundled offline Tree-sitter profiles. See the language coverage and resolution limits in the graph guide.
AST chunking preserves function/class boundaries where possible. After upgrading, run index_codebase once to rebuild chunks and vectors. See Code Graph guide for resolution limits, offline usage, token budgets and quality evaluation.
Optional rerank
Hybrid search combines keyword results and embedding vectors using RRF. Optional reranking supports Voyage (RERANK_PROVIDER=voyage, VOYAGE_API_KEY or RERANK_API_KEY) and custom HTTP (RERANK_PROVIDER=http, RERANK_URL). Without a reranker, or if it fails, the original retrieval ranking is preserved. Exact symbol/regex modes skip reranking.
See Configuration.
Timeouts
To prevent hanging when Ollama or Qdrant are unresponsive, vibe-hnindex applies timeouts on all external calls. You can tune these via environment variables:
Set any of these to a higher value if you have a slow machine or large dataset. Set to 0 to disable the timeout for that layer (not recommended).
Google Antigravity
Use the same mcpServers block as above, but save it in Antigravity’s MCP file:
Step-by-step: Integrations → Google Antigravity.
Features (short)
Architecture
License
MIT — see LICENSE.
Contributing
Issues and PRs: github.com/AndyAnh174/vibe-hnindex.
Contact
Ho Viet Anh (AndyAnh174) · [email protected] · GitHub
Codex and architecture
Run npx -y hnindex-cli init --mcp codex inside the project, then optionally npx -y hnindex-cli init-skill --target codex. Codex project MCP uses .codex/config.toml (trusted projects only); skills use .agents/skills/use-vibe-hnindex. Restart/reconnect Codex and ask for workspace_context, followed by index_code_graph.
See CLI configuration, system, sequence and user diagrams, and official Codex MCP setup.
Source: README.md at commit f90d4da
Tools
0Version history
1- v0.1.2LatestSep 16, 2026
Score
40% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Declare a license in the repository or the registry entry.