PlugWiki
Docs MCP Server (Grounded Docs) logo

Docs MCP Server by arabold: Setup for Claude, Cursor and Other Apps

CommunityLocal
Getnpm@arabold/docs-mcp-serverarabold/docs-mcp-server

Lets Claude, Cursor and other assistants search documentation you index, so they use the right library version instead of guessing.

Docs MCP Server indexes websites, GitHub repos, npm and PyPI packages and local folders into a local database, then lets your assistant search them by library and version. It runs on your machine, and search works without any account or API key. An embedding model is optional and adds search by meaning. Start it read-only if you only want your assistant to search docs you have already indexed.

Good for

  • Developers whose assistant keeps using outdated library APIs
  • Teams with private or internal docs that an assistant should read
  • People who want docs search to stay on their own machine

Works in

12 should work

Tap an app to see how to set it up and any known problems.

Install Docs MCP Server (Grounded Docs)

Claude Code

  1. 1

    Copy this prompt.

    Add the Docs MCP Server (Grounded Docs) server to Claude Code. Run this command:
    
    claude mcp add docs-grounded-docs -- npx -y @arabold/docs-mcp-server
    
    Then check that it loaded and tell me if I need to sign in or restart.
  2. 2

    Paste it into Claude Code. It shows the change and asks before running it.

Requires Node.js.

Built from the package data we hold. Not yet tested by us.

Tools

  • Searches documentation you have indexed

    Looks up passages in one indexed library and version, using keyword search and, if you set up an embedding model, search by meaning. Returns up to 5 matches by default.

    Try: “Search the react docs for useEffect cleanup.”

    Read · search_docs

  • Reads a whole indexed page

    Returns the full text of one indexed page, in parts of up to 30,000 characters for long pages.

    Try: “Read the useEffect page from the react docs.”

    Read · read_page

  • Lists the pages in an indexed library version

    Returns the indexed page paths, with an optional text filter and paging.

    Try: “List the pages in the react 18 docs that mention hooks.”

    Read · list_pages

  • Lists the libraries you have indexed

    Shows which libraries are in your local documentation index.

    Try: “Which libraries have you indexed?”

    Read · list_libraries

  • Finds the best matching indexed version

    Resolves a version or range such as 18.x to the closest version you have indexed.

    Try: “Which react version do you have for 18.x?”

    Read · find_version

  • Fetches one web address as Markdown without indexing it

    Downloads a single page and returns it as Markdown, following redirects by default.

    Try: “Fetch https://react.dev/reference/react/useEffect as Markdown.”

    Network · fetch_url

  • Indexes a documentation site, repo, package or folder

    Starts a background job that crawls a URL, GitHub repo, package or local folder and stores it in your local index, up to 1000 pages and 3 levels deep by default. A job ID comes back to follow progress.

    Try: “Index the react docs from https://react.dev/reference/react.”

    Write · scrape_docs

  • Updates an indexed version, skipping unchanged pages

    Re-crawls an existing version and updates only the pages that changed.

    Try: “Refresh the react 18 docs.”

    Write · refresh_version

  • Lists indexing jobs

    Shows queued, running and finished indexing jobs, filtered by status if you like.

    Try: “Show running indexing jobs.”

    Read · list_jobs

  • Shows one indexing job

    Returns the status and progress of one job by its ID.

    Try: “How is job 3 going?”

    Read · get_job_info

  • Cancels an indexing job

    Stops a queued or running job.

    Try: “Cancel the running react indexing job.”

    Write · cancel_job

  • Removes an indexed library version

    Deletes a library version from your local index, so it can no longer be searched.

    Try: “Remove the react 17 docs from the index.”

    Delete · remove_docs

From the official docs

Permissions

medium risk · 4 things to watch

Medium risk

The assistant can crawl sites and folders into a local index and delete indexed docs. Use read-only mode if you only want it to search.

What it can do

Watch out for

  • It can index local folders and remove indexed docs

    The scrape tool takes local folders and archives as well as web pages, and the remove tool deletes an indexed version. Start it read-only if you only want to search. github.com

  • Usage data goes to PostHog by default

    Telemetry is on in release builds. It sends tool names and some arguments such as library names, not full URLs or query text. Turn it off with the no-telemetry flag or DOCS_MCP_TELEMETRY=false. github.com

  • Document text goes to your embedding provider

    If you turn on vector search, indexed text is sent to the provider you choose. A local one such as Ollama keeps it on your machine. github.com

  • The web UI port is open on your machine

    Running the server in a terminal serves a web UI and the MCP endpoint on port 6280. The embedded stdio setup has no web UI. github.com

Security advisories

No published security advisories as of Nov 1, 2026.

Technical details
Turning on read-onlyStart the server with --read-only or set DOCS_MCP_READ_ONLY=true. It then registers only the six search and read tools and leaves out indexing and removal.
Talks toSites and repos you ask it to index. Your embedding provider, if you set one. PostHog, for usage telemetry unless disabled
Sign-in and keysNo account. An optional embedding provider key such as OPENAI_API_KEY.

Questions

Is Docs MCP Server official?

No. It is a community project by arabold, with no connection to the sites or libraries you index.

Does it need an API key?

No. Keyword search works with no key. An embedding provider key, such as OPENAI_API_KEY, is optional and turns on search by meaning.

Can I run it read-only?

Yes. Start it with --read-only or set DOCS_MCP_READ_ONLY=true. Only the six search and read tools are then registered.

Does it run on my computer?

Yes. The index is a local SQLite database. Document text leaves only for the embedding provider you configure.

Does it collect usage data?

Yes by default, through PostHog. It sends tool names and some arguments, not query text or full URLs, and you can turn it off with --no-telemetry or DOCS_MCP_TELEMETRY=false.

What is the local server URL?

http://localhost:6280/mcp when you run the server yourself in a terminal or Docker. The install box uses the stdio setup, where the app starts it for you.

Can it index private docs?

Yes. It reads local folders and archives as well as websites and repos. Keep its index folder private.

How do I add it to Claude Code?

Use the Claude Code tab in the install box above.

Information

updated Nov 2, 2026

Publisher
Community
Package
@arabold/docs-mcp-server
Registry
npm
Transport
stdio, Streamable HTTP
Auth
None
Version
3.4.1
License
MIT
Last commit
Oct 25, 2026
Open issues
52

WebsiteGitHubChangelogIssues

Sources

Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.

Show all 4
  1. github.com · github.com
  2. github.com · github.com
  3. github.com · github.com
  4. github.com · github.com

Facts from the official MCP registry, GitHub, npm, PyPI and the Docker catalog. Updated Nov 2, 2026.