Grounded Docs

MCP server by arabold

Scrape any library's documentation into a local index and search it by version from your AI assistant.

Runs locally (Runs on your machine: its page has the install command)Runs with npx

Install Grounded Docs

Runs on your machine. Your client starts it with this command:

npx @arabold/docs-mcp-server@latest

Needs Node.js on your computer. The setup steps below show where the command goes in each client.

Share this server

Opens this page, with the install command and setup steps.

mcp.tc/i/grounded-docs

About

Grounded Docs builds a local documentation index for your AI coding assistant. It fetches docs from websites, GitHub, npm, PyPI, local folders and zip archives, then lets the assistant search the version of a library you actually use. It handles HTML, Markdown, PDF, Office files, Jupyter Notebooks and many source code languages.

It runs on your machine through npx (Node.js 22+) or Docker, with a web UI on port 6280 for adding documentation and an SSE endpoint for MCP clients. No sign-in is needed. An embeddings provider key such as OPENAI_API_KEY is optional and enables semantic search; Ollama, Gemini and Azure are also supported.

What you can do

  • Scrape documentation from websites, GitHub, npm, PyPI and local files
  • Search indexed docs for a specific library version
  • Fetch a single page as Markdown
  • Index PDF, Office, Markdown, notebooks and source code
  • Manage the index through a web UI or CLI
  • Optional semantic search with an embeddings provider

Tools

Local servers list their tools once they’re running, and this one doesn’t publish its list in advance. Your client shows them after you add it.

Example prompts

  • Scrape the React docs and then explain useEffect cleanup using them.

  • Search my indexed docs for how to configure routing in version 6.

  • Index the documentation in my local docs folder so you can answer questions about it.

  • Fetch this documentation page as Markdown and summarize it.

Set up

Every client starts Grounded Docs on your machine with the same command. Pick yours; the page remembers your choice.

Claude Code

  1. Run this in a terminal, in your project folder:
claude mcp add --transport stdio grounded-docs -- npx @arabold/docs-mcp-server@latest
  1. Start Claude Code and type /mcp. grounded-docs should show as connected.

Add --scope user to make it available in every project.

Claude Desktop

  1. Open Settings → Developer → Edit Config. It opens claude_desktop_config.json. Add:
claude_desktop_config.json
{
  "mcpServers": {
    "grounded-docs": {
      "command": "npx",
      "args": [
        "@arabold/docs-mcp-server@latest"
      ]
    }
  }
}
  1. Save the file and restart Claude Desktop.

Needs Node.js on your computer. The file lives in ~/Library/Application Support/Claude/ on macOS and %APPDATA%\Claude\ on Windows.

Cursor

Or add it by hand to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (this project):

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

Needs Node.js on your computer.

VS Code

Or from a terminal:

code --add-mcp '{"name":"grounded-docs","type":"stdio","command":"npx","args":["@arabold/docs-mcp-server@latest"]}'

Or commit it to the repo in .vscode/mcp.json:

.vscode/mcp.json
{
  "servers": {
    "grounded-docs": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "@arabold/docs-mcp-server@latest"
      ]
    }
  }
}

Needs Node.js on your computer.

Devin Desktop

  1. Add it to ~/.config/devin/mcp_config.json (macOS and Linux) or %APPDATA%\devin\mcp_config.json (Windows):
mcp_config.json
{
  "mcpServers": {
    "grounded-docs": {
      "command": "npx",
      "args": [
        "@arabold/docs-mcp-server@latest"
      ]
    }
  }
}
  1. Refresh the MCP server list in Cascade.

Devin Desktop is the new name for Windsurf.

Codex

codex mcp add grounded-docs -- npx @arabold/docs-mcp-server@latest

Or edit ~/.codex/config.toml directly:

config.toml
[mcp_servers.grounded-docs]
command = "npx"
args = ["@arabold/docs-mcp-server@latest"]

Needs Node.js on your computer.

Gemini CLI

gemini mcp add grounded-docs npx @arabold/docs-mcp-server@latest

This adds it to the current project. Add -s user to use it everywhere.

Any client

Most clients that start local servers accept this shape:

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

Zed puts servers under context_servers in its settings, with the same command, args and env fields.

Needs Node.js on your computer.

FAQ

Can I paste mcp.tc/i/grounded-docs into my MCP client?

No. Grounded Docs runs on your own computer, started by your client, so it has no web address to connect to. The quick link is the page to share; the install command is npx @arabold/docs-mcp-server@latest.

Does Grounded Docs need an API key?

No. It doesn’t declare any keys or environment variables. It runs with your user account’s permissions, so check what its tools can reach.

Is Grounded Docs a remote or a local server?

Local. Your client starts it as a process on your computer with npx @arabold/docs-mcp-server@latest, which needs Node.js.

What can Grounded Docs do?

You can scrape documentation from websites, GitHub, npm, PyPI and local files, search indexed docs for a specific library version and fetch a single page as Markdown.

Which clients can use it?

Any client that starts local servers: Claude Code, Claude Desktop, Cursor, VS Code, Devin Desktop, Codex, Gemini CLI, Zed and others. claude.ai and ChatGPT only connect to remote servers.

Who wrote this page?

mcp.tc’s robot read Grounded Docs’s public metadata (its package and repository pages), and an AI model drafted the text from it. A person reviews anything the checks can’t confirm. The text can still be wrong, so if you spot a mistake, use Report this listing on this page.

Embed

Show Grounded Docs in a README or on your site. Each embed links to this page, uses the server’s own install command, and sets no cookies. How embeds work

README badge

Badge preview, lightBadge preview, dark
Markdown
[![Grounded Docs on mcp.tc](https://mcp.tc/i/grounded-docs/badge.svg)](https://mcp.tc/i/grounded-docs)
HTML
<a href="https://mcp.tc/i/grounded-docs"><img src="https://mcp.tc/i/grounded-docs/badge.svg" alt="Grounded Docs on mcp.tc" height="20"></a>

It follows the reader’s light or dark mode. Add ?theme=light or ?theme=dark to fix it, or ?style=compact to show the mark without the word.

Website card

HTML
<script src="https://mcp.tc/w/grounded-docs.js" async></script>

The card appears where the tag is. Add data-theme="dark" or data-size="compact" to the tag to change it. The file holds everything it needs, so it makes no other requests and sets no cookies.

iframe

HTML
<iframe src="https://mcp.tc/embed/grounded-docs" title="Grounded Docs on mcp.tc" width="420" height="200" loading="lazy" allow="clipboard-write" style="border:0;border-radius:8px;max-width:100%"></iframe>

Use it on pages that don’t allow scripts. Add ?theme=light or ?theme=dark to the address to fix the colors.

JSON

The listing as data for your own pages and tools: name, tagline, install command, tools and the “Add to” links. Any site can read it (CORS is open).

https://mcp.tc/i/grounded-docs.json

What each field means

mcp.tc isn’t affiliated with arabold. This page was built from Grounded Docs’s public metadata, last checked on 3 Oct 2026, and an AI model wrote the description, so it can be wrong. Names and marks belong to their owners. Something off? Report this listing.