Overview
Docs MCP Server (branded as "Grounded Docs") is an open-source MCP server that solves AI hallucinations and outdated knowledge by providing a personal, always-current documentation index. It fetches official docs from websites, GitHub, npm, PyPI, and local files, allowing AI assistants to query the exact library versions being used in a project.
Core Value Proposition: Open-source alternative to Context7, Nia, and Ref.Tools that runs entirely on your machine with full privacy.
Problem Addressed
| Problem |
How Docs MCP Server Solves It |
| AI models have outdated training data |
Fetches documentation directly from official sources on demand |
| AI hallucinations about APIs and features |
Grounds LLMs in real, current documentation |
| Context window limitations for large docs |
Semantic vector search retrieves only relevant chunks |
| Version mismatches (AI knows v1, user has v3) |
Version-specific queries target exact library versions in project |
| Privacy concerns with cloud services |
Runs entirely on local machine; code never leaves your network |
| Single-format documentation sources |
Processes HTML, Markdown, PDF, Word, Excel, PowerPoint, and source code |
Key Statistics (as of January 26, 2026)
| Metric |
Value |
| GitHub Stars |
954 |
| Forks |
113 |
| Contributors |
8 |
| Open Issues |
33 |
| Primary Language |
TypeScript (99%) |
| npm Package |
@arabold/docs-mcp-server |
| Latest Version |
v1.36.0 (Jan 15, 2026) |
| Created |
March 17, 2025 |
Key Features
1. Multi-Source Documentation Indexing
- Web Scraping: Index any documentation website using Playwright
- GitHub Repositories: Index README, docs folders, source code
- Package Registries: Fetch from npm and PyPI
- Local Files: Index local folders and zip archives
- llms.txt Support: Automatic detection of LLM-ready documentation files
2. Rich File Format Support
- HTML and Markdown
- PDF documents
- Microsoft Office (Word .docx, Excel, PowerPoint)
- Source code files
- Password-protected PDFs
3. Semantic Vector Search
- Multiple Embedding Providers: OpenAI, Ollama, Google Gemini, Azure, AWS
- Hybrid Search: Combines vector similarity and full-text search
- Reciprocal Rank Fusion (RRF): Configurable weights for optimal ranking
- Dual-Mode FTS: Exact phrase and keyword matching for improved recall
4. Version-Specific Queries
- Index multiple versions of the same library
- Query targets exact version in use
- Version tracking with re-indexing capability
- Change detection for documentation updates
5. Privacy-First Architecture
- Runs entirely on local machine
- No code or queries sent to external servers
- SQLite database with schema migrations
- Optional telemetry (privacy-first design)
6. Multiple Access Interfaces
- Web UI: Add/manage documentation at http://localhost:6280
- CLI: Command-line management
- MCP Protocol: Integration with Claude, Cline, Roo, etc.
- SSE Endpoint: Server-Sent Events for real-time updates
Technical Architecture
Deployment Modes
Unified Mode (Default):
- Single process with MCP server, web interface, embedded worker
- Suitable for development and simple deployments
- Direct method calls between components
- Local event propagation via EventBus
Distributed Mode (Docker Compose):
- Separate coordinator and worker processes
- Hub (shared worker) + Spokes (Web, MCP, CLI)
- tRPC for inter-process communication
- WebSocket for real-time events
- Scalable processing across containers
Protocol Auto-Detection
- No TTY: stdio transport for direct MCP communication
- Has TTY: HTTP transport with Server-Sent Events
- Manual override:
--protocol stdio|http
Installation and Usage
Quick Start
# Start server (requires Node.js 20+)
npx @arabold/docs-mcp-server@latest
# Open Web UI
# http://localhost:6280
# Add to MCP client config
{
"mcpServers": {
"docs-mcp-server": {
"type": "sse",
"url": "http://localhost:6280/sse"
}
}
}
Docker Deployment
docker run --rm \
-v docs-mcp-data:/data \
-v docs-mcp-config:/config \
-p 6280:6280 \
ghcr.io/arabold/docs-mcp-server:latest \
--protocol http --host 0.0.0.0 --port 6280
Enable Embeddings (Recommended)
# OpenAI
OPENAI_API_KEY="sk-proj-..." npx @arabold/docs-mcp-server@latest
# Or Ollama (local, free)
OLLAMA_BASE_URL="http://localhost:11434" npx @arabold/docs-mcp-server@latest
MCP Tools Provided
The server exposes tools via MCP protocol:
| Tool |
Description |
scrape_docs |
Index documentation from URL or local path |
search_docs |
Semantic search across indexed content |
list_libraries |
Show all indexed libraries |
list_versions |
Show versions for a library |
get_job_status |
Check indexing job progress |
cancel_job |
Cancel running indexing job |
fetch_url |
Fetch URL and convert to markdown |
Configuration System
Configuration resolves via Zod schema with four layers:
Defaults < Config File < Environment Variables < CLI Arguments
Key Settings:
# config.yaml
embedding:
provider: openai # or ollama, gemini, azure, aws
model: text-embedding-3-small
storage:
path: ~/.local/share/docs-mcp-server
server:
port: 6280
protocol: auto # stdio, http, or auto
Supported Embedding Providers
| Provider |
Local/Cloud |
Cost |
| OpenAI |
Cloud |
Paid |
| Ollama |
Local |
Free |
| Google Gemini |
Cloud |
Paid |
| Azure OpenAI |
Cloud |
Paid |
| AWS Bedrock |
Cloud |
Paid |
Comparison with Alternatives
| Feature |
Docs MCP Server |
Context7 |
Nia |
Ref.Tools |
| Open Source |
Yes (MIT) |
No |
No |
No |
| Self-Hosted |
Yes |
No |
No |
No |
| Privacy |
Full (local) |
Cloud |
Cloud |
Cloud |
| Custom Sources |
Yes |
Limited |
Limited |
Limited |
| Multi-Provider Embeddings |
Yes |
No |
No |
No |
| Version-Specific |
Yes |
Yes |
Yes |
Yes |
| Cost |
Free + embeddings |
Subscription |
Subscription |
Subscription |
Relevance to Claude Code Development
Direct Applications
- Documentation Grounding: Eliminate hallucinations when coding with unfamiliar libraries
- Version-Specific Context: Query docs for exact versions in project dependencies
- Local Privacy: Keep proprietary documentation indexed locally
- Multi-Format Support: Index internal docs in various formats (PDF, Word, etc.)
Patterns Worth Adopting
- Semantic Chunking: Two-phase splitting (semantic structure + size optimization)
- Hybrid Search: Combining vector similarity with full-text for better recall
- Protocol Auto-Detection: Automatic transport selection based on environment
- Write-Through Architecture: Immediate persistence for recovery capability
- Distributed Mode Design: Hub-spoke pattern for scalable processing
Integration Opportunities
- Claude Code Plugin: Create plugin that auto-indexes project dependencies
- Skill Enhancement: Ground skills in current documentation automatically
- RAG Pattern: Apply hybrid search approach to existing context systems
- Multi-Source Truth: Pattern for combining documentation from multiple sources
Complementary to Existing MCP Ecosystem
This fills a gap in the research directory's MCP ecosystem coverage:
- Narsil MCP: Code intelligence and security scanning
- OctoCode MCP: Research Driven Development with GitHub search
- Docs MCP Server: Documentation grounding and version-specific retrieval
References
- GitHub Repository: https://github.com/arabold/docs-mcp-server (accessed 2026-01-26)
- Official Website: https://grounded.tools (accessed 2026-01-26)
- npm Package: https://www.npmjs.com/package/@arabold/docs-mcp-server (accessed 2026-01-26)
- Architecture Documentation: https://github.com/arabold/docs-mcp-server/blob/main/ARCHITECTURE.md (accessed 2026-01-26)
- Installation Guide: https://github.com/arabold/docs-mcp-server/blob/main/docs/setup/installation.md
- MCP Protocol Specification: https://modelcontextprotocol.io/
1---2name: docs-mcp-server-grounded-docs-local-documentation-index-for-3description: Docs MCP Server (branded as "Grounded Docs") is an open-source MCP server that solves AI hallucinations and outdated knowledge by providing a personal, always-current documentation index. It fetches...4license: MIT5---6
7## Overview
8
9Docs MCP Server (branded as "Grounded Docs") is an open-source MCP server that solves AI hallucinations and outdated knowledge by providing a personal, always-current documentation index. It fetches official docs from websites, GitHub, npm, PyPI, and local files, allowing AI assistants to query the exact library versions being used in a project.
10
11**Core Value Proposition**: Open-source alternative to Context7, Nia, and Ref.Tools that runs entirely on your machine with full privacy.
12
13---
14
15## Problem Addressed
16
17| Problem | How Docs MCP Server Solves It |
18| --------------------------------------------- | ----------------------------------------------------------------------- |
19| AI models have outdated training data | Fetches documentation directly from official sources on demand |
20| AI hallucinations about APIs and features | Grounds LLMs in real, current documentation |
21| Context window limitations for large docs | Semantic vector search retrieves only relevant chunks |
22| Version mismatches (AI knows v1, user has v3) | Version-specific queries target exact library versions in project |
23| Privacy concerns with cloud services | Runs entirely on local machine; code never leaves your network |
24| Single-format documentation sources | Processes HTML, Markdown, PDF, Word, Excel, PowerPoint, and source code |
25
26---
27
28## Key Statistics (as of January 26, 2026)
29
30| Metric | Value |
31| ---------------- | ------------------------ |
32| GitHub Stars | 954 |
33| Forks | 113 |
34| Contributors | 8 |
35| Open Issues | 33 |
36| Primary Language | TypeScript (99%) |
37| npm Package | @arabold/docs-mcp-server |
38| Latest Version | v1.36.0 (Jan 15, 2026) |
39| Created | March 17, 2025 |
40
41---
42
43## Key Features
44
45### 1. Multi-Source Documentation Indexing
46
47- **Web Scraping**: Index any documentation website using Playwright
48- **GitHub Repositories**: Index README, docs folders, source code
49- **Package Registries**: Fetch from npm and PyPI
50- **Local Files**: Index local folders and zip archives
51- **llms.txt Support**: Automatic detection of LLM-ready documentation files
52
53### 2. Rich File Format Support
54
55- HTML and Markdown
56- PDF documents
57- Microsoft Office (Word .docx, Excel, PowerPoint)
58- Source code files
59- Password-protected PDFs
60
61### 3. Semantic Vector Search
62
63- **Multiple Embedding Providers**: OpenAI, Ollama, Google Gemini, Azure, AWS
64- **Hybrid Search**: Combines vector similarity and full-text search
65- **Reciprocal Rank Fusion (RRF)**: Configurable weights for optimal ranking
66- **Dual-Mode FTS**: Exact phrase and keyword matching for improved recall
67
68### 4. Version-Specific Queries
69
70- Index multiple versions of the same library
71- Query targets exact version in use
72- Version tracking with re-indexing capability
73- Change detection for documentation updates
74
75### 5. Privacy-First Architecture
76
77- Runs entirely on local machine
78- No code or queries sent to external servers
79- SQLite database with schema migrations
80- Optional telemetry (privacy-first design)
81
82### 6. Multiple Access Interfaces
83
84- **Web UI**: Add/manage documentation at <http://localhost:6280>
85- **CLI**: Command-line management
86- **MCP Protocol**: Integration with Claude, Cline, Roo, etc.
87- **SSE Endpoint**: Server-Sent Events for real-time updates
88
89---
90
91## Technical Architecture
92
93<eg>
94Documentation Sources
95 |
96 v
97+---------------------------+
98| Scraper Strategies |
99| - Web (Playwright) |
100| - Local filesystem |
101| - Package registries |
102+---------------------------+
103 |
104 v
105+---------------------------+
106| Content Fetchers |
107| - HTTP |
108| - Filesystem |
109| - Registry APIs |
110+---------------------------+
111 |
112 v
113+---------------------------+
114| Processing Pipelines |
115| - Middleware chains |
116| - Content-type handling |
117+---------------------------+
118 |
119 v
120+---------------------------+
121| Document Splitters |
122| - SemanticMarkdown |
123| - JsonDocument |
124| - TextDocument |
125| - GreedySplitter (size) |
126+---------------------------+
127 |
128 v
129+---------------------------+
130| Embedding Generation |
131| - OpenAI, Gemini |
132| - Ollama (local) |
133| - Azure, AWS |
134+---------------------------+
135 |
136 v
137+---------------------------+
138| SQLite Storage |
139| - libraries table |
140| - versions table |
141| - documents table |
142+---------------------------+
143 |
144 v
145+---------------------------+
146| Hybrid Search |
147| - Vector similarity |
148| - Full-text search |
149| - RRF ranking |
150+---------------------------+
151</eg>
152
153### Deployment Modes
154
155**Unified Mode (Default)**:
156
157- Single process with MCP server, web interface, embedded worker
158- Suitable for development and simple deployments
159- Direct method calls between components
160- Local event propagation via EventBus
161
162**Distributed Mode (Docker Compose)**:
163
164- Separate coordinator and worker processes
165- Hub (shared worker) + Spokes (Web, MCP, CLI)
166- tRPC for inter-process communication
167- WebSocket for real-time events
168- Scalable processing across containers
169
170### Protocol Auto-Detection
171
172- No TTY: stdio transport for direct MCP communication
173- Has TTY: HTTP transport with Server-Sent Events
174- Manual override: `--protocol stdio|http`
175
176---
177
178## Installation and Usage
179
180### Quick Start
181
182```bash
183# Start server (requires Node.js 20+)
184npx @arabold/docs-mcp-server@latest
185
186# Open Web UI
187# http://localhost:6280
188
189# Add to MCP client config
190{
191 "mcpServers": {
192 "docs-mcp-server": {
193 "type": "sse",
194 "url": "http://localhost:6280/sse"
195 }
196 }
197}
198```
199
200### Docker Deployment
201
202```bash
203docker run --rm \
204 -v docs-mcp-data:/data \
205 -v docs-mcp-config:/config \
206 -p 6280:6280 \
207 ghcr.io/arabold/docs-mcp-server:latest \
208 --protocol http --host 0.0.0.0 --port 6280
209```
210
211### Enable Embeddings (Recommended)
212
213```bash
214# OpenAI
215OPENAI_API_KEY="sk-proj-..." npx @arabold/docs-mcp-server@latest
216
217# Or Ollama (local, free)
218OLLAMA_BASE_URL="http://localhost:11434" npx @arabold/docs-mcp-server@latest
219```
220
221---
222
223## MCP Tools Provided
224
225The server exposes tools via MCP protocol:
226
227| Tool | Description |
228| ---------------- | ------------------------------------------ |
229| `scrape_docs` | Index documentation from URL or local path |
230| `search_docs` | Semantic search across indexed content |
231| `list_libraries` | Show all indexed libraries |
232| `list_versions` | Show versions for a library |
233| `get_job_status` | Check indexing job progress |
234| `cancel_job` | Cancel running indexing job |
235| `fetch_url` | Fetch URL and convert to markdown |
236
237---
238
239## Configuration System
240
241Configuration resolves via Zod schema with four layers:
242Defaults < Config File < Environment Variables < CLI Arguments
243
244**Key Settings**:
245
246```yaml
247# config.yaml
248embedding:
249 provider: openai # or ollama, gemini, azure, aws
250 model: text-embedding-3-small
251
252storage:
253 path: ~/.local/share/docs-mcp-server
254
255server:
256 port: 6280
257 protocol: auto # stdio, http, or auto
258```
259
260### Supported Embedding Providers
261
262| Provider | Local/Cloud | Cost |
263| ------------- | ----------- | ---- |
264| OpenAI | Cloud | Paid |
265| Ollama | Local | Free |
266| Google Gemini | Cloud | Paid |
267| Azure OpenAI | Cloud | Paid |
268| AWS Bedrock | Cloud | Paid |
269
270---
271
272## Comparison with Alternatives
273
274| Feature | Docs MCP Server | Context7 | Nia | Ref.Tools |
275| ------------------------- | ----------------- | ------------ | ------------ | ------------ |
276| Open Source | Yes (MIT) | No | No | No |
277| Self-Hosted | Yes | No | No | No |
278| Privacy | Full (local) | Cloud | Cloud | Cloud |
279| Custom Sources | Yes | Limited | Limited | Limited |
280| Multi-Provider Embeddings | Yes | No | No | No |
281| Version-Specific | Yes | Yes | Yes | Yes |
282| Cost | Free + embeddings | Subscription | Subscription | Subscription |
283
284---
285
286## Relevance to Claude Code Development
287
288### Direct Applications
289
2901. **Documentation Grounding**: Eliminate hallucinations when coding with unfamiliar libraries
2912. **Version-Specific Context**: Query docs for exact versions in project dependencies
2923. **Local Privacy**: Keep proprietary documentation indexed locally
2934. **Multi-Format Support**: Index internal docs in various formats (PDF, Word, etc.)
294
295### Patterns Worth Adopting
296
2971. **Semantic Chunking**: Two-phase splitting (semantic structure + size optimization)
2982. **Hybrid Search**: Combining vector similarity with full-text for better recall
2993. **Protocol Auto-Detection**: Automatic transport selection based on environment
3004. **Write-Through Architecture**: Immediate persistence for recovery capability
3015. **Distributed Mode Design**: Hub-spoke pattern for scalable processing
302
303### Integration Opportunities
304
3051. **Claude Code Plugin**: Create plugin that auto-indexes project dependencies
3062. **Skill Enhancement**: Ground skills in current documentation automatically
3073. **RAG Pattern**: Apply hybrid search approach to existing context systems
3084. **Multi-Source Truth**: Pattern for combining documentation from multiple sources
309
310### Complementary to Existing MCP Ecosystem
311
312This fills a gap in the research directory's MCP ecosystem coverage:
313
314- **Narsil MCP**: Code intelligence and security scanning
315- **OctoCode MCP**: Research Driven Development with GitHub search
316- **Docs MCP Server**: Documentation grounding and version-specific retrieval
317
318---
319
320## References
321
3221. **GitHub Repository**: <https://github.com/arabold/docs-mcp-server> (accessed 2026-01-26)
3232. **Official Website**: <https://grounded.tools> (accessed 2026-01-26)
3243. **npm Package**: <https://www.npmjs.com/package/@arabold/docs-mcp-server> (accessed 2026-01-26)
3254. **Architecture Documentation**: <https://github.com/arabold/docs-mcp-server/blob/main/ARCHITECTURE.md> (accessed 2026-01-26)
3265. **Installation Guide**: <https://github.com/arabold/docs-mcp-server/blob/main/docs/setup/installation.md>
3276. **MCP Protocol Specification**: <https://modelcontextprotocol.io/>