SeaTunnel MCP 服务器

SeaTunnel MCP Server 是一个通过LLM接口(如Claude)与SeaTunnel交互的模型上下文协议服务器,提供作业管理、系统监控和REST API交互功能。

  • by ocean-zhc
  • Python
  • 本地部署
  • 33 星标
  • 更新于
在 GitHub 查看 ocean-zhc/seatunnel-mcp

使用说明

海底隧道MCP服务器

一个模型上下文协议(MCP)服务器,用于通过Claude等LLM接口与SeaTunnel交互。

操作视频

为了帮助您更好地了解海底隧道MCP的功能和使用方法,我们提供了一个视频演示。请参考以下链接或直接查看项目文档目录中的视频文件。

https://www.youtube.com/watch?v=JaLA8EkZD7Q

小贴士:如果视频不能直接播放,请确保您的设备支持MP4格式,并尝试使用现代浏览器或视频播放器打开。

特性

  • 作业管理(提交、停止、监控)
  • 系统监控和信息检索
  • REST API与SeaTunnel服务的交互
  • 内置日志和监控工具
  • 动态连接配置
  • 全面的工作信息和统计数据

安装

# Clone repository
git clone <repository_url>
cd seatunnel-mcp

# Create virtual environment and install
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
pip install -e .

需求

  • Python≥3.12
  • 正在运行SeaTunnel实例
  • Node.js(用于使用MCP Inspector进行测试)

用法

环境变量

SEATUNNEL_API_URL=http://localhost:8090  # Default SeaTunnel REST API URL
SEATUNNEL_API_KEY=your_api_key           # Optional: Default SeaTunnel API key

动态连接配置

服务器提供了在运行时查看和更新连接设置的工具:

  • get-connection-settings:查看当前连接URL和API密钥状态
  • update-connection-settings:更新URL和/或API密钥以连接到其他SeaTunnel实例

MCP使用示例:

// Get current settings
{
  "name": "get-connection-settings"
}

// Update connection settings
{
  "name": "update-connection-settings",
  "arguments": {
    "url": "http://new-host:8090",
    "api_key": "new-api-key"
  }
}

作业管理

服务器提供提交和管理SeaTunnel作业的工具:

  • submit-job:提交具有作业配置的新作业
  • submit-jobs:批量提交多个作业
  • stop-job:停止正在运行的作业
  • get-job-info:获取特定工作的详细信息
  • get-running-jobs:列出当前正在运行的所有作业
  • get-finished-jobs:按状态列出所有已完成的作业(已完成、取消、失败等)

运行服务器

python -m src.seatunnel_mcp

使用Claude Desktop

要在Claude Desktop中使用此功能,请将以下内容添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "seatunnel": {
      "command": "python",
      "args": ["-m", "src.seatunnel_mcp"],
      "cwd": "Project root directory"
    }
  }
}

MCP检验员测试

npx @modelcontextprotocol/inspector python -m src.seatunnel_mcp

可用工具

连接管理

  • get-connection-settings:查看当前SeaTunnel连接URL和API密钥状态
  • update-connection-settings:更新URL和/或API密钥以连接到其他实例

作业管理

  • submit-job:提交具有HOCON格式配置的新作业
  • submit-job/upload:提交作业源上传配置文件
  • submit-jobs:批量提交多个作业,直接将用户输入作为请求正文传递
  • stop-job:使用可选的保存点停止正在运行的作业
  • get-job-info:获取特定工作的详细信息
  • get-running-jobs:列出当前正在运行的所有作业
  • get-running-job:获取特定运行作业的详细信息
  • get-finished-jobs:按州列出所有已完成的作业

系统监控

  • get-overview:获取SeaTunnel集群的概述
  • get-system-monitoring-information:获取详细的系统监控信息

更新日志

v1.2.0(2025-06-10)

v1.2.0中的新功能

  • SSE支持:已添加 st-mcp-sse 用于通过服务器发送事件(SSE)与SeaTunnel MCP进行实时通信。相应的sse分行
  • UV/工作室模式:已添加 st-mcp-uv (或 st-mcp-studio)支持使用运行MCP服务器 uv 用于提高性能和异步支持的工具。对应uv分支

示例 claude_desktop_config.json:

{
  "mcpServers": {
    "st-mcp-sse": {
      "url": "http://your-server:18080/sse"
    },
    "st-mcp-uv": {
      "command": "uv",
      "args": ["run", "seatunnel-mcp"],
      "env": {
        "SEATUNNEL_API_URL": "http://127.0.0.1:8080"
      }
    }
  }
}

v1.1.0(2025-04-10)

  • 新功能:已添加 submit-jobs 和 submit-job/upload 用于批量作业提交和文档提交操作的工具
    • 允许使用单个API调用同时提交多个作业
    • 输入作为请求主体直接传递给API
    • 支持作业配置的JSON格式
    • 允许基于文档提交作业

v1.0.0(初始版本)

  • 具有基本SeaTunnel集成功能的初始版本
  • 作业管理工具(提交、停止、监控)
  • 系统监控工具
  • 连接配置实用程序

许可证

Apache许可证