Skip to main content

A Model Context Protocol (MCP) server for interacting with SeaTunnel through LLM interfaces

Project description

SeaTunnel MCP Server

A Model Context Protocol (MCP) server for interacting with SeaTunnel through LLM interfaces like Claude.

SeaTunnel MCP Logo

SeaTunnel MCP Server

Operation Video

To help you better understand the features and usage of SeaTunnel MCP, we provide a video demonstration. Please refer to the link below or directly check the video file in the project documentation directory.

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

IMAGE ALT TEXT HERE

Tip: If the video does not play directly, make sure your device supports MP4 format and try opening it with a modern browser or video player.

Features

  • Job management (submit, stop, monitor)
  • System monitoring and information retrieval
  • REST API interaction with SeaTunnel services
  • Built-in logging and monitoring tools
  • Dynamic connection configuration
  • Comprehensive job information and statistics

Installation

# 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 .

Requirements

  • Python ≥ 3.12
  • Running SeaTunnel instance
  • Node.js (for testing with MCP Inspector)

Usage

Environment Variables

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

Dynamic Connection Configuration

The server provides tools to view and update connection settings at runtime:

  • get-connection-settings: View current connection URL and API key status
  • update-connection-settings: Update URL and/or API key to connect to a different SeaTunnel instance

Example usage through 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"
  }
}

Job Management

The server provides tools to submit and manage SeaTunnel jobs:

  • submit-job: Submit a new job with job configuration
  • submit-jobs: Submit multiple jobs in batch
  • stop-job: Stop a running job
  • get-job-info: Get detailed information about a specific job
  • get-running-jobs: List all currently running jobs
  • get-finished-jobs: List all finished jobs by state (FINISHED, CANCELED, FAILED, etc.)

Running the Server

python -m src.seatunnel_mcp

Usage with Claude Desktop

To use this with Claude Desktop, add the following to your claude_desktop_config.json:

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

Testing with MCP Inspector

npx @modelcontextprotocol/inspector python -m src.seatunnel_mcp

Available Tools

Connection Management

  • get-connection-settings: View current SeaTunnel connection URL and API key status
  • update-connection-settings: Update URL and/or API key to connect to a different instance

Job Management

  • submit-job: Submit a new job with configuration in HOCON format
  • submit-job/upload: submit job source upload configuration file
  • submit-jobs: Submit multiple jobs in batch, directly passing user input as request body
  • stop-job: Stop a running job with optional savepoint
  • get-job-info: Get detailed information about a specific job
  • get-running-jobs: List all currently running jobs
  • get-running-job: Get details about a specific running job
  • get-finished-jobs: List all finished jobs by state

System Monitoring

  • get-overview: Get an overview of the SeaTunnel cluster
  • get-system-monitoring-information: Get detailed system monitoring information

Changelog

v1.2.0 (2025-06-10)

New Features in v1.2.0

  • SSE Support: Added st-mcp-sse for real-time communication with SeaTunnel MCP via Server-Sent Events (SSE). Corresponding sse branch
  • UV/Studio Mode: Added st-mcp-uv (or st-mcp-studio) to support running the MCP server using the uv tool for improved performance and async support. Corresponding to uv branch

Example 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)

  • New Feature: Added submit-jobs and submit-job/upload tool for batch job submission and Document submission operations
    • Allows submitting multiple jobs at once with a single API call
    • Input is passed directly as the request body to the API
    • Supports JSON format for job configurations
    • Allow submission of jobs based on documents

v1.0.0 (Initial Release)

  • Initial release with basic SeaTunnel integration capabilities
  • Job management tools (submit, stop, monitor)
  • System monitoring tools
  • Connection configuration utilities

License

Apache License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iflow_mcp_ocean_zhc_seatunnel_mcp-0.1.0.tar.gz (16.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file iflow_mcp_ocean_zhc_seatunnel_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: iflow_mcp_ocean_zhc_seatunnel_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 16.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_ocean_zhc_seatunnel_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 006f31c88a1828761891fb63d5d6c5d570affc2293191930426dc2e7da7a7e67
MD5 f84e7428c189bd5613a534dda8a2d620
BLAKE2b-256 c326d1b7f43564326ab6774917e09118f10ee3bc93d2ab8c7b927c4c1f4f1f03

See more details on using hashes here.

File details

Details for the file iflow_mcp_ocean_zhc_seatunnel_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: iflow_mcp_ocean_zhc_seatunnel_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 19.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_ocean_zhc_seatunnel_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f1721f895859fe4f972eb22528bb29fdcbdd1d662812dd14d31de06ddf10d661
MD5 9d2147c65bed4dc243f471f45fde3c37
BLAKE2b-256 74f3f33ae17df723cd793a0849ae1c44e9b4fad60ea4a4982b31912f979e6d2e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page