PySpark MCP

PySpark MCP

AnnasMazharMIT
Сервер переносит SQL-запросы в PySpark и автоматизирует работу с AWS Glue. Разработчики данных применяют его при миграции на Spark, создании ETL-пайплайнов и рефакторинге кода. В основе сервера — библиотека SQLGlot. Она распознаёт диалект исходного запроса и конвертирует его в Spark SQL или DataFrame API. Если точное преобразование невозможно, сервер выдаёт эквивалент на Spark SQL и рекомендации по доработке.
Подключение

Подключить PySpark MCP

Выберите способ запуска и свой MCP-клиент. Ниже останется одна готовая инструкция, которую можно проверить и скопировать.

1

Способ подключения

2

Куда подключить

3

Скопируйте и проверьте

Claude Desktop / Claude Code

Клиент запускает MCP-сервер как локальный процесс.

  1. 1.Откройте настройки MCP в Claude.
  2. 2.Добавьте сервер с указанной командой и переменными окружения.
  3. 3.Перезапустите Claude, если сервер не появился автоматически.
json
{
  "mcpServers": {
    "pyspark-mcp": {
      "command": "uvx",
      "args": [
        "pyspark-tools"
      ]
    }
  }
}

Сгенерировано из существующей команды запуска. Желательно сверить с README.

Инструкция собрана из данных карточки и пока не отмечена как проверенная редакцией. Сверьте команду с README источника и не передавайте лишние права или секреты.

Как оценить PySpark MCP

PySpark MCP относится к Разработка, Базы данных, Cloud и DevOps, AWS. Ниже собраны проверяемые признаки, по которым его можно сравнить с другими серверами каталога.

Происхождение
Проект сообщества
Лицензия
MIT
Реализация
Python
Транспорт
stdio

Что проверить перед выбором

  • Изучите README, открытые issues и историю последних изменений в репозитории.
  • Проверьте команду установки и зависимости перед запуском в рабочем окружении.
  • Ограничьте доступ MCP-сервера только нужными файлами, API и переменными окружения.

Карточка отредактирована 20.07.2026.

Автоматическая проверка источника ещё не выполнена. Внешних источников в карточке: 1.

Характеристики

Общее

  • СтатусСообщество
  • РазработчикAnnasMazhar
  • ЛицензияMIT

Технологии

  • Языки
    Python
  • Транспорт
    stdio

Описание

Возможности

  • Конвертирует SQL в PySpark DataFrame API с автоматическим определением исходного диалекта
  • Переносит код между PostgreSQL, Oracle, Redshift, MySQL, Snowflake и Spark SQL
  • Создаёт готовые скрипты для AWS Glue с настройками S3 и Data Catalog
  • Преобразует DataFrame в DynamicFrame и обратно для Glue ETL
  • Генерирует описания таблиц для AWS Glue Data Catalog
  • Строит задания для инкрементальной загрузки (CDC)
  • Анализирует S3-корзины и советует схему партиционирования
  • Проверяет PySpark-код на узкие места, дублирование и неоптимальные операции
  • Рекомендует broadcast или shuffle join для конкретных данных
  • Конвертирует сотни SQL-файлов одной командой через пакетную обработку

Как подключить

1. Установите сервер

Самый простой способ — запустить сервер через uvx: uvx pyspark-tools.

Также можно установить из репозитория: склонируйте проект и выполните pip install -e ., после чего запустите командой pyspark-mcp.

2. Настройте клиент

Для Claude Desktop добавьте в конфигурационный файл:

{ "mcpServers": { "pyspark": { "command": "uvx", "args": ["pyspark-tools"] } } }

Для Hermes Agent пропишите аналогичный блок в ~/.hermes/config.yaml.

3. Перезапустите клиент

После сохранения конфигурации закройте и откройте клиент заново. Инструменты сервера появятся в списке доступных.

Примеры запросов

  • «Сконвертируй этот SQL-запрос с оконными функциями и MERGE из Oracle в PySpark DataFrame API. Если полная конвертация невозможна, дай эквивалент на Spark SQL с пояснениями.»
  • «Проанализируй PySpark-код из файла etl.py. Найди узкие места и операции, которые можно оптимизировать с помощью broadcast join.»
  • «Создай шаблон AWS Glue job для чтения CSV-файлов из S3, очистки данных и записи в Parquet в Data Catalog.»
  • «У меня сто SQL-файлов для Redshift. Запусти пакетную конвертацию в Spark SQL и сохрани результаты в папку /output.»
  • «Как лучше партиционировать таблицу размером 1 ТБ по дате? Посоветуй количество партиций и формат хранения.»

Технические детали

  • Язык: Python (3.11+)
  • Транспорт: stdio
  • Лицензия: MIT
  • Совместимые клиенты: Claude Desktop, Hermes Agent, любой MCP-клиент с поддержкой stdio
  • Ключевая зависимость: SQLGlot (для разбора и транспиляции SQL)

Поделиться