RTC MCP Server

RTC MCP Server

By gnuhpc GitHub

A Model Context Protocol (MCP) server implementation for managing Alibaba Cloud Realtime Computing Flink resources

rtc-mcp-server flink
Overview

What is RTC MCP Server?

RTC MCP Server is a Model Context Protocol (MCP) server implementation designed for managing Alibaba Cloud Realtime Computing Flink resources, providing a standardized interface for AI models to interact with Flink services.

How to use RTC MCP Server?

To use the RTC MCP Server, configure your MCP settings file with the server details and your Alibaba Cloud credentials, then run the server using Java.

Key features of RTC MCP Server?

  • Create and manage Flink clusters
  • Manage Flink SQL jobs
  • Deploy and control Flink applications
  • Monitor job status and metrics
  • Manage savepoints and deployments
  • Workspace and namespace management

Use cases of RTC MCP Server?

  1. Managing Flink clusters for real-time data processing.
  2. Deploying and monitoring Flink applications in cloud environments.
  3. Facilitating AI model interactions with Flink services.

FAQ from RTC MCP Server?

  • What are the prerequisites to use RTC MCP Server?

You need JDK 17 or higher, Maven 3.6 or higher, and an Alibaba Cloud account with RTC access.

  • How do I deploy a Flink job?

Use the start_job command after creating a deployment.

  • Is there support for multiple transport modes?

Yes, the server supports both webflux and stdio modes.

Content

RTC MCP Server

A Model Context Protocol (MCP) server implementation for managing Alibaba Cloud Realtime Compute for Apache Flink resources. This server provides a standardized interface for AI models to interact with Alibaba Cloud Flink services.

Features

  • Create and manage Flink clusters
  • Create and manage Flink SQL jobs
  • Deploy and control Flink applications
  • Monitor job status and metrics
  • Create and manage savepoints
  • List and manage deployments
  • Workspace and namespace management

Prerequisites

  • JDK 17 or higher
  • Maven 3.6 or higher
  • Alibaba Cloud account with RTC (Realtime Compute) access
  • Alibaba Cloud Access Key ID and Secret

Client Configuration

To use this server as an MCP client, add the following configuration to your MCP settings file (e.g., cline_mcp_settings.json):

{
  "mcpServers": {
    "rtc-mcp-server": {
      "command": "java",
      "args": [
        "-Dtransport.mode=stdio",
        "-Dspring.main.web-application-type=none",
        "-Dspring.main.banner-mode=off",
        "-Dlogging.file.name=/path/to/rtc-mcp-server/mcpserver.log",
        "-jar",
        "/path/to/rtc-mcp-server/target/rtc-mcp-server-1.0-SNAPSHOT.jar"
      ],
      "env": {
        "ALIYUN_ACCESS_KEY_ID": "your-access-key-id",
        "ALIYUN_ACCESS_KEY_SECRET": "your-access-key-secret"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

Replace /path/to/rtc-mcp-server with your actual server path and provide your Alibaba Cloud credentials in the environment variables.

Available Tools

The server provides the following MCP tools:

  1. Job Management

    • start_job: Start a deployed Flink job
    • stop_job: Stop a running Flink job
    • list_jobs: List all jobs in a deployment
    • delete_job: Delete a non-running job
    • get_job_diagnosis: Get job diagnosis information
  2. Deployment Management

    • create_deployment: Create a new Flink deployment
    • get_deployment_metrics: Get deployment metrics
    • create_savepoint: Create a savepoint for a job
  3. Variable Management

    • create_variable: Create a new variable
    • update_variable: Update an existing variable
    • delete_variable: Delete a variable
    • list_variables: List variables with pagination
  4. Workspace Management

    • create_workspace: Create a new workspace
    • get_workspace_info: Get workspace information
    • list_workspaces: List all workspaces
  5. Catalog Operations

    • get_catalogs: Get catalog information
    • get_deployment_databases: Get database information
    • get_tables: Get table information
    • execute_sql_statement: Execute SQL statements

Build and Run

  1. Build the project:
mvn clean package
  1. Run the server:
java -jar target/rtc-mcp-server-1.0-SNAPSHOT.jar

For development mode with stdio transport:

java -Dtransport.mode=stdio -Dspring.main.web-application-type=none -jar target/rtc-mcp-server-1.0-SNAPSHOT.jar

Server Modes

The server supports multiple transport modes:

  • webflux: Default mode using Spring WebFlux
  • stdio: Command-line mode for development and testing

Logging

Logs are configured in application.yml with the following default settings:

  • Root level: WARN
  • Application level (com.rtc): INFO
  • Log files are rotated daily with GZIP compression

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Create a pull request

License

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

No tools information available.
No content found.