Get the FREE Ultimate OpenClaw Setup Guide →

controlplane

MCP Server providing various tools for working with a Control Plane

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio upbound-controlplane-mcp-server docker run -i image-name \
  --env MCP_SERVER_BASEURL="http://localhost:8080/mcp (adjust as needed)" \
  --env MCP_SERVER_LOG_LEVEL="info (or debug for verbose)"

How to use

The controlplane MCP server integrates with Crossplane’s Intelligent Function workflow to provide runtime access to Kubernetes events and pod logs. It exposes tools that a function can invoke to read pod events and logs, enabling analyses such as correlating container failures with events or tracing pod activity. The server’s tools are designed to be used by a function that communicates with the MCP API over the configured transport (for example, http-stream as shown in the example). You can deploy a function (e.g., function-claude) that uses the provided tools get_pod_logs and get_pod_events to retrieve runtime data from the Kubernetes cluster and feed it into your analytics or decision logic. The example demonstrates wiring a function to the MCP server by supplying the server’s base URL and transport method, ensuring the function can call the tools over the appropriate channel. The available tools allow you to read logs for a specific pod/container and to read events for a pod, which is helpful for debugging and for implementing intelligent behaviors based on cluster activity.

How to install

Prerequisites:

  • Docker or a container runtime installed on the host
  • Access to the container image registry containing the controlplane MCP server image
  • Optional: Kubernetes cluster if you plan to run against real pods

Install and run:

  1. Pull the MCP server image (adjust image-name to the actual image you intend to use): docker pull image-name

  2. Run the MCP server container in interactive mode: docker run -i
    -e MCP_SERVER_LOG_LEVEL=info
    -e MCP_SERVER_BASEURL=http://localhost:8080/mcp
    image-name

  3. Verify the server is reachable (adjust base URL as needed): curl http://localhost:8080/mcp/health

  4. If using with Crossplane Intelligent Functions, configure the function to point at the MCP server base URL and transport (for example http-stream) as shown in the example configuration.

Additional notes

Tips and considerations:

  • Ensure the function user/service account has the necessary Kubernetes permissions to read pods, pods/log, and events if you intend to fetch runtime data from a real cluster.
  • The example references baseURL http://localhost:8080/mcp and transport http-stream. Align these values with your deployment topology (e.g., use a reachable internal URL and the appropriate transport type).
  • If running in a Kubernetes cluster, prefer using the container image inside the cluster and expose the MCP server via a service or ingress as appropriate for your security model.
  • The Available Tools include get_pod_logs and get_pod_events. Use get_pod_logs to fetch logs for a specific pod/container in a namespace, and use get_pod_events to retrieve events for a given pod.
  • For debugging, enable debug mode in the server and check logs to diagnose transport or permissions issues.
  • If you modify RBAC permissions, ensure the function account retains only the minimal required privileges (read access to events, pods, and pods/log).
  • The server may expose additional endpoints or tools in newer versions; consult the project’s documentation for any new capabilities.

Related MCP Servers

Sponsor this space

Reach thousands of developers