https://github.com/megaease/megacloud-mcp
Model Context Protocol (MCP) Server for MegaCloud.
https://github.com/megaease/megacloud-mcp
Last synced: 3 months ago
JSON representation
Model Context Protocol (MCP) Server for MegaCloud.
- Host: GitHub
- URL: https://github.com/megaease/megacloud-mcp
- Owner: megaease
- License: apache-2.0
- Created: 2025-04-15T07:38:33.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-06-13T07:09:26.000Z (5 months ago)
- Last Synced: 2025-06-21T20:12:16.428Z (5 months ago)
- Language: Python
- Homepage: https://megaease.cn
- Size: 135 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-mcp-servers - **megacloud-mcp** - Model Context Protocol (MCP) Server for MegaCloud. `python` `mcp` `server` `pip install git+https://github.com/megaease/megacloud-mcp` (ð€ AI/ML)
- awesome-mcp-servers - **megacloud-mcp** - Model Context Protocol (MCP) Server for MegaCloud. `python` `mcp` `server` `pip install git+https://github.com/megaease/megacloud-mcp` (AI/ML)
README
# 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 ` 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",
"/megacloud-mcp/megacloud_mcp/__main__.py"
],
"env": {
"MEGACLOUD_AUTHTOKEN": ""
}
}
}
}
```
#### GitHub Copilot
```json
{
"mcp": {
"servers": {
"test-megacloud-mcp": {
"type": "stdio",
"command": "mcp",
"args": [
"run",
"/megacloud-mcp/megacloud_mcp/__main__.py"
],
"env": {
"MEGACLOUD_AUTHTOKEN": ""
}
}
}
}
}
```
#### 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": ""
}
}
}
```