返回市场
PySpark-MCP服务器

PySpark-MCP服务器

作者:SemyonSinchenko11 星标更新:2025-09-24

项目介绍

PySpark MCP 服务器

描述

PySpark MCP 服务器是针对 Apache Spark 的轻量级 Model Context Protocol (MCP) 实现。

该 MCP 服务器的主要目的是通过 AI 系统来促进查询优化。它提供从 Spark 到 AI 系统进行分析的逻辑和物理查询计划,以及额外的查询计划信息。此外,该服务器还公开目录和表的信息,使基于 Spark 的数据湖具备数据发现能力。

快速开始

运行服务器

必须使用 spark-submit 来运行服务器,以确保正确配置 Spark 环境和依赖项。这允许通过标准的 Spark 参数传递 Spark 配置、额外的 JAR 文件和 YARN 设置。

示例命令:

spark-submit --master "local[1]" ./pyspark_mcp_server/mcp_server.py --host "127.0.0.1" --port 8090

将运行中的 MCP 添加到 Claude-code

claude mcp add --transport http pyspark-mcp http://127.0.0.1:8090/mcp

依赖项

  • Python >=3.11,<4.0
  • fastmcp >= 2.10.6
  • loguru
  • pyspark >= 3.5

内置 MCP 工具

以下工具包含在 PySpark MCP 服务器中:

MCP 工具描述
获取 PySpark 版本从当前 PySpark 会话获取版本号
获取查询的分析计划从提供的 SQL 查询中提取分析过的逻辑计划
获取查询的优化计划从提供的 SQL 查询中提取优化过的逻辑计划
获取查询结果的大小估算从查询计划解释中提取大小和单位
从查询计划中获取表从查询计划解释中提取所有表(关系)
获取当前 Spark 目录获取当前 SparkSession 默认的目录
检查数据库是否存在检查给定名称的数据库是否存在于当前目录
获取当前默认数据库从默认目录获取当前默认数据库
列出当前目录中的所有数据库列出现有目录中的所有数据库
列出可用目录列出现在 SparkSession 中的所有目录
列出当前目录中的所有表列出现有 Spark 目录中的所有表
获取表的注释提取表的注释或返回空字符串
获取表模式获取目录中表的 spark 模式
返回 SQL 查询结果的模式执行查询,获取结果,获取结果的模式并返回一个 JSON 格式的模式值
读取文本文件的前 N 行以纯文本形式读取文件的前 N 行。有助于确定文件格式