DevDocs-MCP: Documentation Authority for AI Agents
Eliminate AI hallucinations with local, version-aware, and authoritative documentation.
DevDocs-MCP is a Model Context Protocol (MCP) server that provides version-pinned, deterministic documentation sourced from DevDocs.io to AI assistants (Claude, RooCode, Cline, Copilot etc.). It acts as a local Documentation Intelligence Layer, ensuring your agent always has the correct API context without network latency or training data drift.
This server follows the proposed MCP server standard defined by the MCP , which is being adopted by AI tools and agents across the ecosystem, including those from providers such as Anthropic, OpenAI, and Google.
⚠️ Project Status Notice ⚠️ This project is under active and heavy development. Still need to test existing features and implement more new features like optimal caching , update latest doc automatically and also on request basis , optimal querying and more... Design decisions, APIs, and structure are expected to evolve based on strong opinions, reviews, and feedback from the developer community. I warmly welcome discussions, critiques, and contributions to help shape this project in the right direction.
📑 Table of Contents
🎯 Overview
What This Project Is
- A local MCP server written in NestJS (TypeScript).
- A deterministic authority for documentation metadata and content.
- A lazy-ingestion engine that caches DevDocs offline.
- A project-aware context manager that pins docs to your
package.jsonversions.
What This Project Is NOT
- ❌ An AI agent or code generator.
- ❌ A web scraper (it uses structured DevDocs datasets).
- ❌ A DevDocs UI replacement.
- ❌ A hosted SaaS (it runs 100% locally).
Why This Exists (The Problem)
Modern AI coding agents face three major hurdles:
- Hallucination: Guessing API signatures or using deprecated methods.
- Latency: Fetching live web docs for every query is slow.
- Version Drift: Mixing up React 18 with React 19 features.
The Solution: DevDocs-MCP provides "Just-in-Time" documentation retrieved from local storage, filtered by your project's specific dependency versions.
Mental Model
DevDocs-MCP acts as a middleware between your IDE Agent and the documentation source.
graph TD
Agent["AI Agents"] -->|MCP Search/Explain| Server["DevDocs-MCP Server"]
Server -->|Metadata| DB[(SQLite - sql.js)]
Server -->|Content| FS[Local Disk - JSON Cache]
Server -.->|Lazy Fetch| Web[DevDocs.io API]
🚀 Key Capabilities
- Offline-First: Documentation is cached locally; no internet is needed after ingestion.
- Ranked Fuzzy Search: Instantly find relevant entries (e.g., "intersection observer").
- Version Awareness: Automatically maps to specific library versions in your project.
- Node-Only Architecture: Uses
sql.jsfor zero-native dependencies (no Python/C++ build steps). - Structured Outputs: Returns clean, LLM-optimized content.
⚡ Quickstart
- Clone & Install
git clone https://github.com/madhan-g-p/DevDocs-MCP.git
cd DevDocs-MCP
pnpm install
- Configure Environment
cp .env.example .env
# Edit .env: Set DEVDOCS_DATA_PATH to where you want to store docs.
- Build & Run
pnpm build
pnpm start:prod
Note: Strictly use
pnpmfor development and contributions.
🛠️ Installation & Setup
DevDocs-MCP is optimized for zero-fuss setup with pnpm. It is a Node-only project.
Prerequisites
- Node.js 18+ (tested on 18.x and 20.x).
🐳 Docker Usage
DevDocs-MCP is designed to be lightweight and persistent. Since it downloads and caches large documentation datasets, managing your data volumes correctly is essential.
Method A: Docker Compose (Dynamic & Persistent)
This is the recommended way. It supports 3 storage modes via the DEVDOCS_VOLUME_SOURCE variable in your `.en
Tools 2
search_docsPerform a ranked fuzzy search across cached documentation entries.get_doc_contentRetrieve the full content of a specific documentation entry.Environment Variables
DEVDOCS_DATA_PATHrequiredPath to the directory where documentation datasets are stored.