Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Controlplane

FreeNot checked

MCP Server providing various tools for working with a Control Plane

GitHubEmbed

About

MCP Server providing various tools for working with a Control Plane

README

CI Slack GitHub release

Features

  • Read Events: Look up events corresponding to the supplied pod.
  • Read Pod Logs: Look up logs corresponding to the supplied pod.

Example Usage with Intelligent Function

apiVersion: pkg.crossplane.io/v1beta1
kind: DeploymentRuntimeConfig
metadata:
  name: ctp-mcp
spec:
  serviceAccountTemplate:
    metadata:
      # We need to provide additional permissions to the function. In order to
      # do that we create a deterministic ServiceAccount name.
      name: function-pod-analyzer
  deploymentTemplate:
    spec:
      selector: {}
      template:
        spec:
          containers:
          - name: package-runtime
            args:
            - --debug
            # Fine for local development (using crossplane render). Not fine
            # when integrated with Crossplane.
            # - --insecure
            env:
            # Inform the function of the CTP1 MCP Server.
            # transport: http-stream indicates that we'll communicate with the
            # MCP server over StreamableHTTP.
            - name: MCP_SERVER_TOOL_CTP1_TRANSPORT
              value: http-stream
            # baseURL indicates which address and endpoint to reach out to for
            # tooling.
            - name: MCP_SERVER_TOOL_CTP1_BASEURL
              value: http://localhost:8080/mcp
          - name: controlplane-mcp-server
            image: xpkg.upbound.io/upbound/controlplane-mcp-server:v0.1.0
            args:
            - --debug

Required Permissions for the function:

---
# log-and-event-reader provides sufficient yet narrow scoped permissions for
# reading pod logs and events related to the pod.
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: log-and-event-reader
rules:
# controlplane-mcp-server needs get/list on pods, pods/log, and events
# in order to retrieve information for analysis.
- apiGroups:
  - ""
  resources:
  - events
  - pods
  - pods/log
  verbs:
  - get
  - list
---
# Bind the above ClusterRole to the function's service account.
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: log-and-event-reader
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: log-and-event-reader
subjects:
- kind: ServiceAccount
  name: function-pod-analyzer
  namespace: crossplane-system

Function Spec:

---
apiVersion: pkg.crossplane.io/v1beta1
kind: Function
metadata:
  name: function-claude
spec:
  package: xpkg.upbound.io/upbound/function-claude:v0.1.0
  runtimeConfigRef:
    name: ctp-mcp

Available Tools

  1. get_pod_logs

Read the logs of the given container of the given Kubernetes pod in the given namespace.

Parameters:

  • namespace (string, required): The Kubernetes namespace of the pod
  • pod (string, required): The name of the Kubernetes pod
  • container (string): The name of the container of the pod whose logs are being read
  1. get_pod_events

Read the events of the given Kubernetes pod in the given namespace.

Parameters:

  • namespace (string, required): The Kubernetes namespace of the pod
  • pod (string, required): The name of the Kubernetes pod
  • container (string): The name of the container of the pod whose logs are being read

from github.com/upbound/controlplane-mcp-server

Installing Controlplane

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/upbound/controlplane-mcp-server

FAQ

Is Controlplane MCP free?

Yes, Controlplane MCP is free — one-click install via Unyly at no cost.

Does Controlplane need an API key?

No, Controlplane runs without API keys or environment variables.

Is Controlplane hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Controlplane in Claude Desktop, Claude Code or Cursor?

Open Controlplane on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Controlplane with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All ai MCPs