Doc Search MCP — AI skill for Claude Code
Local MCP server that indexes PDFs, EPUBs, HTML, Markdown and text files and makes them searchable by LLM coding agents — keyword (FTS5/BM25), semantic, and hybrid search, entirely on your own machine.
How to install Doc Search MCP
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open nburns/doc-search-mcp and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What Doc Search MCP does
Local MCP server that indexes PDFs, EPUBs, HTML, Markdown and text files and makes them searchable by LLM coding agents — keyword (FTS5/BM25), semantic, and hybrid search, entirely on your own machine.
Alternatives in AI
README
doc-search-mcp
A local MCP server that indexes PDFs, EPUBs, HTML and text files and makes them searchable via MCP tools. Designed for LLM coding agents that need to query large local document collections without uploading them to the cloud.
Features
- Indexes PDFs (with TOC detection), EPUBs, HTML, Markdown, and plain text
- Keyword search via FTS5/BM25 and semantic search via vector embeddings
- Hybrid search merging both with Reciprocal Rank Fusion
- Documents organized into named categories
- Same content at multiple paths shares one index record (deduplication by checksum)
- Async indexing, one job per file, with progress tracking via job IDs
- Re-running an index is cheap and idempotent: unchanged files cost one
stat - Startup health checks with per-file change detection
- Accessible over a local network via SSE transport
Install
git clone git@github.com:nburns/doc-search-mcp.git
cd doc-search-mcp
uv sync
uv run doc-search-mcp
Requires Python 3.10+. All dependencies are installed by default — no extras needed.
Connect to Claude Code
Start the server, then register it:
claude mcp add --transport sse --scope user doc-search http://localhost:8080/sse
Or, to share it with everyone working in a repo, commit a `.mcp.json` at that repo's root:
{
"mcpServers": {
"doc-search": {
"type": "sse",
"url": "http://localhost:8080/sse"
}
}
}
Use the machine's hostname or IP instead of `localhost` if connecting from another machine.
In a new Claude Code session, run `/mcp` to confirm the server is connected and its tools are listed.
No auth or TLS. Only expose on trusted local networks.
Configuration
Config file lives at `~/.doc-search/config.toml`. All settings are optional — defaults work out of the box.
[server]
transport = "sse" # sse | stdio
host = "0.0.0.0"
port = 8080
[storage]
backend = "sqlite" # sqlite is the only implementation
db_path = "~/.doc-s
Related Skills
Brain CLI
Persistent memory for AI agents and personal knowledge management. Single-file Python CLI: hybrid semantic + k
Kb Index
Hybrid (vector + BM25) search over many markdown repos in one SQLite file, served over MCP for coding agents:
Semble Rs
Fast, AI-agent-native code search in Rust — hybrid BM25 + semantic, Tree-sitter AST chunking, dependency & imp
Claude Persistent Memory
Give Claude Code persistent memory across sessions. Hybrid BM25 + vector semantic search, auto-structuring via
Srclight
Deep code indexing MCP server for AI agents. 25 tools: hybrid FTS5 + embedding search, call graphs, git blame/
Anyindex MCP
Local MCP server for semantic code search. AST-aware chunking with tree-sitter, offline ONNX embeddings, hybri
Related Agents
Duplication Detector
Detects stories with overlapping implementation concerns using hybrid keyword pre-filter and LLM semantic veri
Python RAG Backend Engineer
Production-grade Python RAG backend engineer specializing in ChromaDB vector storage, sentence-transformers em
Mpep Researcher
Expert in searching and interpreting USPTO MPEP, 35 USC statutes, 37 CFR regulations using hybrid RAG search (