capi-mcp

jsell-rh/capi-mcp

3.3

If you are the rightful owner of capi-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

A production-grade Model Context Protocol (MCP) server for the Kubernetes Cluster API (CAPI), enabling AI agents to manage Kubernetes clusters through a secure, standardized interface.

Tools
  1. list_clusters

    List all managed workload clusters

  2. get_cluster

    Get detailed information for a specific cluster

  3. create_cluster

    Create a new workload cluster from templates

  4. delete_cluster

    Delete a workload cluster

  5. scale_cluster

    Scale worker nodes in a cluster

  6. get_cluster_kubeconfig

    Retrieve cluster access credentials

  7. get_cluster_nodes

    List nodes within a cluster

CAPI MCP Server

A production-grade Model Context Protocol (MCP) server for the Kubernetes Cluster API (CAPI), enabling AI agents to manage Kubernetes clusters through a secure, standardized interface.

AI Development Disclaimer

āš ļø Important: This repository was primarily created by Claude Code, Anthropic's AI assistant, working in collaboration with a human developer. The code, documentation, tests, and overall architecture were generated through AI-assisted development sessions.

While the code follows industry best practices and includes comprehensive testing, users should:

  • Review all code before deploying to production environments
  • Understand the security implications of the implementation
  • Validate the code meets their specific requirements and compliance standards
  • Consider the experimental nature of AI-generated code in critical systems

Overview

The CAPI MCP Server acts as a bridge between AI agents (MCP clients) and CAPI management clusters. It provides a set of tools that abstract the complexity of CAPI into simple, reliable operations for cluster lifecycle management.

Features

V1.0 Scope

  • Infrastructure Provider: AWS (via Cluster API Provider for AWS - CAPA)
  • Core Tools:
    • list_clusters - List all managed workload clusters
    • get_cluster - Get detailed information for a specific cluster
    • create_cluster - Create a new workload cluster from templates
    • delete_cluster - Delete a workload cluster
    • scale_cluster - Scale worker nodes in a cluster
    • get_cluster_kubeconfig - Retrieve cluster access credentials
    • get_cluster_nodes - List nodes within a cluster
  • Security: API key authentication, RBAC, secrets management
  • Observability: Structured logging, Prometheus metrics

Architecture

The server follows a modular, extensible design:

  • Proxy/Gateway Pattern for bridging MCP and CAPI
  • Provider Interface for future multi-cloud support
  • Asynchronous handling of long-running CAPI operations
  • Security-first approach with least-privilege access

See for detailed design documentation.

Development

Prerequisites

  • Go 1.24.x
  • Docker & Docker Compose
  • kubectl
  • kind (for local testing)
  • golangci-lint

Quick Start

# Clone the repository
git clone https://github.com/capi-mcp/capi-mcp-server.git
cd capi-mcp-server

# Install dependencies
make deps

# Install development tools
make tools

# Run tests
make test

# Build the server
make build

# Run locally (requires API_KEY env var)
API_KEY=your-key make run

Project Structure

/capi-mcp-server
ā”œā”€ā”€ /api/v1           # MCP tool/resource schemas
ā”œā”€ā”€ /cmd/server       # Application entry point
ā”œā”€ā”€ /internal         # Private application code
│   ā”œā”€ā”€ /server       # MCP server engine
│   ā”œā”€ā”€ /service      # Business logic
│   ā”œā”€ā”€ /kube         # CAPI client wrapper
│   └── /config       # Configuration
ā”œā”€ā”€ /pkg              # Public libraries
│   ā”œā”€ā”€ /provider     # Provider interface
│   └── /tools        # Tool implementations
ā”œā”€ā”€ /deploy           # Deployment artifacts
ā”œā”€ā”€ /test             # Test suites
└── /docs             # Documentation

Deployment

The server is deployed as a Kubernetes workload using Helm:

helm install capi-mcp-server ./deploy/charts/capi-mcp-server \
  --set auth.apiKey=$API_KEY \
  --namespace capi-system

Security

  • Authentication: API key-based (Bearer token)
  • Authorization: Kubernetes RBAC with least-privilege
  • Network: Restricted with NetworkPolicies
  • Secrets: Never logged, handled securely

Contributing

Please read for development guidelines and standards.

Roadmap

See for the project vision and development phases.

License

[License details to be added]