From dad0bf105b0ad59c0297896398f8730627750b22 Mon Sep 17 00:00:00 2001 From: Henry Mao <1828968+calclavia@users.noreply.github.com> Date: Tue, 29 Apr 2025 08:05:22 -0700 Subject: [PATCH 1/3] Add Dockerfile --- Dockerfile | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..5ebad3b --- /dev/null +++ b/Dockerfile @@ -0,0 +1,31 @@ +# Generated by https://smithery.ai. See: https://smithery.ai/docs/config#dockerfile +# Dockerfile for Databricks MCP Server +FROM python:3.11-slim + +# Prevent Python from writing pyc files and buffering stdout +ENV PYTHONDONTWRITEBYTECODE=1 PYTHONUNBUFFERED=1 + +# Install curl +RUN apt-get update \ + && apt-get install -y curl \ + && rm -rf /var/lib/apt/lists/* + +# Install UV (CLI tool, optional for runtime) +RUN curl -LsSf https://astral.sh/uv/install.sh | sh +ENV PATH="/root/.local/bin:${PATH}" + +WORKDIR /app + +# Copy project files +COPY pyproject.toml uv.lock ./ +COPY README.md ./ +COPY src ./src +COPY scripts ./scripts + +# Install Python dependencies and the package +RUN pip install --upgrade pip \ + && pip install hatchling \ + && pip install . + +# Default command: start the MCP server using stdio +CMD ["python", "-m", "src.main"] From a74bd98254ba105a47b1509f2816ced85cc96005 Mon Sep 17 00:00:00 2001 From: Henry Mao <1828968+calclavia@users.noreply.github.com> Date: Tue, 29 Apr 2025 08:05:23 -0700 Subject: [PATCH 2/3] Add Smithery configuration --- smithery.yaml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 smithery.yaml diff --git a/smithery.yaml b/smithery.yaml new file mode 100644 index 0000000..d45648b --- /dev/null +++ b/smithery.yaml @@ -0,0 +1,29 @@ +# Smithery configuration file: https://smithery.ai/docs/config#smitheryyaml + +startCommand: + type: stdio + configSchema: + # JSON Schema defining the configuration options for the MCP. + type: object + required: + - databricksHost + - databricksToken + properties: + databricksHost: + type: string + description: Databricks workspace URL + databricksToken: + type: string + description: Databricks personal access token + logLevel: + type: string + default: INFO + description: Optional log level + commandFunction: + # A JS function that produces the CLI command based on the given config to start the MCP on stdio. + |- + (config) => ({ command: "python", args: ["-m", "src.main", "--log-level", config.logLevel], env: { DATABRICKS_HOST: config.databricksHost, DATABRICKS_TOKEN: config.databricksToken } }) + exampleConfig: + databricksHost: https://example.cloud.databricks.com + databricksToken: dapiXXXXXXXXXXXXXXXXXXXX + logLevel: INFO From 6cbfe9d81b363b1373c50a41b17063d4b4456808 Mon Sep 17 00:00:00 2001 From: Henry Mao <1828968+calclavia@users.noreply.github.com> Date: Tue, 29 Apr 2025 08:05:24 -0700 Subject: [PATCH 3/3] Update README --- README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.md b/README.md index a89727a..1ec2a62 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # Databricks MCP Server +[![smithery badge](https://smithery.ai/badge/@JustTryAI/databricks-mcp-server)](https://smithery.ai/server/@JustTryAI/databricks-mcp-server) + A Model Completion Protocol (MCP) server for Databricks that provides access to Databricks functionality via the MCP protocol. This allows LLM-powered tools to interact with Databricks clusters, jobs, notebooks, and more. ## Features @@ -27,6 +29,14 @@ The Databricks MCP Server exposes the following tools: ## Installation +### Installing via Smithery + +To install Databricks MCP Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@JustTryAI/databricks-mcp-server): + +```bash +npx -y @smithery/cli install @JustTryAI/databricks-mcp-server --client claude +``` + ### Prerequisites - Python 3.10 or higher