Databricks Documentation MCP Server
by yang0733
README.md
# Databricks Documentation MCP Server š
> **Make Databricks documentation instantly accessible to AI assistants through the Model Context Protocol (MCP)**
[](https://opensource.org/licenses/MIT)
[](https://www.python.org/downloads/)
[](https://github.com/jlowin/fastmcp)
> **ā ļø DISCLAIMER**: This is **NOT** an official Databricks product and is **NOT** supported by Databricks. This is a community project that crawls and indexes publicly available Databricks documentation to provide MCP integration. Use at your own risk. For official Databricks support, please contact Databricks directly.
This MCP server provides AI assistants like Claude, GPT-4, and others with semantic search access to the complete Databricks AWS documentation (~3,200 pages). It crawls, caches, indexes, and serves documentation through both MCP tools and resources.
## ⨠Features
- š **Semantic Search**: Find relevant documentation using natural language queries
- š¦ **Complete Coverage**: Access to 3,181+ pages of Databricks AWS documentation
- ā” **Fast Async Crawler**: 5-10x faster than traditional crawlers (crawls full docs in ~5-7 minutes)
- šļø **Local Caching**: Crawled pages stored locally for offline access and fast queries
- š§ **Vector Search**: Powered by ChromaDB and sentence-transformers embeddings
- š **Auto-Refresh**: Optional daily documentation refresh
- š ļø **10 MCP Tools**: Search, recommend, explore documentation programmatically
- š **MCP Resources**: Browse documentation directly
- šÆ **AI IDE Compatible**: Works with Cursor, Claude Code, and other MCP clients
## š Quick Start
### Prerequisites
- Python 3.11 or higher
- [uv](https://github.com/astral-sh/uv) (recommended) or pip
### Installation
```bash
# Clone the repository
git clone https://github.com/YOUR-USERNAME/databricks-docs-mcp.git
cd databricks-docs-mcp
# Quick start script (installs dependencies, crawls docs, starts server)
chmod +x start_server.sh
./start_server.sh
```
**ā±ļø Initial Setup Time Expectations:**
- **First-time crawl**: ~5-7 minutes (3,181 pages with fast async crawler)
- **Embedding generation**: ~10-15 minutes (creating vector embeddings for all pages)
- **Total first run**: ~15-22 minutes
- **Subsequent starts**: ~5-10 seconds (uses cached data)
The server will automatically crawl and index documentation on first run. Grab a coffee! ā
### Manual Installation
```bash
# Install uv (if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh
# Install dependencies and create virtual environment
uv sync --group dev
# Crawl documentation (fast mode) - Takes ~5-7 minutes
uv run python -m databricks_docs_mcp crawl --fast
# Start MCP server (first start: ~10-15 min for indexing, subsequent: ~5-10 sec)
uv run python -m databricks_docs_mcp.server --no-scheduler
```
> **š” Tip**: The `--fast` flag uses the async crawler for 5-10x faster crawling. The server automatically creates embeddings on first startup.
## š Usage
### Available MCP Tools
The server exposes 10 MCP tools for AI assistants:
1. **`search_docs`** - Search documentation with semantic search
2. **`get_page`** - Retrieve a specific documentation page
3. **`list_categories`** - List all documentation categories
4. **`search_by_category`** - Search within a specific category
5. **`get_page_sections`** - Get page table of contents
6. **`recommend_related`** - Find related documentation pages
7. **`suggest_docs`** - Get suggestions based on context
8. **`get_quickstart`** - Find quickstart guides for topics
9. **`explore_category`** - Browse all pages in a category
10. **`get_popular_topics`** - Get most popular documentation topics
### Example Queries in AI IDEs
```
"Search Databricks docs for Lakeflow Connect with Salesforce"
"How do I use MLflow to track experiments?"
"Show me Unity Catalog best practices"
"What are Delta Lake optimization techniques?"
```
### CLI Commands
```bash
# Crawl documentation
python -m databricks_docs_mcp crawl --fast --max-pages 1000
# Check statistics
python -m databricks_docs_mcp stats
# Reindex existing data
python -m databricks_docs_mcp index
# Refresh documentation
python -m databricks_docs_mcp refresh
# Start server
python -m databricks_docs_mcp server --no-scheduler
```
## š§ Configuration
### Configure in AI IDEs
#### Cursor
Add to `~/.cursor/mcp.json`:
```json
{
"mcpServers": {
"databricks-docs": {
"url": "http://localhost:8100/mcp"
}
}
}
```
#### Claude Desktop
Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
```json
{
"mcpServers": {
"databricks-docs": {
"command": "python",
"args": ["-m", "databricks_docs_mcp", "server", "--no-scheduler"],
"cwd": "/path/to/databricks_docs_mcp",
"env": {
"PYTHONPATH": "/path/to/parent/directory"
}
}
}
}
```
## šļø Architecture
```
databricks_docs_mcp/
āāā crawler/ # Web scraping and parsing
ā āāā scraper.py # Original sequential crawler
ā āāā async_scraper.py # Fast async crawler (5-10x faster)
ā āāā parser.py # HTML to Markdown conversion
ā āāā scheduler.py # Daily auto-refresh scheduler
āāā embeddings/ # Vector search components
ā āāā embedder.py # Sentence-transformer embeddings
ā āāā vector_db.py # ChromaDB wrapper
ā āāā search.py # Semantic search engine
āāā resources/ # MCP resources
ā āāā docs_resources.py
āāā storage/ # Data models and caching
ā āāā models.py # Pydantic data models
ā āāā cache.py # Local cache management
ā āāā data/ # Cached documentation
āāā tools/ # MCP tools
ā āāā search.py # Search tools
ā āāā recommend.py # Recommendation tools
āāā tests/ # Unit tests
āāā server.py # FastMCP server
āāā __main__.py # CLI entry point
```
## š Performance
- **Crawl Speed**: ~5-7 minutes for 3,181 pages (async mode)
- **Indexing Speed**: ~5-6 minutes for full documentation
- **Search Latency**: <100ms for semantic queries
- **Storage**: ~50MB for cached pages, ~200MB for embeddings
## š ļø Development
### Running Tests
```bash
pytest tests/
```
### Code Style
```bash
# Format code
black .
# Lint
flake8 .
# Type check
mypy .
```
## š Documentation
- [Quick Start Guide](QUICKSTART.md)
- [Usage Examples](USAGE_EXAMPLES.md)
- [Fast Crawl Guide](FAST_CRAWL_GUIDE.md)
- [Project Status](PROJECT_STATUS.md)
- [Contributing](CONTRIBUTING.md)
## š¤ Contributing
Contributions are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
## š License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## š Acknowledgments
- Built with [FastMCP](https://github.com/jlowin/fastmcp)
- Powered by [sentence-transformers](https://www.sbert.net/)
- Vector search via [ChromaDB](https://www.trychroma.com/)
- Documentation from [Databricks](https://docs.databricks.com/)
## š¬ Support
- Open an [issue](https://github.com/YOUR-USERNAME/databricks-docs-mcp/issues)
- Check [existing discussions](https://github.com/YOUR-USERNAME/databricks-docs-mcp/discussions)
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues