UCloud
_ _ _____ _ _
| | | / __ \ | | |
| | | | / \/ | ___ _ _ __| |
| | | | | | |/ _ \| | | |/ _` |
| |__| | \__/\ | (_) | |_| | (_| |
\____/ \____/_|\___/ \__,_|\__,_|
__ __ _____ _____ _____
| \/ |/ __ \ __ \ / ___|
| . . || / \/| |_/ / \ `--. ___ _ ____ _____ _ __
| |\/| || | | __/ `--. \/ _ \ '__\ \ / / _ \ '__|
| | | || \__/\| | /\__/ / __/ | \ V / __/ |
\_| |_/ \____/\_| \____/ \___|_| \_/ \___|_|
UCloud MCP Server
A cloud instance management server based on MCP-Go and UCloud SDK, supporting UCloud instance management through the MCP protocol.
Features
- Query instance information
- List all instances
- Get instance status
- Monitor instance performance metrics
- MCP protocol support
- Configuration file support
Requirements
- Go 1.23 or higher
- UCloud account and API credentials
Configuration
The service supports two configuration methods:
1. Configuration File (Recommended)
Create a config.json
file:
{
"region": "cn-bj2",
"project_id": "your-project-id",
"public_key": "your-public-key",
"private_key": "your-private-key"
}
2. Environment Variables
If not specified in the configuration file, the service will try to read from environment variables:
export UCLOUD_REGION="cn-bj2" # UCloud region
export UCLOUD_PROJECT_ID="your-project-id" # Project ID
export UCLOUD_PUBLIC_KEY="your-public-key" # API public key
export UCLOUD_PRIVATE_KEY="your-private-key" # API private key
Configuration priority: Configuration file > Environment variables
Installation and Running
- Clone the repository:
git clone https://github.com/renzheng.wang/ucloud-mcp-server.git
cd ucloud-mcp-server
- Install dependencies:
go mod download
- Build the service:
go build -o ucloud-mcp-server
- Run the service:
Basic usage:
./ucloud-mcp-server
With custom configuration:
./ucloud-mcp-server --config /path/to/config.json --port 8080
Available startup options:
--config
: Specify the path to your configuration file (default: ./config.json)--port
: Specify the port to listen on (default: 8080)
Examples:
## Use custom config file
./ucloud-mcp-server --config /etc/ucloud/config.json
## Use custom port
./ucloud-mcp-server --port 9000
## Use both custom config and port
./ucloud-mcp-server --config /etc/ucloud/config.json --port 9000
The service will provide MCP protocol service through standard input/output.
Available Operations
Instance Information
Get detailed information about a specific instance, including:
- Basic instance details
- Configuration information
- Current status
- Resource allocation
Instance Status
Monitor the current operational status of any instance in real-time.
Instance Metrics
Access comprehensive monitoring metrics for instances, including:
- CPU utilization
- Disk I/O operations
- Network traffic statistics
- System performance data
Instance List
View a complete list of all available instances in your account, including their basic information and current status.
Monitoring Metrics
The system provides the following monitoring metrics:
-
CPU Metrics
- CPUUtilization: CPU usage percentage (%)
-
Disk Metrics
- IORead: Disk read rate
- IOWrite: Disk write rate
- DiskReadOps: Number of disk read operations
- DiskWriteOps: Number of disk write operations
-
Network Metrics
- NICIn: Network inbound traffic (bytes/s)
- NICOut: Network outbound traffic (bytes/s)
- NetPacketIn: Number of inbound network packets
- NetPacketOut: Number of outbound network packets
Important Notes
- Keep your UCloud API credentials secure
- Use configuration files or key management services for sensitive information in production environments
- All operations are performed through the MCP protocol with standard I/O support
- Monitoring data may have a few minutes delay
- Regularly check monitoring metrics to identify potential issues early