Skip to content

megaease/megacloud-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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:

{
  "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

{
    "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:

{
    "megacloud-mcp": {
        "type": "stdio",
        "command": "docker",
        "args": [
            "run",
            "-i", 
            "--rm",
            "-e",
            "MEGACLOUD_AUTHTOKEN",
            "megaease/megacloud-mcp"
        ],
        "env": {
            "MEGACLOUD_AUTHTOKEN": "<your-auth-token>"
        }
    }
}

About

Model Context Protocol (MCP) Server for MegaCloud.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published