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。
- 内置日志和监控: 提供服务器端的日志记录,方便问题排查和运行监控。
安装步骤
-
克隆仓库
git clone https://github.com/ocean-zhc/seatunnel-mcp cd seatunnel-mcp -
创建虚拟环境并安装依赖
python -m venv .venv source .venv/bin/activate # Linux/macOS .venv\Scripts\activate # Windows pip install -e . -
安装 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
基本使用方法
-
启动 SeaTunnel MCP Server
在项目根目录下运行以下命令启动服务器:
python -m src.seatunnel_mcp或者使用命令行工具:
seatunnel-mcp run -
使用 MCP 客户端连接
配置好 MCP 客户端(如 Claude Desktop)后,客户端将自动连接到 SeaTunnel MCP Server。您可以通过客户端界面或命令来调用服务器提供的工具。
-
通过工具管理 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 提供的工具。
信息
分类
开发者工具