Lightweight Databricks Documentation MCP Server
Project description
Databricks Documentation MCP Server
A lightweight, stateless Model Context Protocol (MCP) server that lets AI assistants read and search docs.databricks.com in real time — no local cache, no database, no crawling required.
Features
- Live fetch — always returns current documentation content, never stale
- Full-text search — real-time, site-scoped search via DuckDuckGo
site:operator - Docusaurus-aware extraction — strips navigation, sidebars, and page chrome; returns clean markdown
- Section extraction — pull specific h2 sections from long reference pages
- Pagination —
start_indexandmax_lengthparameters for large pages
Prerequisites
- Python 3.10 or later
- uv (recommended) or pip
Installation
# run directly without installing (recommended)
uvx databricks-docs-mcp
# or install permanently
pip install databricks-docs-mcp
MCP client configuration (release install)
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or
%APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"databricks-docs": {
"command": "uvx",
"args": ["databricks-docs-mcp"]
}
}
}
VS Code (GitHub Copilot)
Add to .vscode/mcp.json in your workspace:
{
"servers": {
"databricks-docs": {
"type": "stdio",
"command": "uvx",
"args": ["databricks-docs-mcp"]
}
}
}
To pin a specific version, use
"args": ["databricks-docs-mcp==1.2.0"].
From source (development)
git clone https://gitlab.com/rokorolev/databricks-docs-mcp.git
cd databricks-docs-mcp
uv sync --extra dev
MCP client config for a local clone:
{
"servers": {
"databricks-docs": {
"type": "stdio",
"command": "uv",
"args": ["--directory", "/absolute/path/to/databricks-mcp", "run", "databricks-docs-mcp"]
}
}
}
Environment Variables
| Variable | Default | Description |
|---|---|---|
MCP_USER_AGENT |
Mozilla/5.0 (compatible; DatabricksDocsMCP/1.0) |
HTTP User-Agent sent with every request |
FASTMCP_LOG_LEVEL |
WARNING |
Log verbosity: DEBUG, INFO, WARNING, ERROR |
Tools
search_documentation
Search docs.databricks.com using a site-scoped real-time web search.
| Parameter | Type | Default | Description |
|---|---|---|---|
query |
string | — | Keywords or topic to search for |
limit |
integer | 10 |
Maximum results to return (max 30) |
Returns a JSON array of results with URL, title, and snippet.
read_documentation
Fetch a docs.databricks.com page as clean markdown.
| Parameter | Type | Default | Description |
|---|---|---|---|
url |
string | — | Full docs.databricks.com URL |
max_length |
integer | 5000 |
Maximum characters to return per call |
start_index |
integer | 0 |
Character offset for pagination |
Returns markdown-formatted page content with a continuation hint when the page is truncated.
read_sections
Extract specific h2 sections from a docs page by heading title.
| Parameter | Type | Default | Description |
|---|---|---|---|
url |
string | — | Full docs.databricks.com URL |
section_titles |
string[] | — | h2 heading titles to extract (case-insensitive) |
Returns markdown of the matched sections only.
Basic Usage
Recommended workflow
1. Search for a topic:
search_documentation("Delta Live Tables pipeline settings")
2. Read the most relevant result:
read_documentation("https://docs.databricks.com/aws/en/dlt/settings.html")
3. Extract specific sections from large pages:
read_sections(
"https://docs.databricks.com/aws/en/dlt/settings.html",
["Pipeline mode", "Compute settings"]
)
Tips
- Databricks docs URLs follow the pattern
https://docs.databricks.com/<cloud>/en/<topic>/...
Useawsfor AWS,gcpfor GCP,azurefor Azure. - Use
start_indexinread_documentationto page through long articles. - Section titles for
read_sectionsare matched case-insensitively against<h2>headings on the page.
Development
uv sync --extra dev
Lint
uv run ruff check src/ tests/
Run tests
uv run --frozen pytest --cov --cov-branch --cov-report=term-missing
Project structure
src/
databricks_docs_mcp/
server.py # MCP server and tool definitions
utils.py # HTML extraction and formatting utilities
models.py # Pydantic models for search results
tests/
test_server.py
test_utils.py
License
MIT — see LICENSE.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file databricks_docs_mcp-1.0.6.tar.gz.
File metadata
- Download URL: databricks_docs_mcp-1.0.6.tar.gz
- Upload date:
- Size: 125.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","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":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4cc1cb53649a2de88ed4ed59ba8bb45f1b8524f8fade0524d8dd31e90166f8db
|
|
| MD5 |
f4213420aeda7883cefdc9ff3d7fad5f
|
|
| BLAKE2b-256 |
6204191be202d3ce1e3f5bcf39205c50513d8f0c63db08370cd8c0301823a8b5
|
File details
Details for the file databricks_docs_mcp-1.0.6-py3-none-any.whl.
File metadata
- Download URL: databricks_docs_mcp-1.0.6-py3-none-any.whl
- Upload date:
- Size: 10.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","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":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8297fb922648202ab5dc740ff2487cba688ee579672f6670b58b0e6595f21c75
|
|
| MD5 |
01e0a3350b4e23bcef63db85d9071e99
|
|
| BLAKE2b-256 |
99af977b714f0a099f95528cae61566ab48ef69a75b8bfa6387bbe0bdcc8383e
|