PySpark MCP server
io.github.AnnasMazhar/pyspark-mcp·v0.1.0SQL migration, AWS Glue job generation, and PySpark optimization as an MCP server.
not scanned yet
0 stars
Reviews
Write oneNobody 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.
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
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-toolsZero-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.nameCall 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 AssistantMCP Server for Metabase - 111 tools for SQL generation, dashboards & PostgreSQLnot reviewedGrowingB
- DBHubToken-efficient database MCP server for PostgreSQL, MySQL, MariaDB, SQL Server, Oracle, SQLitenot reviewedWidely usedA
- MotherduckSQL analytics and data engineering for AI Assistants and IDEsnot reviewedEstablishedA
- KeboolaConnect your AI assistants to Keboola and expose your data, transformations, SQL queries, ...not reviewedEstablishedA
- Run402x402 pay-per-call infra for agents: $0.03 image generation, Postgres, auth, storage, functions.not reviewedEstablishedB