MCP server enabling LLM apps to list, get, and apply Kubernetes resources via direct API integration.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.
One-click editor setup isn’t available for this listing yet — we don’t have a confirmed install command, and we’d rather show nothing than point your editor at the wrong package or host. Follow the project’s own setup instructions, linked above.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Mkp.
groupAPI group (e.g., apps, networking.k8s.io)
namespaceNamespace (required for namespaced resources)
subresourceSubresource to get (e.g., status, scale, logs)
parametersOptional parameters for the request (see examples below)
containerSpecify which container to get logs from
previousGet logs from previous container instance (true/false)
MKP is a Model Context Protocol (MCP) server for Kubernetes that allows LLM-powered applications to interact with Kubernetes clusters. It provides tools for listing and applying Kubernetes resources through the MCP protocol.
MKP offers several key advantages as a Model Context Protocol server for Kubernetes:
Clone the repository:
Install dependencies:
Build the server:
To run the server with the default kubeconfig:
To run the server with a specific kubeconfig:
To run the server on a specific port:
MKP can be run as a Model Context Protocol (MCP) server using ToolHive, which simplifies the deployment and management of MCP servers.
See the ToolHive documentation for detailed instructions on how to set up MKP with the ToolHive UI, CLI, or Kubernetes operator.
The MKP server provides the following MCP tools:
Get a Kubernetes resource or its subresource.
Parameters:
resource_type (required): Type of resource to get (clustered or namespaced)group: API group (e.g., apps, networking.k8s.io)version (required): API version (e.g., v1, v1beta1)resource (required): Resource name (e.g., deployments, services)namespace: Namespace (required for namespaced resources)name (required): Name of the resource to getsubresource: Subresource to get (e.g., status, scale, logs)parameters: Optional parameters for the request (see examples below)Example:
Example of getting logs from a specific container with parameters:
Available parameters for pod logs:
container: Specify which container to get logs fromprevious: Get logs from previous container instance (true/false)sinceSeconds: Only return logs newer than a relative duration in secondssinceTime: Only return logs after a specific time (RFC3339 format)timestamps: Include timestamps on each line (true/false)limitBytes: Maximum number of bytes to returntailLines: Number of lines to return from the end of the logsBy default, pod logs are limited to the last 100 lines and 32KB to avoid overwhelming the LLM's context window. These defaults can be overridden using the parameters above.
Available parameters for regular resources:
resourceVersion: When specified, shows the resource at that particular
versionLists Kubernetes resources of a specific type.
Parameters:
resource_type (required): Type of resource to list (clustered or namespaced)group: API group (e.g., apps, networking.k8s.io)version (required): API version (e.g., v1, v1beta1)resource (required): Resource name (e.g., deployments, services)namespace: Namespace (required for namespaced resources)label_selector: Kubernetes label selector for filtering resources (optional)include_annotations: Whether to include annotations in the output (default:
true)exclude_annotation_keys: List of annotation keys to exclude from output
(supports wildcards with *)include_annotation_keys: List of annotation keys to include in output (if
specified, only these are included)The list_resources tool provides powerful annotation filtering capabilities to
control metadata output size and prevent truncation issues with large
annotations (such as GPU node annotations).
Basic Usage:
Exclude specific annotations (useful for GPU nodes):
Include only specific annotations:
Disable annotations completely for maximum performance:
Annotation Filtering Rules:
kubectl.kubernetes.io/last-applied-configuration is excluded to
prevent large configuration dataexclude_annotation_keys supports wildcard patterns using * (e.g.,
nvidia.com/* excludes all NVIDIA annotations)include_annotation_keys is specified, it takes precedence and only
those annotations are includedinclude_annotations: false completely removes all annotations from
the output* at the end of the key (e.g.,
nvidia.com/*)Applies (creates or updates) a Kubernetes resource.
Parameters:
resource_type (required): Type of resource to apply (clustered or
namespaced)group: API group (e.g., apps, networking.k8s.io)version (required): API version (e.g., v1, v1beta1)resource (required): Resource name (e.g., deployments, services)namespace: Namespace (required for namespaced resources)manifest (required): Resource manifestExample:
Posts to a Kubernetes resource or its subresource, particularly useful for executing commands in pods.
Parameters:
Factual signals from GitHub, npm, and our automated checks — not a rating.
No reviews yet — be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/stackloklabs-mkp)<a href="https://allmcps.com/mcp/stackloklabs-mkp"><img src="https://allmcps.com/api/badge/stackloklabs-mkp?style=directory" alt="Mkp on AllMCPs" /></a>