mcpField
A
Assisted Service MCP Server

Assisted Service MCP Server

Local
github.com/carboninCloud & Infra0Updated 70w ago

About Assisted Service MCP Server

Assisted Service MCP Server connects the OpenShift Assisted Installer API to MCP for users diagnosing cluster issues and managing installations. It supports STDIO and SSE, with tools for cluster and event lookup, configuration, and installation.

Key features

  1. 01List clusters and view details
  2. 02Create clusters and infraenvs
  3. 03Start cluster installations
  4. 04Query cluster and host events
  5. 05Configure VIPs and host roles
  6. 06List versions and add operator bundles

Use cases

  1. 01Investigate failed cluster installations
  2. 02Review cluster or host events
  3. 03Create and start an Assisted Installer cluster

MCP support

As an MCP server, it exposes tools for managing OpenShift Assisted Installer clusters, hosts, events, versions, and operator bundles. It supports STDIO and SSE transports.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

Assisted Service MCP Server

MCP server for interacting with the OpenShift assisted installer API.

Diagnose cluster failures and find out how to fix them.

Try it out:

  1. Clone the repo:
git clone [email protected]:carbonin/assisted-service-mcp.git
  1. Get your OpenShift API token from https://cloud.redhat.com/openshift/token

  2. The server is started and configured differently depending on what transport you want to use

For STDIO:

In VSCode for example:

   "mcp": {
        "servers": {
            "AssistedService": {
                "command": "uv",
                "args": [
                    "--directory",
                    "/path/to/assisted-service-mcp",
                    "run",
                    "mcp",
                    "run",
                    "/path/to/assisted-service-mcp/server.py"
                ],
                "env": {
                    "OFFLINE_TOKEN": <your token>
                }
            }
        }
    }

For SSE (recommended):

Start the server in a terminal:

OFFLINE_TOKEN=<your token> uv run server.py

Configure the server in the client:

    "assisted-sse": {
      "transport": "sse",
      "url": "http://localhost:8000/sse"
    }
Providing the Offline Token via Request Header

If you do not set the OFFLINE_TOKEN environment variable, you can provide the token as a request header. When configuring your MCP client, add the OCM-Offline-Token header:

    "assisted-sse": {
      "transport": "sse",
      "url": "http://localhost:8000/sse",
      "headers": {
        "OCM-Offline-Token": "<your token>"
      }
    }
  1. Ask about your clusters: Example prompt asking about a cluster

Available Tools

The MCP server provides the following tools for interacting with the OpenShift Assisted Installer:

Cluster Management
  • list_clusters - Lists all current user assisted installer clusters. Returns minimal cluster information.

  • cluster_info - Get detailed information about the assisted installer cluster with the given ID

    • cluster_id: Cluster ID (string, required)
  • create_cluster - Create a new assisted installer cluster and infraenv. Set single_node to true only for single node clusters or when high availability is not needed. Returns cluster ID and infraenv ID as JSON.

    • name: Cluster name (string, required)
    • version: OpenShift version (string, required)
    • base_domain: Base domain for the cluster (string, required)
    • single_node: Whether to create a single node cluster (boolean, required)
  • install_cluster - Trigger installation for the assisted installer cluster with the given ID

    • cluster_id: Cluster ID (string, required)
  • set_cluster_vips - Set the API and ingress virtual IP addresses (VIPs) for the cluster

    • cluster_id: Cluster ID (string, required)
    • api_vip: API virtual IP address (string, required)
    • ingress_vip: Ingress virtual IP address (string, required)
Events and Monitoring
  • cluster_events - Get the events related to a cluster with the given ID

    • cluster_id: Cluster ID (string, required)
  • host_events - Get the events related to a specific host within a cluster

    • cluster_id: Cluster ID (string, required)
    • host_id: Host ID (string, required)
Infrastructure Environment
  • infraenv_info - Get detailed information about the assisted installer infra env with the given ID. Contains data like ISO download URL and infra env metadata.
    • infraenv_id: Infrastructure environment ID (string, required)
Host Management
  • set_host_role - Update a host to a specific role. Role options are: 'auto-assign', 'master', 'arbiter', 'worker'
    • host_id: Host ID (string, required)
    • infraenv_id: Infrastructure environment ID (string, required)
    • role: Host role (string, required)
OpenShift Versions and Operators
  • list_versions - Lists the available OpenShift versions for installation with the assisted installer

  • list_operator_bundles - Lists the operator bundles that can be optionally added to a cluster during installation

  • add_operator_bundle_to_cluster - Request an operator bundle to be installed with the given cluster

    • cluster_id: Cluster ID (string, required)
    • bundle_name: Operator bundle name (string, required)
Usage Examples
  • List all clusters: "Show me all my clusters"
  • Get cluster details: "Give me detailed information about cluster abc123"
  • Create a cluster: "Create a new cluster named 'my-cluster' with OpenShift 4.14 and base domain 'example.com'"
  • Check cluster events: "What events happened on cluster abc123?"
  • Install a cluster: "Start the installation for cluster abc123"

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.