Skip to main content
Glama

SeaTunnel MCP Server

by ocean-zhc
README.md5.3 kB
# SeaTunnel MCP Server A Model Context Protocol (MCP) server for interacting with SeaTunnel through LLM interfaces like Claude. ![SeaTunnel MCP Logo](./docs/img/seatunnel-mcp-logo.png) ![SeaTunnel MCP Server](./docs/img/img.png) ## 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](https://img.youtube.com/vi/JaLA8EkZD7Q/0.jpg)](https://www.youtube.com/watch?v=JaLA8EkZD7Q) > **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 ```bash # 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: ```json // 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 ```bash python -m src.seatunnel_mcp ``` ### Usage with Claude Desktop To use this with Claude Desktop, add the following to your `claude_desktop_config.json`: ```json { "mcpServers": { "seatunnel": { "command": "python", "args": ["-m", "src.seatunnel_mcp"], "cwd": "Project root directory" } } } ``` ### Testing with MCP Inspector ```bash 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`: ```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

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ocean-zhc/seatunnel-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server