MCP server for managing Flink standalone clusters
npm install @flinkhouse/server-flinkmanager这是一个Model Context Protocol (MCP) 服务器,用于管理本地Flink standalone集群。通过这个工具,AI助手可以帮助你启动、停止Flink集群并检查其状态。
- 启动Flink standalone集群
- 停止Flink standalone集群
- 获取集群当前状态(运行中/已停止/部分运行)
- 查看集群配置
- Node.js v18或更高版本
- 已安装的Apache Flink(standalone模式)
- 确保Flink的bin目录下有start-cluster.sh和stop-cluster.sh脚本
``bash`
npm install -g @modelcontextprotocol/server-flinkmanager
或者从源码构建:
`bash`
git clone
cd servers/src/flinkmanager
npm install
npm run build
`bash`
npx -y @modelcontextprotocol/server-flinkmanager /path/to/flink/home
其中/path/to/flink/home是你Flink安装的根目录。
服务器提供以下工具:
1. start_cluster - 启动Flink集群
- 参数:timeout(可选,单位:秒,默认30秒)
2. stop_cluster - 停止Flink集群
- 参数:timeout(可选,单位:秒,默认30秒)
3. get_cluster_status - 获取集群状态
- 无参数
4. get_cluster_config - 获取集群配置
- 参数:configFile(可选,指定配置文件名,如"flink-conf.yaml")
通过AI助手使用:
`
USER: 请启动我的Flink集群
AI: [使用start_cluster工具]
正在启动Flink集群...
Flink集群已成功启动。
Web UI可通过 http://localhost:8081 访问。
USER: 集群状态如何?
AI: [使用get_cluster_status工具]
Flink集群状态:
- 状态: 运行中
- JobManager: 运行中 (PID: 12345)
- TaskManagers: 2个运行中
- Web界面: http://localhost:8081 (可访问)
USER: 请停止集群
AI: [使用stop_cluster工具]
正在停止Flink集群...
Flink集群已成功停止。
``
- 确保指定了正确的Flink目录
- 验证Flink安装是否完整
- 检查是否有足够的权限执行Flink脚本
- 如果集群启动后处于"部分"状态,可能需要手动检查TaskManager日志
MIT