Apache SeaTunnel Mcp Server服务

oceanZHC/seatunnel-mcp
0 Stars 86 次浏览 ocean 更新于 2026-08-23

一个通过像Claude这样的LLM接口与SeaTunnel交互的模型上下文协议(MCP)服务器。它提供了作业管理、系统监控和与SeaTunnel服务的REST API交互。

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "seatunnel": {
      "args": [
        "-m",
        "src.seatunnel_mcp"
      ],
      "command": "python",
      "cwd": "Project root directory"
    },
    "st-mcp-sse": {
      "url": "http://your-server:18080/sse"
    },
    "st-mcp-uv": {
      "args": [
        "run",
        "seatunnel-mcp"
      ],
      "command": "uv",
      "env": {
        "SEATUNNEL_API_URL": "http://127.0.0.1:8080"
      }
    }
  }
}

该服务需要配置环境变量:SEATUNNEL_API_URL

服务介绍

SeaTunnel MCP 服务器

一个用于通过像 Claude 这样的大语言模型接口与 SeaTunnel 交互的 Model Context Protocol (MCP) 服务器。

SeaTunnel MCP Logo

SeaTunnel MCP 服务器

操作视频

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

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

IMAGE ALT TEXT HERE

提示: 如果视频无法直接播放,请确保您的设备支持 MP4 格式,并尝试使用现代浏览器或视频播放器打开它。

特性

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

安装

bash

克隆仓库

git clone <repository_url>
cd seatunnel-mcp

创建虚拟环境并安装

python -m venv .venv
source .venv/bin/activate # 在 Windows 上: .venv\Scripts\activate
pip install -e .

要求

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

使用

环境变量

SEATUNNEL_API_URL=http://localhost:8090 # 默认的 SeaTunnel REST API URL
SEATUNNEL_API_KEY=your_api_key # 可选:默认的 SeaTunnel API 密钥

动态连接配置

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

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

通过 MCP 使用示例:

json
// 获取当前设置
{
"name": "get-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: 按状态列出所有已完成的作业(FINISHED, CANCELED, FAILED 等)

运行服务器

bash
python -m src.seatunnel_mcp

与 Claude Desktop 一起使用

要与 Claude Desktop 一起使用,请将以下内容添加到您的 claude_desktop_config.json 中:

json
{
"mcpServers": {
"seatunnel": {
"command": "python",
"args": ["-m", "src.seatunnel_mcp"],
"cwd": "项目根目录"
}
}
}

使用 MCP Inspector 测试

bash
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/Studio 模式: 添加了 st-mcp-uv(或 st-mcp-studio),以支持使用 uv 工具运行 MCP 服务器,从而提高性能和异步支持。对应于 uv 分支

示例 claude_desktop_config.json:

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-jobssubmit-job/upload 工具,用于批量作业提交和文档提交操作
    • 允许通过单个 API 调用一次性提交多个作业
    • 输入直接作为请求体传递给 API
    • 支持 JSON 格式的作业配置
    • 允许基于文档提交作业

v1.0.0 (初始发布)

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

许可证

Apache License

相关 MCP 服务