MCP Hub
Back to servers

documentation-search-mcp

A comprehensive MCP server for searching 190+ documentation sources, performing dependency security scans, and generating project boilerplates for FastAPI and React.

Stars
7
Forks
1
Tools
10
Updated
Jan 3, 2026
Validated
Jan 9, 2026

Documentation Search MCP Server

CI Security Scan PyPI version Python 3.12+ License: MIT

MCP server for searching documentation, scanning dependencies for vulnerabilities, and generating project boilerplate. Works with Claude Desktop, Cursor, and other MCP clients.

📚 Read the comprehensive tutorial for detailed examples and workflows.

Features

  • Search 190+ curated documentation sources with optional semantic vector search
  • Scan Python projects for vulnerabilities (Snyk, Safety, OSV)
  • Generate FastAPI and React project starters
  • Learning paths and code examples

Installation

# Recommended: use uvx (install uv from https://docs.astral.sh/uv)
uvx documentation-search-enhanced@1.9.0

# Or with pip in a virtual environment
pip install documentation-search-enhanced==1.9.0

# Optional: AI semantic search (Python 3.12 only, adds ~600MB)
pip install documentation-search-enhanced[vector]==1.9.0

Configuration

Claude Desktop

Find your uvx path: which uvx

Edit ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "documentation-search-enhanced": {
      "command": "/Users/yourusername/.local/bin/uvx",
      "args": ["documentation-search-enhanced@1.9.0"],
      "env": {
        "SERPER_API_KEY": "optional_key_here"
      }
    }
  }
}

Replace /Users/yourusername/.local/bin/uvx with your actual uvx path.

Codex CLI

# Find your uvx path first
which uvx

# Then add with full path (replace with your actual path)
codex mcp add documentation-search-enhanced \
  -- /Users/yourusername/.local/bin/uvx documentation-search-enhanced@1.9.0

# Or if uvx is in PATH:
codex mcp add documentation-search-enhanced \
  -- uvx documentation-search-enhanced@1.9.0

With SERPER API Key (enables live web search):

codex mcp add documentation-search-enhanced \
  --env SERPER_API_KEY=your_key_here \
  -- /Users/yourusername/.local/bin/uvx documentation-search-enhanced@1.9.0

Without SERPER API Key (uses prebuilt index from GitHub Releases):

codex mcp add documentation-search-enhanced \
  -- /Users/yourusername/.local/bin/uvx documentation-search-enhanced@1.9.0

If you get a timeout on first run, pre-download dependencies:

uvx documentation-search-enhanced@1.9.0

Environment Variables

  • SERPER_API_KEY - Optional. Enables live web search. Without it, uses prebuilt index from GitHub Releases.
  • DOCS_SITE_INDEX_AUTO_DOWNLOAD - Set to false to disable automatic index downloads
  • DOCS_SITE_INDEX_PATH - Custom path for documentation index

Set server_config.features.real_time_search=false in your config to disable live crawling.

Semantic Search (Optional)

The [vector] extra adds semantic search using sentence-transformers (all-MiniLM-L6-v2) with hybrid reranking:

  • 50% semantic similarity (cosine)
  • 30% keyword matching
  • 20% source authority

Only works on Python 3.12 (PyTorch limitation). Python 3.13 users get keyword-based search.

To disable vector search even when installed:

semantic_search(query="FastAPI auth", libraries=["fastapi"], use_vector_rerank=False)

Available Tools

Core MCP tools:

  • semantic_search - Search documentation
  • get_docs - Fetch specific documentation
  • get_learning_path - Generate learning roadmap
  • get_code_examples - Find code snippets
  • scan_project_dependencies - Vulnerability scan
  • snyk_scan_project - Detailed Snyk analysis
  • generate_project_starter - Create project boilerplate
  • manage_dev_environment - Generate docker-compose files
  • compare_library_security - Compare library vulnerabilities

Development

git clone https://github.com/anton-prosterity/documentation-search-mcp.git
cd documentation-search-mcp
uv sync --all-extras
uv run python -m documentation_search_enhanced.main

Testing

uv run pytest --ignore=pytest-test-project  # Core tests
uv run ruff check src                       # Linting
uv run ruff format src --check              # Format check

Configuration

Use the get_current_config tool to export current settings to config.json. Validate with:

uv run python src/documentation_search_enhanced/config_validator.py

Contributing

See CONTRIBUTING.md for guidelines. Use Conventional Commits for commit messages.

License

MIT License - see LICENSE for details.

Reviews

No reviews yet

Sign in to write a review