Databricks MCP Server

by JustTryAI
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Provides access to Databricks functionality through tools that allow interacting with clusters (listing, creating, terminating, starting), jobs (listing, running), notebooks (listing, exporting), files (browsing DBFS paths), and executing SQL queries on a Databricks instance.

  • Used for implementing test endpoints and API functionality for the MCP server, enabling proper API interaction with Databricks services.

데이터브릭스 MCP 서버

Databricks용 모델 완성 프로토콜(MCP) 서버로, MCP 프로토콜을 통해 Databricks 기능에 액세스할 수 있도록 합니다. 이를 통해 LLM 기반 도구가 Databricks 클러스터, 작업, 노트북 등과 상호 작용할 수 있습니다.

특징

  • MCP 프로토콜 지원 : LLM이 Databricks와 상호 작용할 수 있도록 MCP 프로토콜을 구현합니다.
  • Databricks API 통합 : Databricks REST API 기능에 대한 액세스를 제공합니다.
  • 도구 등록 : Databricks 기능을 MCP 도구로 노출합니다.
  • 비동기 지원 : 효율적인 작업을 위해 asyncio로 구축됨

사용 가능한 도구

Databricks MCP 서버는 다음과 같은 도구를 제공합니다.

  • list_clusters : 모든 Databricks 클러스터를 나열합니다.
  • create_cluster : 새로운 Databricks 클러스터를 생성합니다.
  • terminate_cluster : Databricks 클러스터 종료
  • get_cluster : 특정 Databricks 클러스터에 대한 정보를 가져옵니다.
  • start_cluster : 종료된 Databricks 클러스터를 시작합니다.
  • list_jobs : 모든 Databricks 작업 나열
  • run_job : Databricks 작업 실행
  • list_notebooks : 작업 공간 디렉토리에 있는 노트북을 나열합니다.
  • export_notebook : 작업 공간에서 노트북을 내보냅니다.
  • list_files : DBFS 경로에 있는 파일과 디렉토리를 나열합니다.
  • execute_sql : SQL 문을 실행합니다.

설치

필수 조건

  • Python 3.10 이상
  • uv 패키지 관리자(MCP 서버에 권장)

설정

  1. uv 아직 없다면 설치하세요:지엑스피1설치 후 터미널을 다시 시작하세요.
  2. 저장소를 복제합니다.
    git clone https://github.com/JustTryAI/databricks-mcp-server.git cd databricks-mcp-server
  3. uv 로 프로젝트를 설정합니다:
    # Create and activate virtual environment uv venv # On Windows .\.venv\Scripts\activate # On Linux/Mac source .venv/bin/activate # Install dependencies in development mode uv pip install -e . # Install development dependencies uv pip install -e ".[dev]"
  4. 환경 변수 설정:
    # Windows set DATABRICKS_HOST=https://your-databricks-instance.azuredatabricks.net set DATABRICKS_TOKEN=your-personal-access-token # Linux/Mac export DATABRICKS_HOST=https://your-databricks-instance.azuredatabricks.net export DATABRICKS_TOKEN=your-personal-access-token
    .env.example 템플릿을 기반으로 .env 파일을 만들 수도 있습니다.

MCP 서버 실행

MCP 서버를 시작하려면 다음을 실행하세요.

# Windows .\start_mcp_server.ps1 # Linux/Mac ./start_mcp_server.sh

이 래퍼 스크립트는 scripts 디렉터리에 있는 실제 서버 스크립트를 실행합니다. 서버가 시작되고 MCP 프로토콜 연결을 허용할 준비가 됩니다.

스크립트 디렉토리에서 서버 스크립트를 직접 실행할 수도 있습니다.

# Windows .\scripts\start_mcp_server.ps1 # Linux/Mac ./scripts/start_mcp_server.sh

Databricks 리소스 쿼리

저장소에는 Databricks 리소스를 빠르게 볼 수 있는 유틸리티 스크립트가 포함되어 있습니다.

# View all clusters uv run scripts/show_clusters.py # View all notebooks uv run scripts/show_notebooks.py

프로젝트 구조

databricks-mcp-server/ ├── src/ # Source code │ ├── __init__.py # Makes src a package │ ├── __main__.py # Main entry point for the package │ ├── main.py # Entry point for the MCP server │ ├── api/ # Databricks API clients │ ├── core/ # Core functionality │ ├── server/ # Server implementation │ │ ├── databricks_mcp_server.py # Main MCP server │ │ └── app.py # FastAPI app for tests │ └── cli/ # Command-line interface ├── tests/ # Test directory ├── scripts/ # Helper scripts │ ├── start_mcp_server.ps1 # Server startup script (Windows) │ ├── run_tests.ps1 # Test runner script │ ├── show_clusters.py # Script to show clusters │ └── show_notebooks.py # Script to show notebooks ├── examples/ # Example usage ├── docs/ # Documentation └── pyproject.toml # Project configuration

프로젝트 구조에 대한 자세한 내용은 project_structure.md 참조하세요.

개발

코드 표준

  • Python 코드는 최대 줄 길이가 100자인 PEP 8 스타일 가이드를 따릅니다.
  • 들여쓰기에는 공백 4개를 사용하세요(탭 없음)
  • 문자열에는 큰따옴표를 사용하세요
  • 모든 클래스, 메서드 및 함수에는 Google 스타일 docstring이 있어야 합니다.
  • 테스트를 제외한 모든 코드에는 유형 힌트가 필요합니다.

린팅

이 프로젝트에서는 다음과 같은 린팅 도구를 사용합니다.

# Run all linters uv run pylint src/ tests/ uv run flake8 src/ tests/ uv run mypy src/

테스트

이 프로젝트에서는 테스트를 위해 pytest를 사용합니다. 테스트를 실행하려면 다음을 수행하세요.

# Run all tests with our convenient script .\scripts\run_tests.ps1 # Run with coverage report .\scripts\run_tests.ps1 -Coverage # Run specific tests with verbose output .\scripts\run_tests.ps1 -Verbose -Coverage tests/test_clusters.py

pytest를 사용하여 직접 테스트를 실행할 수도 있습니다.

# Run all tests uv run pytest tests/ # Run with coverage report uv run pytest --cov=src tests/ --cov-report=term-missing

이 프로젝트의 목표는 최소 80%의 코드 커버리지입니다.

선적 서류 비치

  • API 문서는 Sphinx를 사용하여 생성되며 docs/api 디렉토리에서 찾을 수 있습니다.
  • 모든 코드에는 Google 스타일 docstring이 포함되어 있습니다.
  • 사용 예는 examples/ 디렉토리를 참조하세요.

예시

사용 예제는 examples/ 디렉터리에서 확인하세요. 예제를 실행하려면 다음을 수행하세요.

# Run example scripts with uv uv run examples/direct_usage.py uv run examples/mcp_client_usage.py

기여하다

기여를 환영합니다! 풀 리퀘스트를 제출해 주세요.

  1. 코드가 프로젝트의 코딩 표준을 따르는지 확인하세요.
  2. 새로운 기능에 대한 테스트를 추가합니다.
  3. 필요에 따라 문서를 업데이트하세요
  4. 제출하기 전에 모든 테스트가 통과되었는지 확인하세요

특허

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.

-
security - not tested
F
license - not found
-
quality - not tested

클러스터, 작업, 노트북, 자연어를 통한 SQL 실행을 비롯한 Databricks 리소스와 LLM이 상호 작용할 수 있도록 모델 완성 프로토콜(MCP)을 구현하는 서버입니다.

  1. Features
    1. Available Tools
      1. Installation
        1. Prerequisites
        2. Setup
      2. Running the MCP Server
        1. Querying Databricks Resources
          1. Project Structure
            1. Development
              1. Code Standards
              2. Linting
            2. Testing
              1. Documentation
                1. Examples
                  1. Contributing
                    1. License
                      ID: t233w8d0a5