1. Conduid
  2. Developer Tools
  3. docs-server
MCP server · Developer Tools

docs-server

MCP server for fetching and searching documentation

Unclaimed devtools
39Low

Scored 5 months ago · breakdown

About docs-server

docs-server is an MCP server published by git+arabold in the Developer Tools category: mCP server for fetching and searching documentation.

Install

Install
npx @arabold/docs-mcp-server
Claude Code
claude mcp add docs-mcp-server-gitarabo -- npx -y @arabold/docs-mcp-server
npx
npx -y @arabold/docs-mcp-server

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about docs-server

Powered by Claude · Grounded in docs

I know everything about docs-server. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ✓README presentThe repository ships documentation.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

4 checks have not been run yet.

README

Grounded Docs: Your AI's Up-to-Date Documentation Expert

Docs MCP Server solves the problem of AI hallucinations and outdated knowledge by providing a personal, always-current documentation index for your AI coding assistant. It fetches official docs from websites, GitHub, npm, PyPI, and local files, allowing your AI to query the exact version you are using.

Docs MCP Server Web Interface

✨ Why Grounded Docs MCP Server?

The open-source alternative to Context7, Nia, and Ref.Tools.

  • ✅ Up-to-Date Context: Fetches documentation directly from official sources on demand.
  • 🎯 Version-Specific: Queries target the exact library versions in your project.
  • 💡 Reduces Hallucinations: Grounds LLMs in real documentation.
  • 🔒 Private & Local: Runs entirely on your machine; your code never leaves your network.
  • 🧩 Broad Compatibility: Works with any MCP-compatible client (Claude, Cline, etc.).
  • 📁 Multiple Sources: Index websites, GitHub repositories, local folders, and zip archives.
  • 📄 Rich File Support: Processes HTML, Markdown, PDF, Office documents (Word, Excel, PowerPoint), OpenDocument, RTF, EPUB, Jupyter Notebooks, and 90+ source code languages.

📄 Supported Formats

Category Formats
Documents PDF, Word (.docx/.doc), Excel (.xlsx/.xls), PowerPoint (.pptx/.ppt), OpenDocument (.odt/.ods/.odp), RTF, EPUB, FictionBook, Jupyter Notebooks
Archives ZIP, TAR, gzipped TAR (contents are extracted and processed individually)
Web HTML, XHTML
Markup Markdown, MDX, reStructuredText, AsciiDoc, Org Mode, Textile, R Markdown
Source Code TypeScript, JavaScript, Python, Go, Rust, C/C++, Java, Kotlin, Ruby, PHP, Swift, C#, and many more
Data JSON, YAML, TOML, CSV, XML, SQL, GraphQL, Protocol Buffers
Config Dockerfile, Makefile, Terraform/HCL, INI, dotenv, Bazel

See Supported Formats for the complete reference including MIME types and processing details.


🚀 Quick Start

CLI First

For agents and scripts, the CLI is usually the simplest way to use Grounded Docs.

1. Index documentation (requires Node.js 22+):

npx @arabold/docs-mcp-server@latest scrape react https://react.dev/reference/react

For hash-routed SPA docs sites, enable hash preservation explicitly:

npx @arabold/docs-mcp-server@latest scrape my-spa https://docs.example.com/#/guide --preserve-hashes

2. Query the index:

npx @arabold/docs-mcp-server@latest search react "useEffect cleanup" --output yaml

3. Fetch a single page as Markdown:

npx @arabold/docs-mcp-server@latest fetch-url https://react.dev/reference/react/useEffect

Output Behavior

  • Structured commands default to clean JSON on stdout in non-interactive runs.
  • Use --output json|yaml|toon to pick a structured format.
  • Plain-text commands such as fetch-url keep their text payload on stdout.
  • Diagnostics go through the shared logger and are kept off stdout in non-interactive runs.
  • Use --quiet to suppress non-error diagnostics or --verbose to enable debug output.

Agent Skills

The skills/ directory contains Agent Skills that teach AI coding assistants how to use the CLI — covering documentation search, index management, and URL fetching.

MCP Server

If you want a long-running MCP endpoint for Claude, Cline, Copilot, Gemini CLI, or other MCP clients:

1. Start the server:

npx @arabold/docs-mcp-server@latest

2. Open the Web UI at http://localhost:6280 to add documentation.

3. Connect your AI client by adding this to your MCP settings (e.g., claude_desktop_config.json):

{
  "mcpServers": {
    "docs-mcp-server": {
      "type": "sse",
      "url": "http://localhost:6280/sse"
    }
  }
}

See Connecting Clients for VS Code (Cline, Roo) and other setup options.

scrape_docs also accepts preserveHashes: true for documentation sites that use hash-based client-side routing. Use it only for hash-routed SPAs; normal sites typically use hash fragments for in-page anchors.

docker run --rm \
  -v docs-mcp-data:/data \
  -v docs-mcp-config:/config \
  -p 6280:6280 \
  ghcr.io/arabold/docs-mcp-server:latest \
  --protocol http --host 0.0.0.0 --port 6280

🧠 Configure Embedding Model (Recommended)

Using an embedding model is optional but dramatically improves search quality by enabling semantic vector search.

Example: Enable OpenAI Embeddings

OPENAI_API_KEY="sk-proj-..." npx @arabold/docs-mcp-server@latest

See Embedding Models for configuring Ollama, Gemini, Azure, and others.


📚 Documentation

Getting Started

  • Installation: Detailed setup guides for Docker, Node.js (npx), and Embedded mode.
  • Connecting Clients: How to connect Claude, VS Code (Cline/Roo), and other MCP clients.
  • Basic Usage: Using the Web UI, CLI, and scraping local files.
  • Configuration: Full reference for config files and environment variables.
  • Supported Formats: Complete file format and MIME type reference.
  • Embedding Models: Configure OpenAI, Ollama, Gemini, and other providers.

Hash-Routed SPAs

  • Use --preserve-hashes, MCP preserveHashes, or the Web UI "Preserve Hash Routes" checkbox only for docs sites that route with URLs like #/guide.
  • When enabled with scrapeMode=fetch, the scraper automatically upgrades the job to Playwright because plain fetch cannot evaluate client-side hash routes.
  • Refresh reuses the stored preserveHashes setting by default, and CLI/Web refresh entrypoints can override it explicitly.

Key Concepts & Architecture


🤝 Contributing

We welcome contributions! Please see CONTRIBUTING.md for development guidelines and setup instructions.

License

This project is licensed under the MIT License. See LICENSE for details.

README copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About docs-server

How do I install docs-server?

Run npx @arabold/docs-mcp-server, then add the server to your MCP client's configuration.

Is docs-server safe to use with an AI agent?

Its trust score is 39 out of 100 (low). It passes 1 of the 2 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is docs-server still maintained?

Conduid hasn't recorded a commit date for this repository yet. Check the repository directly for recent activity.