Documentation Scraper logo

Documentation Scraper

CommunityPopular
arabold

Grounded Docs MCP Server: Open-Source Alternative to Context7, Nia, and Ref.Tools

Publisherarabold
Repositorydocs-mcp-server
LanguageTypeScript
Forks
153
Stars
1.3K
Available tools
0
Transport typestdio
Categories
LicenseMIT
Links
  • Connect tools to AI workflows

    Documentation Scraper exposes MCP capabilities that can be used by compatible AI clients and agents.

  • 0 available tools

    Browse the callable actions below, including names and descriptions when provided by the server.

  • Ready-to-copy setup

    Use the installation snippets to configure this server in your preferred MCP client.

  • Open source signals

    1.3K stars and 153 forks from the linked repository.

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

CategoryFormats
DocumentsPDF, Word (.docx/.doc), Excel (.xlsx/.xls), PowerPoint (.pptx/.ppt), OpenDocument (.odt/.ods/.odp), RTF, EPUB, FictionBook, Jupyter Notebooks
ArchivesZIP, TAR, gzipped TAR (contents are extracted and processed individually)
WebHTML, XHTML
MarkupMarkdown, MDX, reStructuredText, AsciiDoc, Org Mode, Textile, R Markdown
Source CodeTypeScript, JavaScript, Python, Go, Rust, C/C++, Java, Kotlin, Ruby, PHP, Swift, C#, and many more
DataJSON, YAML, TOML, CSV, XML, SQL, GraphQL, Protocol Buffers
ConfigDockerfile, 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+):

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

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

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

2. Query the index:

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

3. Fetch a single page as Markdown:

bash
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:

bash
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):

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.

bash
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

bash
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.

Installation

TypingMind
Prerequisites:

Node.js 18+

{
  "mcpServers": {
    "docs-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@arabold/docs-mcp-server@latest"
      ]
    }
  }
}

Use Documentation Scraper MCP with multiple AI models

TypingMind connects MCP tools at the workspace level, so once Documentation Scraper is connected, you can use it with different AI models in TypingMind instead of setting it up separately for each model. This MCP runs locally through the TypingMind MCP connector on your device.

Setup guide to use the local connector

Use this when the MCP server needs access to local files, apps, or private resources on your computer.

1

Open the MCP settings

In TypingMind, go to Settings, Advanced Settings, then Model Context Protocol and choose Setup Connector.

  1. Open TypingMind in your browser.
  2. Click the Settings icon.
  3. Go to Advanced Settings.
  4. Open the Model Context Protocol section.
  5. Click Setup Connector and choose This Device.
TypingMind MCP connector setup screen with This Device selected
2

Run the connector command

Choose This Device, copy the command from TypingMind, and run it in Terminal. Keep the process running while you use MCP.

  1. Copy the setup command shown by TypingMind.
  2. Open Terminal on macOS or Windows Terminal on Windows.
  3. Paste and run the command.
  4. Approve the package install if Terminal asks you to proceed.
  5. Keep the Terminal window running while using MCP tools.
3

Add Documentation Scraper as a server

When the connector status is Ready, click Edit Servers and paste the MCP server configuration.

  1. Wait until the connector status shows Ready.
  2. Click Edit Servers.
  3. Paste the Documentation Scraper MCP server configuration.
  4. Save the server list.
  5. Refresh if you want to confirm the connector is still ready.
TypingMind MCP settings showing active server and Edit Servers button
{
  "mcpServers": {
    "documentation-scraper": {
      "command": "npx",
      "args": [
        "-y",
        "@arabold/docs-mcp-server"
      ]
    }
  }
}
4

Use it across models

Save the server list, open Plugins, enable the Documentation Scraper MCP tools, then select any supported AI model in TypingMind and use the tools in chat or assign them to an AI agent.

  1. Open the Plugins page in TypingMind.
  2. Enable the Documentation Scraper MCP tools.
  3. Start a chat and choose the AI model you want to use.
  4. Use the MCP tools in chat or assign them to an AI agent.
  5. Switch to another AI model whenever needed without reconnecting MCP.
TypingMind chat using enabled MCP tools with a selected AI model
Can you use Documentation Scraper to help me with this task?
Documentation Scraper
Sure. I read it.
Here is what I found using Documentation Scraper.

Frequently asked questions

What is the Documentation Scraper MCP server used for?

Documentation Scraper is an MCP server that lets compatible AI clients connect to external tools and context. In TypingMind, you can add this MCP server once and make its tools available in your AI workspace.

Can I use Documentation Scraper MCP with multiple AI models in TypingMind?

Yes. TypingMind connects MCP tools at the workspace level, so you can use Documentation Scraper with different AI models such as Claude, ChatGPT, Gemini, or other models you have configured in TypingMind without setting up the MCP server separately for each model.

Why use Documentation Scraper MCP with TypingMind?

TypingMind is one of the best frontends for LLM chat because it brings multiple AI models, prompts, plugins, AI agents, API keys, and MCP tools into one workspace. With Documentation Scraper connected, you can use its MCP tools across your preferred models while keeping your chat workflow organized in TypingMind.

How do I connect Documentation Scraper MCP to TypingMind?

Documentation Scraper runs through the TypingMind local MCP connector. This is best when the MCP server needs access to local files, desktop apps, command-line tools, or private resources on your computer.

What tools does Documentation Scraper MCP provide in TypingMind?

Documentation Scraper exposes MCP capabilities that can be enabled from the TypingMind Plugins page and used in chat or assigned to AI agents.

Do I need to share my API keys with TypingMind to use Documentation Scraper MCP?

No. TypingMind is local-first and lets you keep your model providers, API keys, prompts, and MCP configuration under your control. If Documentation Scraper requires authentication, add the required headers, OAuth settings, or local configuration for that MCP server when you create the connection.

Related MCP Servers

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇