devdocs-mcp
Local DevDocs MCP Server (Developer Docs with project specific context awareness)
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"@madhan-g-p/devdocs-mcp-server": {
"args": [
"@madhan-g-p/devdocs-mcp-server@1.0.0"
],
"command": "npx"
}
}
}
可用工具 (5 个)
该服务在 MCP 协议中暴露的工具,AI 可按需调用
tavily_search 14 个参数 需填 1 项
Search the web for current information on any topic. Use for news, facts, or data beyond your knowledge cutoff. Returns snippets and source URLs.
必填参数:query
tavily_extract 6 个参数 需填 1 项
Extract content from URLs. Returns raw page content in markdown or text format.
必填参数:urls
tavily_crawl 11 个参数 需填 1 项
Crawl a website starting from a URL. Extracts content from pages with configurable depth and breadth.
必填参数:url
tavily_map 8 个参数 需填 1 项
Map a website's structure. Returns a list of URLs found starting from the base URL.
必填参数:url
tavily_research 2 个参数 需填 1 项
Perform comprehensive research on a given topic or question. Use this tool when you need to gather information from multiple sources to answer a question or complete a task. Returns a detailed response based on the research findings.
必填参数:input
服务介绍
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](# -overview)
- [Key Capabilities](# -key-capabilities)
- [Quickstart](# -quickstart)
- [Installation & Setup](# -installation- -setup)
- [AI Agent Configuration](# -ai-agent-configuration)
- [Further Reading](# -further-reading)
# 🎯 Overview
- 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.
- ❌ 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).
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.
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 .env file.
-
Configure your preferred storage in
.env:# 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 -
Start the server:
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_SOURCEin your.envfile. Both themcp.db(database library) and thedata/(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:
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)
| 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.
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.envand use theDEVDOCS_DATA_PATHandMCP_DB_PATHyou've defined there (e.g.,./dataormcp.db), making the setup portable!
# # Remote / Web Clients (HTTP SSE)
If you need to expose the server via a port (for production/remote setups):
- Start the server with a port flag:
node dist/main.js - -port 3000 - Configure your client:
- SSE URL:
http://your-server:3000/mcp/sse - Type:
SSE(Supported by most MCP clients, atleast I guess so)
- SSE URL:
# 📖 Further Reading
- System Architecture: Deep dive into the data flow, schema, and
sql.jsinternals. - Contributor Guidelines: Workflow, coding standards, and PR requirements.
- LICENSE: MIT License.
Inspired from this project devdocs-local ,
devdocs-local-demo by @Nathaniel Whiteinge