Labsco
MCP SERVER

Docs MCP

by herring101

Point it at a folder of documentation and get grep, semantic search and paginated reading over it — plus importers that pull docs in from GitHub or a website.

Framework & SDK Documentation Lookup
Summary
Pagination is the feature that keeps it usable.

Documentation servers usually fail on a single enormous reference page: it either blows the context or gets truncated mid-sentence. Handling that with explicit pagination — and telling the caller which page it is on and how many there are — is what lets an assistant work through a long file deliberately. The folder and extension settings double as an access boundary worth setting deliberately.

What it is

A documentation server for a folder you control. It reads whatever sits under a `docs/` directory in the project you name and exposes it three ways: a listing, a regex search, and a paginated reader that keeps a large file from arriving all at once. Command-line importers can fill that folder from a GitHub repository or by crawling a documentation site.

What you get
  • `list_docs` — every document with its description
  • `grep_docs` — fast full-text search using regular expressions
  • `get_doc` — a document's contents, with a `page` parameter; files above the large-file threshold are paginated automatically and the response tells you which page you are on and how to reach the next one
  • `semantic_search` — meaning-based search using OpenAI embeddings, available once metadata has been generated
  • Importers run outside the server: `docs-mcp-import-github` pulls a repository or one path within it and detects the default branch, `docs-mcp-import-url` crawls a site with depth and include/exclude URL patterns, and `docs-mcp-generate-metadata` builds the index semantic search needs
  • Broad file coverage — Markdown, plain text, reStructuredText and AsciiDoc through to configuration files and source code in most common languages
Requirements

Nothing for the search tools. Semantic search alone needs an `OPENAI_API_KEY`, and only after `docs-mcp-generate-metadata` has run. `uv` is required, and Python 3.12 or higher is managed by it; the package is `docs-mcp` (0.1.2 in pyproject) and the documented client entry runs `uvx docs-mcp` with `DOCS_BASE_DIR` set to the project root. `DOCS_FOLDERS` and `DOCS_FILE_EXTENSIONS` narrow what is readable, `DOCS_MAX_CHARS_PER_PAGE` defaults to 10000 and `DOCS_LARGE_FILE_THRESHOLD` to 15000.

Setup effort

One command — uvx docs-mcp