Skip to main content

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.

Metadata

Release files for iflow-mcp_anton-prosterity-documentation-search-enhanced 1.9.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for iflow-mcp_anton-prosterity-documentation-search-enhanced 1.9.0
File Size Uploaded
iflow_mcp_anton_prosterity_documentation_search_enhanced-1.9.0.tar.gz 79.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for iflow-mcp_anton-prosterity-documentation-search-enhanced 1.9.0
File Interpreter ABI Platform
iflow_mcp_anton_prosterity_documentation_search_enhanced-1.9.0-py3-none-any.whl Python 3 none any Details

Total release size: 165.1 kB

Release files / iflow_mcp_anton_prosterity_documentation_search_enhanced-1.9.0.tar.gz

Download URL iflow_mcp_anton_prosterity_documentation_search_enhanced-1.9.0.tar.gz
Size 79.0 kB
Tags Source
SHA-256 checksum
How to use checksums
52a15264df291f5bc23093086bb004df92e7dac621303b26673fd4200af6d7a6
BLAKE2b-256 checksum
How to use checksums
1ebfc0bdf937c3ed4cd27a9bf0eec0bfb2a66d92b88fa951a2d0c3f66fb8356f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / iflow_mcp_anton_prosterity_documentation_search_enhanced-1.9.0-py3-none-any.whl

Download URL iflow_mcp_anton_prosterity_documentation_search_enhanced-1.9.0-py3-none-any.whl
Size 86.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a29f5429b86813b435fd24713dbcd5060049eccfa5c5de0098668a5da76a305f
BLAKE2b-256 checksum
How to use checksums
eb52454f2564abc6b1561caebc28800814cfc2f80e13cda0be758dd16989e39f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

1.9.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page