SeaTunnel MCP Server 使用说明

项目简介

SeaTunnel MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在通过标准化的 MCP 协议,为 LLM(大型语言模型)应用提供与 SeaTunnel 数据集成平台交互的桥梁。它允许 LLM 通过调用工具来管理 SeaTunnel 作业、监控系统状态以及动态配置连接,从而实现更智能化的数据集成流程。

主要功能点

  • 作业管理: 支持提交、停止和监控 SeaTunnel 数据集成作业,方便用户通过 LLM 接口控制数据处理流程。
  • 系统监控: 提供 SeaTunnel 集群的概览和详细系统监控信息,帮助用户了解集群运行状态。
  • 动态连接配置: 允许在运行时查看和更新 SeaTunnel API 的连接设置,灵活适应不同的 SeaTunnel 实例。
  • REST API 交互: 通过 REST API 与 SeaTunnel 服务进行通信,将 SeaTunnel 的功能以工具的形式暴露给 LLM。
  • 内置日志和监控: 提供服务器端的日志记录,方便问题排查和运行监控。

安装步骤

  1. 克隆仓库

    git clone https://github.com/ocean-zhc/seatunnel-mcp
    cd seatunnel-mcp
  2. 创建虚拟环境并安装依赖

    python -m venv .venv
    source .venv/bin/activate   # Linux/macOS
    .venv\Scripts\activate  # Windows
    pip install -e .
  3. 安装 Node.js (如果需要使用 MCP Inspector 测试) 请确保您的环境中安装了 Node.js 和 npm。

服务器配置

为了让 MCP 客户端(例如 Claude Desktop)连接到 SeaTunnel MCP Server,您需要在客户端的配置文件中添加服务器信息。以下是针对 Claude Desktop 的 'claude_desktop_config.json' 配置示例:

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

配置参数说明:

  • 'server name': 'seatunnel' (服务器名称,可以自定义)
  • 'command': 'python' (启动服务器的命令)
  • 'args': '["-m", "src.seatunnel_mcp"]' (传递给 'python' 命令的参数,用于运行 SeaTunnel MCP Server)
  • 'cwd': '项目根目录' (请替换为实际的项目根目录的绝对路径,或者使用相对路径,确保 Claude Desktop 能够找到项目)

环境变量配置:

SeaTunnel MCP Server 依赖以下环境变量进行配置,您可以在 '.env' 文件或系统环境变量中设置:

  • 'SEATUNNEL_API_URL': SeaTunnel REST API 的 URL,默认为 'http://localhost:8090'。
  • 'SEATUNNEL_API_KEY': (可选) SeaTunnel API 的密钥,如果 SeaTunnel API 需要身份验证,请设置此项。

您可以通过以下命令在项目根目录下初始化 '.env' 文件:

seatunnel-mcp init

基本使用方法

  1. 启动 SeaTunnel MCP Server

    在项目根目录下运行以下命令启动服务器:

    python -m src.seatunnel_mcp

    或者使用命令行工具:

    seatunnel-mcp run
  2. 使用 MCP 客户端连接

    配置好 MCP 客户端(如 Claude Desktop)后,客户端将自动连接到 SeaTunnel MCP Server。您可以通过客户端界面或命令来调用服务器提供的工具。

  3. 通过工具管理 SeaTunnel

    SeaTunnel MCP Server 提供了以下工具,可以通过 MCP 客户端调用:

    • 连接管理工具:
      • 'get-connection-settings': 查看当前 SeaTunnel 连接设置。
      • 'update-connection-settings': 更新 SeaTunnel 连接 URL 和 API 密钥。
    • 作业管理工具:
      • 'submit-job': 提交新的 SeaTunnel 作业。
      • 'stop-job': 停止运行中的 SeaTunnel 作业。
      • 'get-job-info': 获取指定 SeaTunnel 作业的详细信息。
      • 'get-running-jobs': 列出所有正在运行的 SeaTunnel 作业。
      • 'get-finished-jobs': 列出指定状态的已完成 SeaTunnel 作业。
      • 'get-running-job': 获取指定运行中作业的详细信息。
    • 系统监控工具:
      • 'get-overview': 获取 SeaTunnel 集群概览信息。
      • 'get-system-monitoring-information': 获取详细的系统监控信息。

    具体工具的使用方法和参数,请参考工具的描述信息或仓库文档。

使用 MCP Inspector 测试 (可选)

您可以使用 MCP Inspector 工具测试 SeaTunnel MCP Server 的工具是否可用:

npx @modelcontextprotocol/inspector python -m src.seatunnel_mcp

按照 MCP Inspector 的提示进行操作,即可测试和调用 SeaTunnel MCP Server 提供的工具。

信息

分类

开发者工具