Skip to main content
Glama
yanmxa

Multi-Cluster MCP Server

by yanmxa

Open Cluster Management MCP Server

The OCM MCP Server provides a robust gateway for Generative AI (GenAI) systems to interact with multiple Kubernetes clusters through the Model Context Protocol (MCP). It facilitates comprehensive operations on Kubernetes resources, streamlined multi-cluster management, and delivered interactive cluster observability.

πŸš€ Features

πŸ› οΈ MCP Tools - Kubernetes Cluster Awareness

  • βœ… Retrieve resources from the hub cluster (current context)

  • βœ… Retrieve resources from the managed clusters

  • βœ… Connect to a managed cluster using a specified ClusterRole

  • βœ… Access resources across multiple Kubernetes clusters(via Open Cluster Management)

  • πŸ”„ Retrieve and analyze metrics, logs, and alerts from integrated clusters

  • ❌ Interact with multi-cluster APIs, including Managed Clusters, Policies, Add-ons, and more

    alt text

    Watch the demo

πŸ“¦ Prompt Templates for Open Cluster Management (Planning)

  • Provide reusable prompt templates tailored for OCM tasks, streamlining agent interaction and automation

πŸ“š MCP Resources for Open Cluster Management (Planning)

  • Reference official OCM documentation and related resources to support development and integration

πŸ“Œ How to Use

Configure the server using the following snippet:

{
  "mcpServers": {
    "multicluster-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "multicluster-mcp-server@latest"
      ]
    }
  }
}

Note: Ensure kubectl is installed. By default, the tool uses the KUBECONFIG environment variable to access the cluster. In a multi-cluster setup, it treats the configured cluster as the hub cluster, accessing others through it.

Related MCP server: kube-mcp

License

This project is licensed under the MIT License.

Available Tools

4 tools
clustersB

Retrieves a list of Kubernetes clusters (also known as managed clusters or spoke clusters).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states 'retrieves a list' which implies a read-only operation, but doesn't cover aspects like pagination, rate limits, authentication needs, or what happens if no clusters exist. This leaves significant gaps for an agent to understand how to interact with it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose ('retrieves a list of Kubernetes clusters') and adds clarifying context without redundancy. Every word earns its place, making it highly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is adequate but incomplete. It explains what the tool does but lacks behavioral details (e.g., response format, error handling) that would help an agent use it effectively, especially with no output schema to clarify returns.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter details, which is appropriate here. Baseline is 4 for zero parameters, as the schema fully covers the absence of inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('retrieves') and resource ('list of Kubernetes clusters'), with additional clarifying synonyms ('managed clusters or spoke clusters'). It doesn't distinguish from sibling tools like 'connect_cluster' or 'kube_executor', but the purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like 'connect_cluster' or 'kube_executor'. The description implies a read-only listing operation but doesn't specify prerequisites, contexts, or exclusions for usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

connect_clusterC

Generates the 'KUBECONFIG' for the managed cluster and binds it to the specified ClusterRole (default: cluster-admin).

ParametersJSON Schema
NameRequiredDescriptionDefault
clusterYesThe target cluster where the ServiceAccount will be created for the KUBECONFIG.
cluster_roleNoThe ClusterRole defining permissions to access the cluster.cluster-admin

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions generating and binding actions but lacks critical details: whether this creates resources (e.g., ServiceAccount), requires specific permissions, has side effects, or what the output entails. For a tool that likely involves cluster access configuration, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core action. Every word contributes directly to explaining the tool's function without redundancy or unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of cluster management tools, no annotations, and no output schema, the description is insufficient. It doesn't cover what the generated KUBECONFIG contains, how it's returned, security implications, or error conditions. For a tool with potential high-impact operations, more context is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters thoroughly. The description adds minimal value beyond the schema: it implies the 'cluster_role' parameter defaults to 'cluster-admin', which is already in the schema's default field. No additional semantic context is provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generates the KUBECONFIG for the managed cluster and binds it to the specified ClusterRole.' It specifies the verb (generates), resource (KUBECONFIG), and scope (managed cluster), though it doesn't explicitly differentiate from sibling tools like 'clusters' or 'kube_executor'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'clusters' or 'kube_executor'. It mentions a default ClusterRole but doesn't explain prerequisites, when-not-to-use scenarios, or how it relates to other tools in the context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kube_executorB

Securely run a kubectl command or apply YAML. Provide either 'command' or 'yaml'.

ParametersJSON Schema
NameRequiredDescriptionDefault
clusterNoThe cluster name in a multi-cluster environment. Defaults to the hub cluster.default
commandNoThe full kubectl command to execute. Must start with 'kubectl'.
yamlNoYAML configuration to apply, provided as a string.

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'Securely run,' which hints at safety but doesn't detail what that entails (e.g., authentication needs, rate limits, or potential destructive effects). For a tool that executes kubectl commands (which can be highly destructive), this lack of behavioral context is a significant gap, as it doesn't warn about risks like modifying or deleting resources.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise and front-loaded: two sentences that directly state the purpose and key usage rule. There is no wasted language, and every sentence earns its place by providing essential information without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of executing kubectl commands (which can have significant side effects) and the lack of annotations and output schema, the description is incomplete. It doesn't cover behavioral risks, response formats, or error handling. For a tool with no structured safety hints, this minimal description leaves critical gaps in understanding how to use it safely and effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all three parameters ('cluster', 'command', 'yaml') with details like defaults and constraints. The description adds minimal value beyond the schema by noting the exclusive choice between 'command' or 'yaml', but it doesn't provide additional semantics (e.g., examples or edge cases). This meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Securely run a kubectl command or apply YAML.' It specifies the verb ('run'/'apply') and resource ('kubectl command'/'YAML'), making it easy to understand what the tool does. However, it doesn't explicitly differentiate from sibling tools like 'clusters' or 'connect_cluster', which likely serve different purposes in Kubernetes management.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides some usage guidance: 'Provide either 'command' or 'yaml',' indicating an exclusive choice between parameters. However, it doesn't explain when to use this tool versus alternatives like 'clusters' (which might list clusters) or 'prometheus' (which might handle monitoring). No explicit when-not-to-use or prerequisite information is given, leaving usage context implied rather than fully clarified.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

prometheusB

Query Prometheus metrics from a specific cluster and format the results for Recharts visualization.

ParametersJSON Schema
NameRequiredDescriptionDefault
clusterNoThe target cluster name. Defaults to the hub cluster.
data_typeNoType of query: 'snapshot' for instant or 'range' for time-series.snapshot
endNo(Only for data_type='range') End time in ISO 8601 format. Defaults to now if not provided.
group_byNoLabel to group results by, such as 'pod' or 'namespace'.pod
qlYesThe PromQL query string to run against the Prometheus server.
startNo(Only for data_type='range') Start time in ISO 8601 format, e.g., '2025-06-06T00:00:00Z'.
stepNo(Only for data_type='range') Query resolution step (e.g., '30s', '5m', '1h').5m
unitNoThe desired output unit: 'auto', 'bytes', 'MiB', 'GiB', 'cores', or 'millicores'.auto

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. While it mentions formatting for Recharts visualization, it doesn't describe authentication requirements, rate limits, error handling, or what happens when queries return no data. For a complex query tool with 8 parameters, this leaves significant behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that communicates the core purpose without unnecessary words. It's appropriately sized for the tool's complexity, though it could potentially benefit from slightly more detail given the lack of annotations and output schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex query tool with 8 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what the formatted output looks like, how errors are handled, or provide any behavioral context beyond the basic purpose. The agent would need to guess about many important aspects of tool behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, providing comprehensive parameter documentation. The description adds minimal value beyond the schema, only implying that results are formatted for visualization. It doesn't explain parameter interactions or provide additional context beyond what's already in the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Query Prometheus metrics'), target ('from a specific cluster'), and purpose ('format the results for Recharts visualization'). It distinguishes itself from sibling tools like 'clusters' and 'connect_cluster' by focusing specifically on Prometheus metric querying rather than cluster management or connection operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context through 'format the results for Recharts visualization,' suggesting this tool is for visualization preparation. However, it doesn't explicitly state when to use this tool versus alternatives or provide any exclusion criteria. The guidance is implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

B3.3/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose with no overlap: clusters lists clusters, connect_cluster generates access credentials, kube_executor runs kubectl commands, and prometheus queries metrics. The descriptions clearly differentiate their functions, eliminating any ambiguity for an agent.

Naming Consistency3/5

The naming is mixed with no consistent pattern: clusters is a noun, connect_cluster uses verb_noun, kube_executor uses a compound noun, and prometheus is a proper noun. While readable, the lack of a uniform convention (e.g., all verb_noun or all nouns) reduces predictability.

Tool Count4/5

With 4 tools, the count is slightly low but reasonable for a multi-cluster Kubernetes management server. It covers core operations like listing clusters, accessing them, executing commands, and monitoring metrics, though it could benefit from additional tools for more comprehensive management.

Completeness3/5

The toolset covers key areas (discovery, access, execution, monitoring) but has notable gaps for a multi-cluster domain, such as creating/deleting clusters, managing resources across clusters, or handling configurations. Agents can work around this for basic tasks, but advanced operations may be limited.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that enables AI assistants to interact with Kubernetes clusters through natural language, supporting core Kubernetes operations, monitoring, security, and diagnostics.
    94
    956
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    A Model Context Protocol server that lets AI assistants query multiple Kubernetes clusters simultaneously using natural language.
    3
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Exposes a Kubernetes cluster to MCP-compatible AI clients, enabling read-only and optional write operations on cluster resources like pods, deployments, and namespaces through natural language.
    9
    1
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/yanmxa/multicluster-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server