Maintained by Lab10 — helping companies drive AI adoption and increase their value.
Docs MCP Server solves the problem of AI hallucinations and outdated knowledge by providing an 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.
This project is a fork of arabold/docs-mcp-server by Andre Rabold, licensed under MIT. Lab10 extends it with additional features tailored to enterprise deployment needs.
- 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.
- Multiple Sources: Index websites, GitHub repositories, local folders, and zip archives.
- Rich File Support: Processes HTML, Markdown, PDF, Word (.docx), Excel, PowerPoint, and source code.
- Broad Compatibility: Works with any MCP-compatible client (Claude, Cline, Cursor, etc.).
- Production-Ready: Distributed deployment with auth, Railway config-as-code, and Docker Compose.
The recommended way to run a production instance with two services: a private worker (processes documentation) and a public MCP + API server (serves clients with JWT auth).
cp .env.production.example .env
# Edit .env with your real values (storage, auth, embeddings)
docker compose -f docker-compose.production.yml up -dSee .env.production.example for the full list of environment variables.
Config-as-code files are provided in the railway/ directory:
| Service | Config | Networking |
|---|---|---|
| Worker | railway/worker.toml |
Private (internal only) |
| MCP + API | railway/mcp.toml |
Public (enable domain) |
Setup:
- Create a new Railway project linked to this repo.
- Add two services, each pointing to its respective TOML config file.
- Set environment variables per service (see
.env.production.examplefor the Railway section). - The MCP service connects to the worker via Railway reference variables:
WORKER_URL=http://${{worker.RAILWAY_PRIVATE_DOMAIN}}:${{worker.PORT}}/api - Volumes (dashboard only — not supported in TOML config): attach a volume to the worker service with mount path
/datafor persistent storage. Optionally mount/configfor configuration persistence.
For local development or single-machine deployments:
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 6280Add this to your MCP client 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.
Using an embedding model is optional but dramatically improves search quality by enabling semantic vector search.
OPENAI_API_KEY="sk-proj-..." docker compose -f docker-compose.production.yml up -dSee Embedding Models for configuring Ollama, Gemini, Azure, and others.
By default, data is stored locally using SQLite. For team or cloud deployments, use Supabase (PostgreSQL):
DOCS_MCP_STORAGE_PROVIDER=supabase
DATABASE_URL="postgresql://user:pass@host:5432/db"
SUPABASE_SCHEMA=docs_prod # optional, isolate tables into a custom schemaSee Configuration for the full reference.
Production deployments use OAuth2/OIDC JWT authentication to protect all public endpoints:
DOCS_MCP_AUTH_ENABLED=true
DOCS_MCP_AUTH_ISSUER_URL=https://your-auth-provider/.well-known/openid-configuration
DOCS_MCP_AUTH_AUDIENCE=urn:docs-mcp-serverSee Authentication for details.
- Installation: Setup guides for Docker and embedded mode.
- Connecting Clients: 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.
- Embedding Models: Configure OpenAI, Ollama, Gemini, and other providers.
- Deployment Modes: Standalone vs. Distributed (Docker Compose).
- Authentication: Securing your server with OAuth2/OIDC.
- Architecture: Deep dive into the system design.
We welcome contributions! Please see CONTRIBUTING.md for development guidelines and setup instructions.
This project is based on docs-mcp-server originally created by Andre Rabold. We are grateful for his work in building the foundation of this tool.
This project is licensed under the MIT License. See LICENSE for details.
