devdocs-mcp

devdocs-mcp

An MCP server that provides version-pinned, deterministic documentation sourced from DevDocs.io to AI assistants (Claude, RooCode, Cline, Copilot etc.) and also via offline mode. Not via Scraping! But using the supported downloading option from devdocs.

Category
Visit Server

README

DevDocs-MCP: Documentation Authority for AI Agents

<table width="100%"> <tbody width="100%" style="margin: 0 auto;"> <tr> <td width="50%" align="center"> <a href="https://glama.ai/mcp/servers/@madhan-g-p/devdocs-mcp"> <img height="180" src="https://glama.ai/mcp/servers/@madhan-g-p/devdocs-mcp/badge" /> </a> </td> <td width="50%" align="center"> <a href="https://registry.modelcontextprotocol.io/?q=io.github.madhan-g-p%2Fdevdocs-mcp"> <img height="180" src="./mcp_registry.png" /> </a> </td> </tr> </tbody> </table>

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

  1. Overview
  2. Key Capabilities
  3. Quickstart
  4. Installation & Setup
  5. AI Agent Configuration
  6. Further Reading

🎯 Overview

<details> <summary><b>What This Project Is</b></summary>

  • 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.json versions.

</details>

<details> <summary><b>What This Project Is NOT</b></summary>

  • ❌ 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).

</details>

<details> <summary><b>Why This Exists (The Problem)</b></summary>

Modern AI coding agents face three major hurdles:

  1. Hallucination: Guessing API signatures or using deprecated methods.
  2. Latency: Fetching live web docs for every query is slow.
  3. 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. </details>

<details> <summary><b>Mental Model</b></summary>

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]

</details>


🚀 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.js for zero-native dependencies (no Python/C++ build steps).
  • Structured Outputs: Returns clean, LLM-optimized content.

⚡ Quickstart

  1. Clone & Install
git clone https://github.com/madhan-g-p/DevDocs-MCP.git
cd DevDocs-MCP
pnpm install
  1. Configure Environment
cp .env.example .env
# Edit .env: Set DEVDOCS_DATA_PATH to where you want to store docs.
  1. Build & Run
pnpm build
pnpm start:prod

Note: Strictly use pnpm for 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

Each user's documentation data is persistent and stored locally on their machine.

  1. Run the Server (SSE Mode):

    docker run -d -p 3000:3000 \
      -v "$(pwd)/data:/app/data" \
      -e PORT=3000 \
      madhandock1/devdocs-mcp:latest
    

    This maps your local ./data folder to the container, ensuring your downloaded docs are saved.

  2. Configure Agent:

    • SSE URL: http://localhost:3000/mcp/sse

Configuration (.env)

Variable Description Default
DEVDOCS_DATA_PATH Path to store downloaded documentation JSONs. ./data
MCP_DB_PATH Path to the SQLite metadata database. mcp.db
LOG_LEVEL Verbosity (debug, info, warn, error). info

Ingesting Documentation

Once the server is connected to your agent, use the ingest tool to download documentation for your specific stack: Agent will take care of it once the server is up and running , it is supposed to list the available to tools and take decision accordingly.

{
  "dependencies": {
    "react": "18.2.0",
    "typescript": "5.0.0"
  }
}

Note: The Devdocs fetch url required to be used for ingestion is defined in src/config/constants.ts. This URL currently points to the correct and officially supported path. If the devdocs community changes this path in future, the configuration may need to be updated accordingly.<br/> This approach does not involve web scraping. It follows the same supported mechanism used by DevDocs to provide documentation for offline use, similar to how users download documentation within DevDocs itself.


🤖 AI Agent Configuration

RooCode / Cline / Claude Desktop (Recommended: STDIO)

Add this to your mcp_settings.json. By setting the cwd (Current Working Directory), the server will automatically load configuration from your .env file, allowing you to use relative paths for data storage.

{
  "mcpServers": {
    "devdocs": {
      "command": "node",
      "args": ["dist/main.js"],
      "cwd": "file://path/to/your/DevDocs-MCP"
    }
  }
}

Pro Tip: Use the absolute path to the project in cwd. The server will then find your .env and use the DEVDOCS_DATA_PATH and MCP_DB_PATH you've defined there (e.g., ./data or mcp.db), making the setup portable!

Remote / Web Clients (HTTP SSE)

If you need to expose the server via a port (for production/remote setups):

  1. Start the server with a port flag:
    node dist/main.js --port 3000
    
  2. Configure your client:
    • SSE URL: http://your-server:3000/mcp/sse
    • Type: SSE (Supported by most MCP clients, atleast I guess so)

📖 Further Reading


Inspired from this project devdocs-local , devdocs-local-demo by @Nathaniel Whiteinge

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured