Documentation Search MCP Server
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 tofalseto disable automatic index downloadsDOCS_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 documentationget_docs- Fetch specific documentationget_learning_path- Generate learning roadmapget_code_examples- Find code snippetsscan_project_dependencies- Vulnerability scansnyk_scan_project- Detailed Snyk analysisgenerate_project_starter- Create project boilerplatemanage_dev_environment- Generate docker-compose filescompare_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)
| File | Size | Uploaded | |
|---|---|---|---|
| iflow_mcp_anton_prosterity_documentation_search_enhanced-1.9.0.tar.gz | 79.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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}
|