Labsco
anton-prosterity logo

Enhanced Documentation Search

β˜… 8

from anton-prosterity

Provides real-time access to documentation, library popularity data, and career insights using the Serper API.

πŸ”₯πŸ”₯πŸ”₯βœ“ VerifiedAccount requiredNeeds API keys

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

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.