docs-mcp-server

docs-mcp-server

MCP server that exposes one or more documentation folders (Markdown, MDX, TXT) to AI agents, enabling listing, reading, and searching of documentation files.

Category
Visit Server

README

docs-mcp-server

A reusable Model Context Protocol (MCP) server that exposes one or more documentation folders — plain .md, .mdx, and .txt files — to any MCP-compatible AI agent (Claude Desktop, Claude Code, Cursor, etc).

It's kept as its own package rather than bundled into a specific project so that any number of repos/services can point at their own docs folder(s) and share the exact same server binary, instead of every project reimplementing "list/read/search my markdown docs" from scratch. Real projects also rarely keep all their docs in one place — e.g. each microservice has its own docs/ folder — so this server accepts multiple folders and gives each one a short label you reference in resource URIs and see in search results.

⚙️ Installation

🥇 Option 1 — Recommended (npx / direct way)

This is the easiest way. npx automatically fetches the repo, installs dependencies, builds it, and runs the server — no local clone required.

Add this to your MCP settings:

{
  "mcpServers": {
    "docs": {
      "command": "npx",
      "args": [
        "-y",
        "github:DewminK/docs-mcp-server",
        "--docs-path",
        "/absolute/path/to/your/docs"
      ]
    }
  }
}

🚀 What happens with the npx method

  • Automatically retrieves the MCP server package from the repository
  • Installs the required dependencies in a separate managed environment
  • Compiles the TypeScript source code into executable JavaScript
  • Starts the MCP server and enables communication with MCP hosts through the stdio transport

Swap --docs-path for as many comma-separated folders as you need (see Configuring documentation folders below).

🥈 Option 2 — Clone & build locally

Useful if you want to edit the server itself, or prefer pinning an exact local build.

git clone https://github.com/DewminK/docs-mcp-server.git
cd docs-mcp-server
npm install
npm run build

This compiles src/*.ts to dist/*.js (ESM, targeting ES2022). Then point your MCP host at the built file with absolute paths:

{
  "mcpServers": {
    "docs": {
      "command": "node",
      "args": [
        "/absolute/path/to/docs-mcp-server/dist/server.js",
        "--docs-path",
        "/absolute/path/to/service-a/docs,/absolute/path/to/service-b/docs"
      ]
    }
  }
}

Adding it to an MCP host

This section shows how to register the server with each MCP host. Most of these commands/configs (anything using npx -y github:DewminK/docs-mcp-server) are self-contained and fetch + build + run the server on their own — you don't need to have done Installation Option 1 or 2 first. Only use a node dist/server.js path (Option 2's build output) if you already cloned the repo locally.

Claude Desktop — edit the config file and restart the app:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Claude Code (terminal or VS Code extension) — use the CLI instead of hand-editing JSON, from an integrated or regular terminal. docs in the commands below is just the server name being registered — pick any name you like, it's not a fixed keyword. The default local scope only applies to the exact project folder you ran the command from; use --scope project or --scope user instead if you want it shared or available everywhere (see below).

Scope: project — shared with your team via an .mcp.json file created at the repo root (commit this file so teammates get the same server):

claude mcp add docs --scope project -- npx -y github:DewminK/docs-mcp-server --docs-path /absolute/path/to/your/docs

Scope: user — available across all your projects on this machine, stored in ~/.claude.json:

claude mcp add docs --scope user -- npx -y github:DewminK/docs-mcp-server --docs-path /absolute/path/to/your/docs

Verify with claude mcp list, then reload the VS Code window (Command Palette → "Developer: Reload Window") if you're using the extension — it only picks up newly registered servers on startup/reload, not mid-session.

VS Code (Copilot Chat's MCP support, not the Claude Code extension) — add the server to .vscode/mcp.json in your workspace, or to your user settings.json under the mcp.servers key for a global install:

{
  "servers": {
    "docs": {
      "command": "npx",
      "args": [
        "-y",
        "github:DewminK/docs-mcp-server",
        "--docs-path",
        "/absolute/path/to/your/docs"
      ]
    }
  }
}

Then open the Command Palette and run MCP: List Servers to start it, or use the Start code lens that appears above the server entry in mcp.json.

Cursor — same JSON block as Claude Desktop, placed in .cursor/mcp.json (project-level) or via Cursor's MCP settings UI (global).

Configuring documentation folders

The server resolves which folders to serve in this order:

  1. --docs-path CLI flag (comma-separated for multiple folders)
  2. DOCS_PATH environment variable (comma-separated for multiple folders)
  3. Default: ./docs

Each folder is given a label based on its own directory name. If two folders share the same directory name, later ones get a numeric suffix (docs, docs-2, ...).

Examples:

# Single folder
node dist/server.js --docs-path ./docs

# Multiple folders, one per microservice
node dist/server.js --docs-path "../service-a/docs,../service-b/docs"

# Same thing via environment variable
DOCS_PATH="../service-a/docs,../service-b/docs" node dist/server.js

Passing DOCS_PATH via the MCP config's env field works just as well as --docs-path, e.g.:

{
  "mcpServers": {
    "docs": {
      "command": "npx",
      "args": ["-y", "github:DewminK/docs-mcp-server"],
      "env": {
        "DOCS_PATH": "/absolute/path/to/service-a/docs,/absolute/path/to/service-b/docs"
      }
    }
  }
}

If a configured path doesn't exist or isn't a directory, the server prints a clear error to stderr and exits instead of starting.

What it exposes

Type Name Description
Resource docs://list Lists every doc file across all configured folders, one {label}/{relativePath} per line.
Resource template docs://{label}/{relativePath} Reads a single doc file's contents, given its folder label and path relative to that folder.
Tool search_docs Case-insensitive keyword search across all folders. Input: { query: string }.

Project layout

docs-mcp-server/
  src/lib.ts       # pure logic: resolve paths, list/read/search files (no MCP imports)
  src/server.ts    # thin MCP wiring around lib.ts, connected over stdio

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
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
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
E2B

E2B

Using MCP to run code via e2b.

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
Qdrant Server

Qdrant Server

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

Official
Featured