arabold/docs-mcp-server
Grounded Docs MCP Server: Open-Source Alternative to Context7, Nia, and Ref.Tools
Grounded Docs MCP Server – What It Is
Grounded Docs MCP Server is an open‑source tool that lets you build a local, version‑aware index of documentation and expose it to AI coding assistants (Claude, Copilot, Gemini, etc.) via the MCP (Message Control Protocol) used by many LLM‑powered IDE extensions. By pulling official docs from websites, GitHub repos, npm / PyPI packages, zip archives, or local folders, it gives the model a reliable source of truth, reducing hallucinations.
How It Works
- Scrape / ingest – The CLI (or Docker container) fetches docs from a URL or a local path, parses a huge range of formats (PDF, Word, HTML, Markdown, Jupyter notebooks, 90+ source‑code languages, etc.) and stores the extracted text in a local data store.
- Optional embeddings – If you provide an API key for OpenAI, Ollama, Gemini, Azure, … the server creates vector embeddings for the pages, enabling semantic search.
- Serve – A long‑running HTTP server (
http://localhost:6280) exposes two interfaces:- a Web UI for browsing and managing indexes, and
- an MCP endpoint (
/mcp) that LLM‑based IDE plugins can call tosearch,fetch-url, orscrapedocumentation.
- Client side – Agents configured with the MCP URL can ask questions like “how does
useEffectcleanup work in React 18?” and the server returns the exact snippet from the version‑matched docs.
Key Features (From the README)
| Feature | What It Means for You |
|---|---|
| Up‑to‑date, version‑specific docs | You point the server at a particular library version (e.g., react@18.2.0) and it only indexes that exact release. |
| Broad format support | Handles PDFs, Office files, EPUB, Jupyter notebooks, archives, and >90 programming languages out of the box. |
| Private & local | Runs on your machine or inside your own Docker host – no code or docs leave your network. |
| MCP compatibility | Works with any “MCP‑compatible” client such as Claude Desktop, Cline, VS Code extensions, Copilot, Gemini CLI, etc. |
| CLI‑first workflow | npx @arabold/docs-mcp-server@latest scrape … to add an index, search … to query, fetch-url … to retrieve raw markdown. |
| Embedding‑enhanced search (optional) | Plug in OpenAI, Ollama, Gemini, Azure, etc., to get semantic vector search instead of plain keyword matching. |
| Docker image | One‑line docker run … ghcr.io/arabold/docs-mcp-server:latest for isolated deployment. |
| Agent Skills | Pre‑written Agent Skills (agentskills.io) that teach LLM agents how to call the CLI. |
| Security & auth | Supports OAuth2/OIDC and other hardening options (see docs). |
Who Might Use It?
| Use case | Why Grounded Docs helps |
|---|---|
| LLM‑powered IDE extensions (Claude, Copilot, etc.) | Gives the model a guaranteed, version‑matched source of truth, cutting down on hallucinated API answers. |
| CI/CD pipelines / bots that need to look up exact docs for a given dependency version. | |
| Self‑hosted AI assistants that must stay offline for privacy reasons. | |
| Teams with internal libraries – you can point the scraper at a private repo or zip archive and expose those docs to the same LLM. |
Getting Started (Quick Recap)
- Install –
npx @arabold/docs-mcp-server@latest(Node 22+) or run the Docker image. - Add docs –
scrape react https://react.dev/reference/react(add--replaceto overwrite,--preserve-hashesfor SPA sites). - Search –
search react "useEffect cleanup" --output yaml. - Run the server –
npx @arabold/docs-mcp-server@latestthen openhttp://localhost:6280. - Connect your AI client – add the MCP URL to the client’s config (example JSON shown in README).
Where to Learn More
- Installation guide –
docs/setup/installation.md - Connecting clients –
docs/guides/mcp-clients.md - Embedding model setup –
docs/guides/embedding-models.md - Supported formats –
docs/concepts/supported-formats.md - Architecture & security –
ARCHITECTURE.md,docs/infrastructure/*
License
MIT – free to use, modify, and redistribute.
All details above are taken directly from the repository’s README; no additional assumptions have been made.
Related
- Project
- Project
- Project
- Project
- Project