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.
Metadata
Release files for databricks-docs-mcp 1.0.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| databricks_docs_mcp-1.0.6.tar.gz | 125.9 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| databricks_docs_mcp-1.0.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 136.9 kB
Release files / databricks_docs_mcp-1.0.6.tar.gz
| Download URL | databricks_docs_mcp-1.0.6.tar.gz |
|---|---|
| Size | 125.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4cc1cb53649a2de88ed4ed59ba8bb45f1b8524f8fade0524d8dd31e90166f8db
|
|
BLAKE2b-256 checksum How to use checksums |
6204191be202d3ce1e3f5bcf39205c50513d8f0c63db08370cd8c0301823a8b5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|
Release files / databricks_docs_mcp-1.0.6-py3-none-any.whl
| Download URL | databricks_docs_mcp-1.0.6-py3-none-any.whl |
|---|---|
| Size | 10.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8297fb922648202ab5dc740ff2487cba688ee579672f6670b58b0e6595f21c75
|
|
BLAKE2b-256 checksum How to use checksums |
99af977b714f0a099f95528cae61566ab48ef69a75b8bfa6387bbe0bdcc8383e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|
Security for databricks-docs-mcp 1.0.6
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.