MCP.Market

PySpark MCP server

by AnnasMazhar·io.github.AnnasMazhar/pyspark-mcp·v0.1.0

SQL migration, AWS Glue job generation, and PySpark optimization as an MCP server.

A92/100grade A
What users say
No reviews yet
Be the first
Safety scan
A92/100

not scanned yet

Adoption
New

0 stars

Reviews

Write one

Nobody has reviewed PySpark MCP yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

PySpark MCP tools

No tool declarations could be read from the package source. They show once the server is installed.

Not scanned yet. New listings are scanned within a day or two of arriving.

How PySpark MCP compares

Against every graded Databases MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
92/100
higher than 90% of 802 Databases servers

Release history: 2 versions in the registry since 2026-05-09, latest 2026-10-18, typically one every 163 days.

Install PySpark MCP in Claude Code, Cursor or VS Code

claude mcp add pyspark-mcp -- uvx pyspark-tools
Add to Cursor

What the publisher says

From the PySpark MCP repository's README, as published. We do not edit it. Read it on GitHub

PySpark MCP Server

SQL migration assistance, AWS Glue job template generation, and Spark code optimization — as an MCP server.

Not the live-Spark pyspark-mcp package. This project is SQL → PySpark /

Glue source generation, published as pyspark-tools.

SemyonSinchenko/pyspark-mcp introspects a

running SparkSession. A deprecated pyspark-mcp console script remains here so

old configs keep working; it prints a warning, then starts this server.

What It Does

  • SQL Dialect Transpilation — Convert between PostgreSQL, Oracle, Redshift, MySQL, Snowflake, and Spark SQL using SQLGlot
  • PySpark DataFrame API Generation — Generate DataFrame API source text from SQL, with optimization hints
  • AWS Glue templates — Job script strings, DynamicFrame conversions, Data Catalog definitions, S3 layout advice
  • Batch Processing — Walk SQL files/directories and emit converted modules
  • Code Review & Optimization — Pattern-based review of existing PySpark source
  • Pattern Detection — Find duplicated snippets and suggest utilities

What It Doesn't Do

  • Recursive CTEs → provides Spark SQL equivalent + guidance (PySpark has no native recursive CTE support)
  • MERGE/PIVOT/CONNECT BY → transpiles to Spark SQL, provides DataFrame API guidance
  • Perfect 1:1 DataFrame API transpilation for all SQL — complex queries get Spark SQL + recommendations
  • It does not start a SparkSession, submit Glue jobs, or execute SQL
  • optimize(mode="code") returns suggestions; it does not rewrite your code
  • glues3 is a path heuristic** (no AWS call, no measured speedups)
  • It does not replace SemyonSinchenko/pyspark-mcp for live catalog/plans

Why this vs calling sqlglot yourself

SQLGlot already transpiles dialects. This MCP adds three things around that kernel: DataFrame-API pretty-printing with join/window/cast mappings that the conversion tests lock, Glue job boilerplate strings (bookmarks, DynamicFrames, catalog tables) so an agent can emit a file instead of assembling one, and a 14-tool FastMCP surface so an LLM picks convert / mode=sql instead of wiring sqlglot itself. If you only need sqlglot.transpile(...), use sqlglot.

Quick Start

pip install pyspark-tools
pyspark-tools

Zero-clone alternative: uvx pyspark-tools. run_server.py is a development convenience that inserts sys.path and prints startup banners. Prefer pyspark-tools in configs and production.

Try it

pip install pyspark-tools
python -c "from pathlib import Path; from pyspark_tools.sql_converter import SQLToPySparkConverter as C; from pyspark_tools.consolidated_tools import glue_job; c,s,o=C(),Path('examples'),Path('examples/out'); [(o/f'{n}.py').write_text(c.convert_sql_to_pyspark((s/f'{n}.sql').read_text(), dialect=d).pyspark_code) for n,d in [('postgres_orders','postgres'),('oracle_decode','oracle')]]; (o/'orders_etl_glue.py').write_text(glue_job(mode='template', job_name='orders_etl', sql_query=(s/'postgres_orders.sql').read_text())['template'])"

Writes the same files as examples/out/. MCP stdio CLI: pyspark-tools.

Example: SQL → PySpark

SELECT o.customer_id, c.name, SUM(o.amount) AS total
FROM orders o
JOIN customers c ON o.customer_id = c.id
WHERE o.status = 'paid'
GROUP BY o.customer_id, c.name

Call convert with mode=sql. Captured converter output (dialect=spark):

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

PySpark MCP: common questions

Is PySpark MCP server safe?
Yes, by our scan: it is graded A (92/100). Read the PySpark MCP safety report
How do I install PySpark MCP?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does PySpark MCP need an API key?
Not as far as the registry entry and our scan can tell: no credentials are declared or required.
Is PySpark MCP maintained?
The last commit was 67 days ago (2026-08-29). The latest release is v0.1.0.
What can I use instead of PySpark MCP?
Servers from other publishers that do the same job: Metabase AI Assistant MCP server, DBHub MCP server and Motherduck MCP server.

Alternatives to PySpark MCP

Same job from other publishers: the closest match first, then the best rated.

  • Metabase AI Assistant
    MCP Server for Metabase - 111 tools for SQL generation, dashboards & PostgreSQL
    B
  • DBHub
    Token-efficient database MCP server for PostgreSQL, MySQL, MariaDB, SQL Server, Oracle, SQLite
    A
  • Motherduck
    SQL analytics and data engineering for AI Assistants and IDEs
    A
  • Keboola
    Connect your AI assistants to Keboola and expose your data, transformations, SQL queries, ...
    A
  • Run402
    x402 pay-per-call infra for agents: $0.03 image generation, Postgres, auth, storage, functions.
    B