Devdocs Mcp

io.github.madhan-g-pPublished by GitHub account madhan-g-pv1.0.0Updated Oct 24, 2026

Local DevDocs MCP Server (Developer Docs with project specific context awareness)

VerifiedSTDIODesktop onlyKnowledge & MemoryDeveloper Tools

Overview

AI-generated overview

A local MCP server that gives AI assistants version-pinned, offline-cached DevDocs documentation for the libraries in a project.

What you can do
DevDocs-MCP runs locally and acts as a documentation layer between an AI coding agent and DevDocs.io datasets. It ingests documentation for the dependencies you specify, caches it on disk, and answers ranked fuzzy searches over that cached content. It maps documentation to the versions declared in your project, so answers reflect the library versions you actually use rather than training data. It is not an agent, code generator, or web scraper.
When to use it
Useful when an assistant keeps guessing API signatures or mixing up library versions, and you want documentation lookups to work without network latency. Best for developers working with well-known JavaScript and TypeScript stacks whose docs exist on DevDocs.
Requirements
Runs as a local Node.js process (Node.js 18+; tested on 18.x and 20.x). Install via npm package @madhan-g-p/devdocs-mcp-server or build from source with pnpm. Configuration uses a .env file with DEVDOCS_DATA_PATH, MCP_DB_PATH, and LOG_LEVEL. Network access is needed only for the initial documentation ingestion; afterwards it works offline. Docker is an optional alternative.
Before you install
The project describes itself as under active and heavy development, with features still untested and APIs expected to change, so expect instability. Ingestion downloads documentation datasets from DevDocs.io, which requires network access and disk space. It writes cached files and a SQLite database to the paths you configure, so point DEVDOCS_DATA_PATH and MCP_DB_PATH somewhere you are willing to have modified. No credentials or payments are involved.

Installation

In SourceWeft

  1. Open Devdocs Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

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

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

🎯 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.json versions.
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:

  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.

Mental Model

DevDocs-MCP acts as a middleware between your IDE Agent and the documentation source.

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

⚡ Quickstart

  1. Clone & Install
bash
git clone https://github.com/madhan-g-p/DevDocs-MCP.gitcd DevDocs-MCPpnpm install
  1. Configure Environment
bash
cp .env.example .env# Edit .env: Set DEVDOCS_DATA_PATH to where you want to store docs.
  1. Build & Run
bash
pnpm buildpnpm 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

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 .env file.

  1. Configure your preferred storage in .env:

    bash
    # Mode 1: Named volume (Default - Docker manages it)DEVDOCS_VOLUME_SOURCE=devdocs_data
    # Mode 2: Host Path (Outside Docker - Local folder)# DEVDOCS_VOLUME_SOURCE=./my-docs-storage
  2. Start the server:

    bash
    docker compose up -d

Flexibility: Every time you start the container, you can point to a new volume (to start fresh) or an existing volume (to keep your data) just by changing the DEVDOCS_VOLUME_SOURCE in your .env file. Both the mcp.db (database library) and the data/ (documentation downloads) are stored inside this volume.

Method B: Docker Run (Manual)

If you just want to run the public image directly from Docker Hub:

bash
docker run -d -p 3000:3000 \  -v "devdocs_data:/app/data" \  --name devdocs-mcp \  madhandock1/devdocs-mcp:latest
💾 Data Strategy

The project uses a single mount point at /app/data which contains:

  • /app/data/mcp.db: The SQLite registry.
  • /app/data/docs/: The cached documentation files. This unified structure makes it easy to backup or move your entire documentation authority by simply moving one folder or volume.

Configuration (.env)

VariableDescriptionDefault
DEVDOCS_DATA_PATHPath to store downloaded documentation JSONs../data
MCP_DB_PATHPath to the SQLite metadata database.mcp.db
LOG_LEVELVerbosity (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.

json
{  "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.
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.

json
{  "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:
    bash
    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

Source: README.md at commit ef64941

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v1.0.0LatestSep 16, 2026

Score

40% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.