1. Conduid
  2. Blockchain
  3. io.github.AndyAnh174/vibe-hnindex
MCP server · Blockchain

io.github.AndyAnh174/vibe-hnindex

Index source code into a local knowledge base, search with keyword + semantic + hybrid modes.

Unclaimed blockchain
37Low

Scored 6 months ago · breakdown

About io.github.AndyAnh174/vibe-hnindex

io.github.AndyAnh174/vibe-hnindex is an MCP server published by AndyAnh174 in the Blockchain category: index source code into a local knowledge base, search with keyword + semantic + hybrid modes.

The repository has 3 stars and 0 forks, with the last commit 9 hours ago. Recent commit activity is the strongest signal that reported issues will get attention.

Install

Claude Code
claude mcp add io-github-andyanh174-vibe-hnindex -- npx -y vibe-hnindex
npx
npx -y vibe-hnindex

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Tools (36)

agent_rules_stubShort markdown stub for CLAUDE.md / AGENTS.md: project path, index stats, optional package.json script hints (test/build/lint), rule-based bullets — not a full project_briefing.

Parameters not published.

benchmark_searchRun a suite of search queries and compare streaming vs non-streaming performance. Reports timing (avg/min/max), result counts, and speedup ratios. Useful for measuring vibe-hnindex performance on your project.

Parameters not published.

callersFind resolved call sites of a function/method/class. Dynamic and external calls may be missing.

Parameters not published.

chat_contextManage chat memory: save conversation messages, load previous context, ingest entire conversation threads, or clear old context. Auto-track is always on when CHAT_MEMORY_ENABLED=true — search, smart_context, and code_session calls are logged automatically without calling this tool.

Parameters not published.

code_applyApply code changes (create, modify, delete files) proposed by the AI. Respects CODE_AGENT_SCOPE for safety. Optionally runs test suite and linting after applying. Use after code_session to implement the planned changes.

Parameters not published.

code_sessionGather a structured context package for a coding task. Returns relevant files (with content), similar patterns, dependencies, test files, and impact analysis — everything the AI needs to reason about a code change in a single response. Use before making code changes to avoid 5-15 separate search/read calls.

Parameters not published.

codebase_overviewGet a high-level overview of an indexed project: directory structure, language breakdown, entry points, detected frameworks, and key exports. Useful for understanding codebase architecture without reading every file.

Parameters not published.

delete_projectDelete a project and all its indexed data from the knowledge base (both SQLite and Qdrant).

Parameters not published.

evaluate_retrievalMeasure file-level Recall@K, MRR, nDCG, p95 latency and output tokens for labeled retrieval cases. Bypasses search cache. Semantic/hybrid cases use configured services and may incur API cost.

Parameters not published.

file_summaryGet a detailed summary of a specific file: purpose, exports, imports, files that depend on it, and complexity. More efficient than reading the full file.

Parameters not published.

Show all 36 tools
find_referencesFind statically resolved symbol references with file/line/column evidence. Ambiguous names require file_path and optionally line.

Parameters not published.

get_dependenciesList all imports/dependencies of a specific file. Shows what this file depends on.

Parameters not published.

get_dependentsList all files that import/depend on a specific file. Shows what would be affected if this file changes.

Parameters not published.

get_file_infoGet information about a specific indexed file including its chunks, line ranges, and language.

Parameters not published.

graph_contextCollect source context and evidence along bounded code graph relationships. Exact symbol/file works offline; query mode seeds from hybrid search. Token budget uses cl100k_base and may differ from the consuming model.

Parameters not published.

impact_analysisAnalyze the transitive impact of changing a file. Uses BFS to find all direct and indirect dependents up to a configurable depth. Essential before refactoring.

Parameters not published.

index_code_graphBuild a multilingual AST code graph in SQLite without embedding/vector services: JS/TS compiler resolution plus bundled Tree-sitter profiles for Python, PHP, Go, Java, C/C++, C#, Rust, Ruby, Kotlin, Swift, Scala and Lua. Reports syntax recovery/coverage warnings. Dynamic/external/ambiguous relationships may be unresolved. Honors scanner exclusions and .hnindexignore. Re-run after upgrading or changing source.

Parameters not published.

index_codebaseIndex an entire codebase directory for later search. Scans all supported source files, chunks them, and stores in the knowledge base with keyword and semantic indexes. Supports incremental indexing — unchanged files are skipped.

Parameters not published.

index_fileIndex or re-index a single file in an existing project. The project must have been indexed with index_codebase first.

Parameters not published.

list_projectsList all indexed projects with their metadata including file count, chunk count, and last indexed time.

Parameters not published.

locate_codeLocate indexed files, definitions and nearby CALLS/REFERENCES with file/line/symbol evidence and current-file freshness. Auto mode tries file, symbol, then local keyword search without embeddings. Explicit hybrid mode can call configured APIs. Ambiguous names return choices; refresh stale positions before editing.

Parameters not published.

onboarding_promptSingle markdown blob for agent onboarding: cached project briefing, stats, and optional recent git activity. Output is truncated to max_chars.

Parameters not published.

pentest_planBuild source-linked security validation checks for an authorized test plan. Does not execute commands, probes or exploits. Reads bounded live indexed source; optional configured rerank prioritizes evidence, not vulnerability severity.

Parameters not published.

priority_promptReturn workspace-aware code navigation guidance.

Parameters not published.

project_briefingRule-based project briefing from README, CLAUDE.md, package.json, and indexed stats (no LLM). Results are cached in SQLite until the index fingerprint changes.

Parameters not published.

project_statsGet detailed statistics about an indexed project: language breakdown, file/chunk counts, total lines, and averages. Useful for understanding codebase composition before searching.

Parameters not published.

recent_changesShow recent git commits for a project with changed files cross-referenced against the index. Requires git.

Parameters not published.

searchSearch the indexed codebase. Returns matching code chunks with file paths, line numbers, and relevance scores. Modes: keyword (FTS5), semantic (vector), hybrid (RRF fusion), auto (heuristic when SEARCH_AUTO_ROUTE), symbol (SQLite symbol index by identifier), regex (pattern matching with /pattern/flags). Results are cached (LRU, 5min TTL) for non-regex modes. Filter by symbol_kind to only see files with functions, classes, etc. Enable fuzzy:true to boost results with approximate string matching (Levenshtein) — useful for misspelled queries. Optional reranking supports Voyage or a custom HTTP endpoint. Without a configured reranker, or when it fails, the hybrid/semantic order is preserved. Identifier/regex modes skip reranking. Prefer a narrow file_pattern and a small limit on the first pass.

Parameters not published.

security_auditCollect bounded security review candidates from live indexed source, with CWE topics, redacted evidence and validation steps. Heuristics are not confirmed findings. Scope/exclusions and incomplete coverage are reported. Optional configured reranking receives redacted snippets; rerank:false keeps this operation local.

Parameters not published.

security_contextGather source-backed security review context by question, category and file glob. Live snippets and line evidence; no embedding service required. Optional Voyage/HTTP rerank follows SEARCH_RERANK; false forces local ranking.

Parameters not published.

server_diagnosticsHealth check: configured embedding provider, Qdrant, embedding probe, and config summary. Optionally pass project_name to compare SQLite chunk count with Qdrant point count.

Parameters not published.

smart_contextGet comprehensive context for a file, task, or question. v0.10.0: now supports task-aware analysis (impact, test files, similar patterns) and question-based code search. Ideal before editing, debugging, or understanding code.

Parameters not published.

symbol_lookupFind symbol definitions (classes, functions, interfaces, methods) by name in the indexed symbol table. Faster than full-text search for exact identifiers. Re-index the project if results are empty.

Parameters not published.

unwatch_projectStop watching a project for file changes.

Parameters not published.

watch_projectStart watching an indexed project for file changes. When a source file is saved, it will be automatically re-indexed. Uses debouncing to avoid excessive re-indexing.

Parameters not published.

workspace_contextStart here: identify the active workspace, read its purpose/architecture documents, Git state and index readiness. Optionally remember a declared task per project/session. Local only; never guesses user intent or chooses among multiple roots.

Parameters not published.

Ask AI

✦

Ask AI about io.github.AndyAnh174/vibe-hnindex

Powered by Claude · Grounded in docs

I know everything about io.github.AndyAnh174/vibe-hnindex. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ✓README presentThe repository ships documentation.

5 checks have not been run yet.

README

vibe-hnindex

Local MCP server — index your repo once, search it in every AI session

Keyword (SQLite FTS5) · Semantic (Qdrant + Ollama embeddings) · Hybrid — your code stays on disk

npm vibe-hnindex npm hnindex-cli License MCP Node

MCP server (vibe-hnindex) latest: v0.7.0 · hnindex-cli v0.7.0+ (CLI-only patches). Shields badges read npm in real time; GitHub Releases only update when you publish a new tag/release.


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; vectors use Qdrant (Docker, local, or Qdrant Cloud with QDRANT_API_KEY).


How to read the docs (start here)

Step Doc Purpose
1 Getting started Install Node, Ollama, Qdrant; paste MCP JSON; first chat commands
2 Integrations Where to put the JSON — including Google Antigravity (mcp_config.json) — or use hnindex CLI
3 Tools reference What each tool does (index_codebase, search, …)

Everything else is optional: Configuration, How it works, Troubleshooting.

Full index: docs/README.md


CLI installer (hnindex)

Optional — writes the MCP JSON for you (merge-safe, same npx -y vibe-hnindex block as in the docs):

npm install -g hnindex-cli
hnindex init --mcp antigravity    # or: claude, claude-desktop, cursor, cursor-project, windsurf, vscode
hnindex init --list               # show all targets and paths
hnindex update                    # npm update -g hnindex-cli

See Getting started → CLI and Integrations → hnindex CLI.


Install in 5 steps

  1. Node.js — v20+ (nodejs.org). On Windows, Node 20 or 22 LTS is strongly recommended so npm install does not need a C++ compiler. See Troubleshooting → Windows if npm i vibe-hnindex fails.
  2. Ollama — install from ollama.com, then: ollama pull bge-m3:567m and keep ollama serve running (or set OLLAMA_URL to a remote server).
  3. 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.
  4. MCP config — add the server to your assistant’s MCP settings. Minimal example (self-hosted Qdrant):
{
  "mcpServers": {
    "vibe-hnindex": {
      "command": "npx",
      "args": ["-y", "vibe-hnindex"],
      "env": {
        "OLLAMA_URL": "http://localhost:11434",
        "OLLAMA_MODEL": "bge-m3:567m",
        "QDRANT_URL": "http://localhost:6333"
      }
    }
  }
}
  1. 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.

Optional rerank (RERANK_URL)

Semantic/hybrid search already uses Ollama (OLLAMA_URL, OLLAMA_MODEL e.g. bge-m3:567m) for query vectors and Qdrant for retrieval. After that, the server can reorder the top pool of hits:

  • Without RERANK_URL: reorder by Qdrant semantic scores (no extra network service). This is enough for most setups, including when you only run Ollama + Qdrant.
  • With RERANK_URL: POST JSON { "query", "documents" } to your URL; response { "scores": number[] } (same length as documents). Use a small HTTP service you host that wraps your reranker; Ollama does not expose this contract on :11434 by default.

Ollama vs rerank: pulling a reranker model in Ollama (e.g. qllama/bge-reranker-v2-m3) does not replace RERANK_URL—you still need an adapter service unless you only rely on the built-in Qdrant reorder. See Configuration → Rerank.

Env Role
SEARCH_RERANK false disables post-retrieval reorder entirely (default: enabled).
SEARCH_RERANK_POOL Max candidates considered before trim (default 50).
RERANK_URL Full URL of your {query, documents} → {scores} API (optional).
RERANK_TIMEOUT_MS Timeout for that POST (default 15000).

Google Antigravity

Use the same mcpServers block as above, but save it in Antigravity’s MCP file:

File mcp_config.json under .gemini/antigravity/ in your user folder
Windows C:\Users\<your-username>\.gemini\antigravity\mcp_config.json
macOS / Linux ~/.gemini/antigravity/mcp_config.json
UI ⋮ menu → MCP → Manage MCP Servers → View raw config

Step-by-step: Integrations → Google Antigravity.


Features (short)

Search Keyword (FTS5), semantic (vectors), hybrid (RRF fusion); optional post-retrieval reorder (Qdrant scores, or RERANK_URL)
Storage SQLite on disk; Qdrant for vectors
Indexing Incremental (hash per file), many languages, .hnindexignore
Resilience If Qdrant/Ollama unavailable, keyword search can still work

Architecture


License

MIT — see LICENSE.

Contributing

Issues and PRs: github.com/AndyAnh174/vibe-hnindex.

Contact

Ho Viet Anh (AndyAnh174) · hovietanh147@gmail.com · GitHub

README copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About io.github.AndyAnh174/vibe-hnindex

How do I install io.github.AndyAnh174/vibe-hnindex?

Run claude mcp add io-github-andyanh174-vibe-hnindex -- npx -y vibe-hnindex, then add the server to your MCP client's configuration.

Is io.github.AndyAnh174/vibe-hnindex safe to use with an AI agent?

Its trust score is 37 out of 100 (low). It passes 1 of the 1 static security checks run so far. It has no ConduID identity yet, so agent calls to it are not receipted.

Is io.github.AndyAnh174/vibe-hnindex still maintained?

Yes — the last commit was 9 hours ago. The repository has 3 stars and 0 forks.