Semantic Search MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Semantic Search MCP Serverfind where we handle JWT token validation"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
CodeSight
AI-powered document search engine — hybrid BM25 + vector + RRF retrieval with pluggable LLM answer synthesis.
The live public site is holusight.com. That is Holusight's public marketing site; document indexing stays local-first, so indexed files are not published there and do not leave your environment by default.
Quick Start
# Install
pip install -e ".[dev]"
# Install with AST chunking support (Python/JS/TS — higher MRR for code)
pip install -e ".[dev,ast]"
# Index a folder of documents
python -m codesight index /path/to/documents
# Search (hybrid BM25 + vector)
python -m codesight search "payment terms" /path/to/documents
# Filter by file type
python -m codesight search "auth" /path/to/code --glob '*.py'
# Ask a question (requires LLM API key — see Configuration)
python -m codesight ask "What are the payment terms?" /path/to/documents
# Machine-readable output
python -m codesight search "query" /path --json
# Check index status
python -m codesight status /path/to/documents
# Launch the web chat UI
pip install -e ".[demo]"
python -m codesight demo
# Production server (FastAPI + browser UI)
pip install -e ".[server]"
export CODESIGHT_API_KEY=$(openssl rand -hex 24)
export CODESIGHT_DOCUMENTS_DIR=/path/to/documents
python -m codesight serve
# Or use Docker (see docs/playbooks/docker-deployment.md)
export CODESIGHT_DOCUMENTS_HOST_DIR=/path/to/documents
docker compose up --buildRelated MCP server: semantic-search-mcp
Python API
from codesight import CodeSight
engine = CodeSight("/path/to/documents")
engine.index() # Index all files
results = engine.search("payment terms") # Hybrid search
answer = engine.ask("What are the payment terms?") # Search + LLM answer
status = engine.status() # Index freshness checkThe package root exports CodeSight, ServerConfig, Answer, IndexStats,
RepoStatus, and SearchResult for stable public imports.
Supported Formats
Format | Extension | Parser |
| pymupdf | |
Word |
| python-docx |
PowerPoint |
| python-pptx |
Code |
| AST-based (tree-sitter) + regex fallback |
Text |
| Built-in |
Architecture
Document Parsing: PDF, DOCX, PPTX text extraction with page/section metadata
Chunking: AST-based (tree-sitter) for Python/JS/TS — function/class boundaries preserve semantic units. Regex fallback for other languages. Paragraph-aware splitting for documents.
Embeddings:
voyage-code-3(API, code files) /all-MiniLM-L6-v2(local, docs). Auto-detected viaVOYAGE_API_KEY.Vector Store: LanceDB (serverless, file-based)
Keyword Search: SQLite FTS5 sidecar
Retrieval: Hybrid BM25 + vector + code-vector with RRF merge → metadata filename boost → optional reranker
Reranker:
voyage rerank-2(code-aware, auto-enabled withVOYAGE_API_KEY). Localms-marcocross-encoder opt-in only.Answer Synthesis: Pluggable LLM backend (Claude, Azure OpenAI, OpenAI, Ollama)
See ARCHITECTURE.md for the full system tour.
Performance
Measured on the holusight codebase (96 files, 20 representative queries):
Configuration | Hit Rate | MRR@10 |
Baseline (fixed windows, no reranker) | 52.5% | 0.352 |
+ VPRF + voyage reranker | 100% | 0.599 |
+ AST chunking (tree-sitter) | 100% | 0.823 |
+ voyage-code-3 + voyage rerank-2 | 100% | 0.793 |
AST chunking is the largest single lever (+0.224 MRR). The local ms-marco cross-encoder hurts code retrieval — only enable it explicitly.
Deployment (pilot)
Single-team production shape: FastAPI server, browser UI, API key auth, read-only document mount.
export CODESIGHT_API_KEY=$(openssl rand -hex 24)
export CODESIGHT_DOCUMENTS_HOST_DIR=/path/to/documents
docker compose up --buildSee docs/playbooks/docker-deployment.md and the capability matrix for what is shipped vs planned.
holusight.com is a static marketing site only — customer documents are indexed on the customer's deployment.
Configuration
Variable | Default | Description |
| — | Required for Claude backend ( |
| — | Enables voyage-code-3 embeddings + voyage rerank-2 (recommended for code) |
|
| LLM backend: |
|
| Where indexes are stored |
|
| Embedding model (overridden by voyage-code-3 for code when key set) |
|
| LLM model for answers |
|
| Enable reranker |
|
| Reranker backend: |
|
| Index freshness threshold (seconds) |
|
| Logging verbosity |
See .env.example for all options.
Stack
Python 3.11+
LanceDB + SQLite FTS5
sentence-transformers + voyage-code-3 (optional)
tree-sitter (optional — AST chunking for Python/JS/TS)
Anthropic Claude API / Azure OpenAI / OpenAI / Ollama
Streamlit (local demo UI)
FastAPI + uvicorn (single-team production server, optional
[server]extra)pymupdf, python-docx, python-pptx (document parsing)
This server cannot be deployed
Maintenance
Related MCP Connectors
Code intelligence for LLMs. Analyze, search, and retrieve code from any public git repository.
Code intelligence for coding agents: semantic, AST, graph, and full-text search. 279+ languages.
Search your knowledge bases from any AI assistant using hybrid RAG.
Shared memory for coding agents. Stop re-explaining your codebase every session.
Related MCP Servers
- AlicenseAqualityDmaintenanceSemantic search across Claude Code conversations. Hybrid vector + keyword search, fully local, background indexing.625 npm8MIT
- AlicenseAqualityDmaintenanceProvides semantic code search over codebases using local embeddings with natural language queries. Supports hybrid search, file watching, and respects .gitignore.115MIT
- FlicenseAqualityFmaintenanceSemantic code search for Claude Code, enabling natural language codebase indexing and search using AI embeddings.81-
- FlicenseNot gradedqualityDmaintenanceEnables local semantic code search across repositories using natural language, with AST-aware chunking and hybrid vector/FTS5 retrieval.-