RTC MCP Server
by gnuhpc
The RTC MCP Server is a Model Context Protocol (MCP) server implementation designed for managing Alibaba Cloud Realtime Compute for Apache Flink resources. It provides a standardized interface for AI models to interact with Alibaba Cloud Flink services.
Last updated: N/A
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:
-
Job Management
start_job
: Start a deployed Flink jobstop_job
: Stop a running Flink joblist_jobs
: List all jobs in a deploymentdelete_job
: Delete a non-running jobget_job_diagnosis
: Get job diagnosis information
-
Deployment Management
create_deployment
: Create a new Flink deploymentget_deployment_metrics
: Get deployment metricscreate_savepoint
: Create a savepoint for a job
-
Variable Management
create_variable
: Create a new variableupdate_variable
: Update an existing variabledelete_variable
: Delete a variablelist_variables
: List variables with pagination
-
Workspace Management
create_workspace
: Create a new workspaceget_workspace_info
: Get workspace informationlist_workspaces
: List all workspaces
-
Catalog Operations
get_catalogs
: Get catalog informationget_deployment_databases
: Get database informationget_tables
: Get table informationexecute_sql_statement
: Execute SQL statements
Build and Run
- Build the project:
mvn clean package
- 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 WebFluxstdio
: 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
- Fork the repository
- Create a feature branch
- Commit your changes
- 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.