MegaCloud MCP Server
Official# MegaCloud MCP Server
MCP Server for the MegaCloud API, enabling middleware management, information checking, and more.
### Features
- Host checking
- Middleware lifecycle (create, start, stop, restart, delete, add node, delete node)
- Status and configuration inspection
- Backups
- Node-level management
## Tools
Below is the list of your MCP tools converted into the requested format:
1. `list_available_hosts`
- List all available hosts that can be used to deploy middleware.
- Inputs: _None_
- Returns: List of host objects.
2. `list_middleware_types`
- List all middleware types.
- Inputs: _None_
- Returns: List of supported middleware‐type identifiers.
3. `list_middleware_instances`
- List all middleware instances that are currently deployed.
- Inputs: _None_
- Returns: List of middleware instance objects
4. `restart_middleware`
- Restart a middleware instance.
- Inputs:
- `middleware_instance_name` (string): Middleware Instance Name
- Returns: Operation result / status confirmation
5. `stop_middleware`
- Stop a middleware instance.
- Inputs:
- `middleware_instance_name` (string): Middleware Instance Name
- Returns: Operation result / status confirmation
6. `start_middleware`
- Start a middleware instance.
- Inputs:
- `middleware_instance_name` (string): Middleware Instance Name
- Returns: Operation result / status confirmation
7. `delete_middleware`
- Delete a middleware instance.
- Inputs:
- `middleware_instance_name` (string): Middleware Instance Name
- Returns: Operation result / deletion confirmation
8. `get_middleware_info`
- Get all information of a middleware instance, like configs, nodes, etc.
- Inputs:
- `middleware_instance_name` (string): Middleware Instance Name
- Returns: Detailed middleware-instance object
9. `get_middleware_status`
- Get the status of a middleware instance.
- Inputs:
- `middleware_instance_name` (string): Middleware Instance Name
- Returns: Status object (e.g. running/stopped + node list)
10. `backup_middleware`
- Backup a middleware instance.
- Inputs:
- `middleware_instance_name` (string): Middleware Instance Name
- Returns: Backup task details / confirmation
11. `list_middleware_instance_nodes`
- List all nodes of a middleware instance.
- Inputs:
- `middleware_instance_name` (string): Middleware Instance Name
- Returns: Array of node objects
12. `remove_middleware_instance_nodes`
- Remove nodes from a middleware instance.
- Inputs:
- `name` (string): Name of the middleware instance
- `node_names` (array[string]): Node Names to remove
- Returns: Operation result / updated node list
13. `create_single_redis_middleware`
- Create a single Redis instance.
- Inputs:
- `host_name` (string): Host Name (required)
- `max_memory_in_gb` (integer, default 4): Max Memory In GB
- `name` (string | null, default null): Instance Name (optional)
- Returns: Newly created middleware-instance object
14. `create_redis_cluster_middleware`
- Create a Redis Cluster middleware instance.
- Inputs:
- `name` (string | null, default null): Cluster Name (optional)
- `max_memory_in_gb` (integer, default 4): Max Memory In GB per node
- `master_host_names` (array[string]): Master Host Names (required)
- `replica_host_names` (array[string]): Replica Host Names (required)
- Returns: Newly created cluster-instance object
15. `add_redis_nodes`
- Add nodes to a Redis middleware instance.
- Inputs:
- `name` (string): Name of the Redis instance (required)
- `master_host_names` (array[string] | null, default null): New Master Hosts (optional)
- `replica_host_names` (array[string] | null, default null): New Replica Hosts (optional)
- Returns: Operation result / updated cluster topology
## Setup
### Obtain an Auth Token
Log in to the MegaCloud console, open your browser’s Network tab while loading any API call, and extract the `Authorization: Bearer <token>` header value.
### Install
Clone the repo:
```
git clone https://github.com/megaease/megacloud-mcp.git
```
Then run
```
pip install "mcp[cli]"
```
Remember to install `mcp` command globally for all users.
### VS Code Integration
#### Cline
Install the `Cline` for VS Code extension.
Set MegaCloud MCP server with following config:
```json
{
"mcpServers": {
"megacloud-mcp": {
"type": "stdio",
"command": "mcp",
"args": [
"run",
"<your-repo-dir>/megacloud-mcp/megacloud_mcp/__main__.py"
],
"env": {
"MEGACLOUD_AUTHTOKEN": "<your-auth-token>"
}
}
}
}
```
#### GitHub Copilot
```json
{
"mcp": {
"servers": {
"test-megacloud-mcp": {
"type": "stdio",
"command": "mcp",
"args": [
"run",
"<your-repo-dir>/megacloud-mcp/megacloud_mcp/__main__.py"
],
"env": {
"MEGACLOUD_AUTHTOKEN": "<your-auth-token>"
}
}
}
}
}
```
#### Run with Docker
Build the image:
```
docker build -t megaease/megacloud-mcp .
```
Settings:
```json
{
"megacloud-mcp": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"MEGACLOUD_AUTHTOKEN",
"megaease/megacloud-mcp"
],
"env": {
"MEGACLOUD_AUTHTOKEN": "<your-auth-token>"
}
}
}
```TDQS
Scored across 35 tools
Each tool targets a specific resource or metric, with no obvious overlaps. However, the high granularity (e.g., separate tools for each host metric) could lead to selection errors if an agent misidentifies the exact tool needed.
All tool names use a consistent verb_noun pattern in snake_case (e.g., list_host_cpu_monitor_data, create_single_redis_middleware). Naming is predictable and follows the same convention throughout.
With 35 tools, the server is overly granular. Many host monitor data tools could be parameterized into fewer tools. The count feels heavy for the apparent scope of middleware management and host monitoring.
The tool surface covers CRUD for middleware instances, alert rules, and comprehensive host monitoring. Minor gaps exist (e.g., no tool to update middleware configuration), but core workflows are well-covered.