Сервер Databricks MCP
Это сервер Model Context Protocol (MCP) для выполнения SQL-запросов к Databricks с использованием API Statement Execution. Он может извлекать данные, выполняя SQL-запросы с использованием API Databricks. При использовании в режиме агента он может успешно выполнять итерации по нескольким запросам для выполнения сложных задач. Он становится еще лучше в сочетании с метаданными Unity Catalog.
Функции
Выполнение SQL-запросов на Databricks
Перечислить доступные схемы в каталоге
Список таблиц в схеме
Опишите схемы таблиц
Related MCP server: MCP MySQL App
Настраивать
Системные требования
Питон 3.10+
Если вы планируете установку через
uv, убедитесь, что он установлен
Установка
Установите необходимые зависимости:
Или, если использовать uv :
Настройте переменные среды:
Вариант 1: использование файла .env (рекомендуется)
Создайте файл .env с вашими учетными данными Databricks:
DATABRICKS_HOST=your-databricks-instance.cloud.databricks.com DATABRICKS_TOKEN=your-databricks-access-token DATABRICKS_SQL_WAREHOUSE_ID=your-sql-warehouse-idВариант 2: Настройка переменных среды напрямую
export DATABRICKS_HOST="your-databricks-instance.cloud.databricks.com" export DATABRICKS_TOKEN="your-databricks-access-token" export DATABRICKS_SQL_WAREHOUSE_ID="your-sql-warehouse-id"
Идентификатор хранилища SQL можно найти в пользовательском интерфейсе Databricks в разделе «Хранилища SQL».
Требования к разрешениям
Перед использованием этого сервера MCP убедитесь, что:
Разрешения хранилища SQL : пользователь, связанный с предоставленным токеном, должен иметь соответствующие разрешения для доступа к указанному хранилищу SQL. Вы можете настроить разрешения хранилища в пользовательском интерфейсе Databricks в разделе Хранилища SQL > [Ваш склад] > Разрешения.
Разрешения токена : используемый личный токен доступа должен иметь минимально необходимые разрешения для выполнения требуемых операций. Настоятельно рекомендуется:
Создайте специальный токен специально для этого приложения.
По возможности предоставляйте разрешения только на чтение, чтобы ограничить риски безопасности.
Избегайте использования токенов с правами администратора на уровне всего рабочего пространства.
Разрешения на доступ к данным : Пользователь, связанный с токеном, должен иметь соответствующие разрешения на доступ к каталогам, схемам и таблицам, которые будут запрашиваться.
Чтобы установить разрешения хранилища SQL через REST API Databricks, вы можете использовать:
GET /api/2.0/sql/permissions/warehouses/{warehouse_id}для проверки текущих разрешенийPATCH /api/2.0/sql/permissions/warehouses/{warehouse_id}для обновления разрешений
Для обеспечения безопасности рассмотрите возможность регулярной ротации токенов доступа и аудита истории запросов для отслеживания использования.
Запуск сервера
Автономный режим
Для запуска сервера в автономном режиме:
Это запустит сервер MCP с использованием транспорта stdio, который можно использовать с Agent Composer или другими клиентами MCP.
Использование с курсором
Чтобы использовать этот MCP-сервер с Cursor , вам необходимо настроить его в настройках Cursor:
Создайте каталог
.cursorв вашем домашнем каталоге, если он еще не существует.Создайте или отредактируйте файл
mcp.jsonв этом каталоге:
Добавьте следующую конфигурацию в файл
mcp.json, заменив путь к каталогу фактическим путем к месту установки этого сервера:
Если вы не используете uv , вы можете вместо этого использовать python :
Перезапустите курсор, чтобы применить изменения.
Теперь вы можете использовать сервер Databricks MCP непосредственно в ИИ-помощнике Cursor.
Доступные инструменты
Сервер предоставляет следующие инструменты:
execute_sql_query: выполнить SQL-запрос и вернуть результатыexecute_sql_query(sql: str) -> strlist_schemas: Список всех доступных схем в определенном каталогеlist_schemas(catalog: str) -> strlist_tables: список всех таблиц в определенной схемеlist_tables(schema: str) -> strdescribe_table: Описать схему таблицыdescribe_table(table_name: str) -> str
Пример использования
В Agent Composer или других клиентах MCP вы можете использовать следующие инструменты:
Обработка длительных запросов
Сервер предназначен для обработки длительных запросов путем опроса API Databricks до тех пор, пока запрос не завершится или не истечет время ожидания. Тайм-аут по умолчанию составляет 10 минут (60 повторных попыток с 10-секундными интервалами), при необходимости его можно настроить в файле dbapi.py .
Зависимости
httpx: Для выполнения HTTP-запросов к API Databricks
python-dotenv: Для загрузки переменных среды из файла .env
mcp: Библиотека протокола контекста модели
asyncio: Для асинхронных операций