YuniKorn MCP Server
Provides tools for querying partitions, queues, applications, nodes, user usage, and scheduler health of an Apache YuniKorn scheduler instance.
Allows AI agents to observe and reason about Kubernetes batch workload resource management, queue hierarchies, and application states through the YuniKorn scheduler.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@YuniKorn MCP Servershow queues in default partition"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
YuniKorn MCP Server
A Model Context Protocol (MCP) server that interfaces with the Apache YuniKorn Scheduler, allowing AI agents to observe and reason about Kubernetes batch workload resource management, queue hierarchies, and application states.
Screenshots
Inspecting Yunikorn tools using MCP inspector

Querying the Yunikorn scheduler via MCP using Opencode

Related MCP server: Kubectl MCP Tool
Features
7 MCP Tools: Query partitions, queues, applications, nodes, user usage, and scheduler health
2 MCP Resources: Static data access for partitions list and node utilization
Async HTTP: Non-blocking API calls using
httpxProper Error Mapping: YuniKorn HTTP errors mapped to standard MCP error responses
Resource Awareness: Handles YuniKorn's raw bytes and millicore values
CORS Enabled: Allows connections from any origin for browser-based MCP Inspector
Streamable HTTP: Default transport with stdio fallback for IDE integration
Installation
uv pip install -r requirements.txtIf you are using a virtual environment, make sure it is activated first:
source .venv/bin/activate
uv pip install -r requirements.txtUsage
Running the Server
The default transport is Streamable HTTP on port 8000:
Run locally
uv run python -m mainRun with Docker
docker run -p 8000:8000 -e YUNIKORN_BASE_URL="http://<REPLACE_ME>/ws/v1" docker.io/frenoid/yunikorn-mcp-server:latestCommand line options
Option | Description | Default |
| Transport protocol ( |
|
| Host to bind (HTTP transport only) |
|
| Port to listen on (HTTP transport only) |
|
| Logging level |
|
Examples:
# Streamable HTTP on custom port
uv run python -m main --transport streamable-http --host 127.0.0.1 --port 8080
# Stdio mode for Claude Code / IDE integration
uv run python -m main --transport stdioEnvironment Variables
Variable | Description | Default |
| Base URL of the YuniKorn REST API |
|
| Disable HTTPS certificate verification ( |
|
# Connect to a remote YuniKorn instance
YUNIKORN_BASE_URL=http://yunikorn.example.com:9089/ws/v1/ uv run python -m main
# Connect to an HTTPS endpoint with a self-signed certificate
YUNIKORN_BASE_URL=https://yunikorn.example.com:9089/ws/v1/ TLS_INSECURE=true uv run python -m mainConnecting with MCP Inspector
The Streamable HTTP endpoint is exposed at the /mcp path:
http://localhost:8000/mcpTesting
Run the test suite against a live YuniKorn instance:
YUNIKORN_BASE_URL=http://your-yunikorn-host:9089/ws/v1/ uv run python test_server.pyTo run a quick compliance check:
YUNIKORN_BASE_URL=http://your-yunikorn-host:9089/ws/v1/ uv run python test_updated_server.pyData Format Notes
Memory: Represented in raw bytes (64-bit signed integers).
CPU (vcore): Represented in millicores (thousandths of a core, i.e. 1000m = 1 core).
Other resources: No specific unit assigned.
Active applications: The virtual "active" state represents New, Accepted, Running, Completing, and Failing statuses.
allocationID vs uuid:
uuidis deprecated.allocationIDcontains the same base value asuuidwith a hyphen-counter suffix (e.g.,-0,-1).allocationDelay: The difference between
allocationTimeandrequestTimefor an allocation.
API Conformance
This MCP server conforms to the Apache YuniKorn Scheduler REST API (v1.8.0). Each tool maps directly to a documented endpoint.
Tool | YuniKorn Endpoint |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Resources:
Resource | YuniKorn Endpoint |
|
|
|
|
Error Mapping
YuniKorn HTTP Code | MCP Error |
|
|
|
|
|
|
Available Tools
7 toolscheck_scheduler_healthA
Returns the health status of the scheduler, checking for critical logs and negative resource values. IMPORTANT: resource values are raw integers (bytes for memory, millicores for CPU). Convert these to human-readable formats (e.g., GiB or Cores) before presenting to the user.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It discloses that the tool checks for critical logs and negative resource values, and importantly warns that resource values are raw integers (bytes/millicores) and should be converted. This adds meaningful behavioral context beyond a simple 'get health' statement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main purpose, and the second sentence provides a critical unit-conversion warning. Every word earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and the output schema exists to describe return values, the description is sufficient: it states the purpose, what is checked, and a key formatting caveat. This is complete for a simple health-check tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. There is no parameter information needed, and the description appropriately adds no irrelevant parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns scheduler health status and specifies what it checks (critical logs and negative resource values). This distinguishes it from sibling tools that focus on partitions, applications, and nodes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The note about raw integers is about interpreting output, not about tool selection, so it does not address usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_applications_by_stateA
Retrieves applications filtered by their current lifecycle state (active, rejected, or completed). Active is a virtual state representing New, Accepted, Running, Completing, or Failing apps. When state is 'active', you can optionally set status to new, accepted, running, completing, or failing (case-insensitive) to narrow results. Defaults to running if not specified. IMPORTANT: resource values are raw integers (bytes for memory, millicores for CPU). Convert these to human-readable formats (e.g., GiB or Cores) before presenting to the user.
| Name | Required | Description | Default |
|---|---|---|---|
| state | Yes | ||
| status | No | ||
| partitionName | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It discloses the virtual state mapping (active includes New, Accepted, Running, Completing, Failing), the default status (running), and importantly warns that resource values are raw integers (bytes/millicores) and need conversion. This is valuable beyond the schema, though it omits details like pagination or error cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the core purpose, and every sentence adds essential information (purpose, virtual state/status nuance, and unit conversion warning). No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema, so return value structure need not be in the description. The description covers the core lifecycle state filtering, the status sub-filter, and the critical unit conversion, making it mostly complete. Minor gaps include not explaining partitionName and not addressing potential large result sets or ordering.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It clearly explains the 'state' values, the 'status' options for active state, and the default status, but it does not explain 'partitionName' at all, which is a required parameter. This is a significant gap for a parameter that must be provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Retrieves applications filtered by their current lifecycle state', which is a specific verb+resource+scope. It clearly distinguishes this tool from sibling tools (get_partitions, inspect_application, etc.) by focusing on applications by state, and enumerates the exact states (active, rejected, completed) and the virtual state composition.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use the tool (to retrieve applications by lifecycle state) and explains the optional status narrowing for the active state, but it does not explicitly mention alternatives or when not to use it. It gives context but no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_node_detailsA
Fetches all nodes or a specific node managed by YuniKorn, including capacity and utilization percentages. IMPORTANT: resource values are raw integers (bytes for memory, millicores for CPU). Convert these to human-readable formats (e.g., GiB or Cores) before presenting to the user.
| Name | Required | Description | Default |
|---|---|---|---|
| nodeId | No | ||
| partitionName | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It adds valuable context about raw integer units (bytes, millicores) and the need to convert them, which is beyond what the schema provides. However, it omits error cases, pagination, and permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: a clear purpose statement plus an important note about value formatting. No filler, front-loaded, and every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a simple parameter set and an output schema, so the description doesn't need to detail return structure. However, it lacks explicit usage guidance and leaves partitionName semantics unclear. The raw integer note adds useful context, making the description adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description partially explains that nodeId is optional ('all nodes or a specific node') and clarifies output unit semantics. It does not explicitly explain partitionName, which is required and left undocumented by the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches nodes (all or specific) managed by YuniKorn, including capacity and utilization. This distinguishes it from sibling tools like get_partitions or get_applications_by_state, which target different resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (when node-level resource details are needed) but does not explicitly compare with alternatives or state exclusions. No direct guidance is provided about when other tools would be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_partition_queuesA
Fetches the full queue hierarchy for a specific partition. Includes maxResource, guaranteedResource, and pendingResource for each queue. IMPORTANT: resource values are raw integers (bytes for memory, millicores for CPU). Convert these to human-readable formats (e.g., GiB or Cores) before presenting to the user.
| Name | Required | Description | Default |
|---|---|---|---|
| partitionName | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the full burden. It adds key behavioral insight by stating that resource values are raw integers (bytes for memory, millicores for CPU) and that they must be converted to human-readable formats before presentation. It also discloses exactly which resource fields are included.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded: two sentences pack the purpose, included fields, and an important conversion caveat with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one required parameter) and the presence of an output schema, the description sufficiently covers what the tool does, key return fields, and a critical usage caveat. Minor aspects like exact hierarchy format are left unspecified, but overall it is complete enough for a reliable agent to use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides no descriptions (0% coverage), so the description must compensate. It identifies that the partitionName parameter refers to 'a specific partition,' but it does not elaborate on the parameter's format, possible values, or how to derive them. The contribution is minimal but non-zero.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Fetches the full queue hierarchy for a specific partition.' This specifies the resource (queue hierarchy) and the scope (partition), distinguishing it from sibling tools like get_partitions or get_applications_by_state.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description effectively conveys when to use this tool: when needing queue hierarchy and resource details for a specific partition. It does not explicitly mention alternatives or exclusions, but the context is strong enough to guide selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_partitionsA
Retrieves general information and statistics for all partitions in the cluster. Useful for seeing total cluster capacity, used capacity, and node counts. IMPORTANT: resource values (memory, cpu) are returned as raw integers (bytes for memory, millicores for CPU). Convert these to human-readable formats (e.g., GiB or Cores) before presenting to the user.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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 discloses a key behavioral trait: resource values are returned as raw integers (bytes/millicores) and must be converted to human-readable formats. This is valuable beyond the basic read operation implied by 'Retrieves.' It does not mention permissions or side effects, but for a read-only tool the provided detail is substantial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the purpose and followed by the critical unit-conversion note. Every sentence earns its place with no redundant wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters, an output schema exists, and sibling tools give surrounding context, the description is sufficiently complete. It covers what the tool returns, its scope, and an essential caveat about raw units, so the agent has enough information to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, which yields a baseline of 4. The description adds no parameter-specific information because none exist, but it does clarify that the tool covers 'all partitions' and the type of data retrieved, which still aids understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Retrieves') and resource ('partitions in the cluster'), and clarifies the scope ('all partitions'). It also lists the kind of information (total cluster capacity, used capacity, node counts), which distinguishes it from sibling tools like get_partition_queues that focus on queues rather than partitions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use the tool: 'Useful for seeing total cluster capacity, used capacity, and node counts.' It implies the tool is for cluster-level statistics but does not explicitly mention alternatives or when not to use it, so it just misses the top score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_user_usageA
Retrieves resource usage and quota information for all users or a specific user. IMPORTANT: resource values are raw integers (bytes for memory, millicores for CPU). Convert these to human-readable formats (e.g., GiB or Cores) before presenting to the user.
| Name | Required | Description | Default |
|---|---|---|---|
| userName | No | ||
| partitionName | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It prominently discloses that resource values are raw integers (bytes, millicores) and instructs conversion, which is critical for correct interpretation of results. This goes beyond simple read-only intent, though it omits details like error conditions or permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, each earns its place. The first states the tool's purpose, and the second delivers a high-value conversion warning. No filler or redundant repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema covers return structure, and the description supplies the missing unit semantics. For a simple read-only usage tool, this is sufficient context; the only gap is the lack of explicit usage guidance, already scored separately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so description must compensate. It clarifies that the optional userName parameter can target a specific user or omit to get all users, which maps directly to the schema's default-null userName. However, it does not explain partitionName beyond the schema title, leaving partial ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses a specific verb ('Retrieves') and resource ('resource usage and quota information') with clear scope ('all users or a specific user'). This clearly distinguishes it from sibling tools focused on partitions, queues, applications, nodes, and health.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus siblings, no explicit exclusions, and no prerequisites are stated. The description implies a query tool but does not help the agent decide between it and related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_applicationA
Provides detailed metadata for a single application, including its allocation log and resource requests. Both uuid (deprecated) and allocationID fields may appear in allocations; allocationID contains the same base value as uuid plus a hyphen-counter suffix (e.g., -0, -1). Use allocationID to identify specific task allocations. IMPORTANT: resource values are raw integers (bytes for memory, millicores for CPU). Convert these to human-readable formats (e.g., GiB or Cores) before presenting to the user.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | ||
| partitionName | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral disclosure burden. It does well by explaining the uuid/allocationID relationship and the raw integer representation of resources, which are non-obvious and critical for correct interpretation. It does not mention side effects or auth, but this is clearly a read-only introspection tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured: it leads with the core purpose, then provides the essential field-variant note, and ends with a clear conversion warning. Every sentence adds value, and there is no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the description does not need to enumerate return fields. It covers the most crucial contextual quirks (allocation identifiers and unit conversions) that would trip up an agent. The only minor gap is not giving a hint about the partitionName parameter's role, but the name itself is fairly meaningful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides no parameter descriptions (0% coverage), and the tool description does not elaborate on `appId` or `partitionName`. While the names are self-explanatory, there is no guidance on how they relate to the returned metadata or any format expectations (e.g., is appId the UUID?). The description does not bridge the schema coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Provides detailed metadata for a single application, including its allocation log and resource requests.' This is a specific verb-resource pair and distinguishes from sibling tools that list or summarize many applications (e.g., get_applications_by_state).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the phrase 'for a single application'—it is the tool to call when deep metadata on one application is needed. However, there is no explicit when-to-use vs alternatives, no exclusions, and no mention of when not to use it.
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.
7 tool updates
v0.1.0- First observed
check_scheduler_health - First observed
get_applications_by_state - First observed
get_node_details - First observed
get_partition_queues - First observed
get_partitions - First observed
get_user_usage - First observed
inspect_application
TDQS
Scored across 7 tools
Each tool targets a distinct domain entity: partitions, partition queues, applications, individual application details, nodes, user usage, and scheduler health. There is no overlap in purpose, making selection unambiguous.
All tool names follow a clear verb_noun pattern (get_partitions, get_partition_queues, get_applications_by_state, inspect_application, get_node_details, get_user_usage, check_scheduler_health). The pattern is consistent and predictable.
With 7 tools, the server is well-scoped for its purpose of monitoring and querying a YuniKorn cluster. Each tool covers a necessary aspect without unnecessary bloat.
The tool set covers the core query surfaces: partitions, queues, applications, nodes, user usage, and health. Minor gaps exist (e.g., no scheduler configuration or historical metrics retrieval), but the primary workflows are fully supported.
Maintenance
Related MCP Connectors
MCP server for building and testing AI agents with multi-model experimentation and insights.
The Google GKE MCP server is a managed Model Context Protocol server that provides AI applications with tools to manage Google Kubernetes Engine (GKE) clusters and Kubernetes resources. It exposes a structured, discoverable interface that allows AI agents to interact with GKE and Kubernetes APIs, enabling them to inspect cluster configurations, retrieve Kubernetes resource YAMLs, monitor operations like cluster upgrades, diagnose issues, and optimize costs—all without needing to parse text output or use complex kubectl commands.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
MCP-Native LLM Orchestration Agent
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server that enables interaction with Kubernetes/Minikube clusters through natural language, allowing AI agents like Codename Goose to manage Kubernetes resources via the Model Context Protocol.2MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables AI assistants to interact with Kubernetes clusters through natural language, supporting core Kubernetes operations, monitoring, security, and diagnostics.108 npm956MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that allows AI agents to interact with Apache DolphinScheduler through a standardized protocol, enabling AI-driven workflow management.29Apache 2.0
- FlicenseNot gradedqualityDmaintenanceAn Model Context Protocol server that lets language models directly manage and visualize Kubernetes clusters through safe, high-level operational tools.1-