Skip to main content
Glama
yanmxa

Multi-Cluster MCP Server

by yanmxa

멀티 클러스터 MCP 서버

멀티 클러스터 MCP 서버는 Generative AI(GenAI) 시스템이 모델 컨텍스트 프로토콜(MCP)을 통해 여러 쿠버네티스 클러스터와 상호 작용할 수 있는 강력한 게이트웨이를 제공합니다. 쿠버네티스 리소스에 대한 포괄적인 운영, 간소화된 멀티 클러스터 관리, 그리고 대화형 클러스터 관측 기능을 제공합니다.

🚀 특징

🛠️ MCP 도구 - 쿠버네티스 클러스터 인식

  • ✅ 허브 클러스터 에서 리소스 검색(현재 컨텍스트)

  • ✅ 관리되는 클러스터 에서 리소스 검색

  • ✅ 지정된 ClusterRole 사용하여 관리되는 클러스터 에 연결합니다.

  • ✅ 여러 Kubernetes 클러스터의 리소스에 액세스(Open Cluster Management를 통해)

  • ❌ 통합 클러스터에서 메트릭, 로그 및 알림을 검색하고 분석합니다.

  • ❌ 관리형 클러스터, 정책, 애드온 등을 포함한 다중 클러스터 API와 상호 작용합니다.

    대체 텍스트

    데모를 시청하세요

📦 오픈 클러스터 관리 (계획) 를 위한 프롬프트 템플릿

  • OCM 작업에 맞게 재사용 가능한 프롬프트 템플릿을 제공하여 에이전트 상호 작용 및 자동화를 간소화합니다.

📚 오픈 클러스터 관리 (계획) 를 위한 MCP 리소스

  • 개발 및 통합을 지원하기 위해 공식 OCM 문서 및 관련 리소스를 참조하세요.

📌 사용 방법

  • MCP Inspector와 함께 사용

지엑스피1

다음 스니펫을 사용하여 서버를 구성하세요.

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

참고: kubectl 설치되어 있는지 확인하세요. 기본적으로 이 도구는 KUBECONFIG 환경 변수를 사용하여 클러스터에 액세스합니다. 다중 클러스터 설정에서는 구성된 클러스터를 허브 클러스터 로 간주하여 다른 클러스터에 액세스합니다.

Related MCP server: kube-mcp

특허

이 프로젝트는 MIT 라이선스 에 따라 라이선스가 부여되었습니다.

Available Tools

4 tools
clustersB

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

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).

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'.

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.

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.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updatesv1.0.0
    • First observedclusters
    • First observedconnect_cluster
    • First observedkube_executor
    • First observedprometheus

TDQS

B3.3/5.0

Scored across 4 tools

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
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    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.
    456 npm
    965
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that lets AI assistants query multiple Kubernetes clusters simultaneously using natural language.
    3
    MIT
  • A
    license
    A
    quality
    D
    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