Skip to main content

Crossplane MCP server

Crossplane extends Kubernetes to build control planes for cloud infrastructure and services. An AI agent with access to Crossplane can define custom infrastructure APIs, compose resources across cloud providers, manage package versions, and automate infrastructure operations without writing Kubernetes manifests directly.

Setting up an MCP server

This article covers the standard steps for creating an MCP server in AI Gateway and connecting it to an AI client. The steps are the same for every integration — application-specific details (API credentials, OAuth endpoints, and scopes) are covered in the Authentication section on this page.

Before you begin

You'll need:

  • Access to AI Gateway with permission to create MCP servers.
  • API credentials for the application you're connecting (see the Authentication section on this page for what to collect).

Create an MCP server

Find the app in the catalog

  1. Sign in to AI Gateway and select App Catalog from the left navigation.
  2. Search for the application you want to connect, then select it from the catalog.
  3. Select Create MCP Server to start the wizard.

App Configuration

Confirm the Base URL for the API, then, under Tools, select the endpoints you want to expose. Select Next.

MCP Server Setup

  1. Enter a Name for your server — something descriptive that identifies both the application and its purpose.
  2. Enter a Description so your team knows what the server is for.
  3. Set the log level: choose Production Mode for terser logs, or Non-Production Mode for more verbose logs that can help with debugging.
  4. Select Next.

Authentication

Enter the authentication details for the application. This varies by service — see the Authentication section on this page for the specific credentials, OAuth URLs, and scopes to use.

Review

Look over the summary of your MCP server configuration, then select Create & Deploy. AI Gateway provisions the server and provides a server URL you'll use when configuring your AI client.


Connect to an AI client

Once your server is deployed, you'll need to add it to the AI client your team uses. Select your client for setup instructions:

Tips

  • You can create multiple MCP servers for the same application — for example, a read-only server for reporting agents and a read-write server for automation workflows.
  • If you're unsure which OAuth scopes to request, start with the minimum read-only set and add write scopes only when needed. Most application pages include scope recommendations.

Authentication

Crossplane uses Bearer token authentication through Kubernetes service account tokens. Create a service account in your Kubernetes cluster with RBAC permissions for Crossplane API groups: apiextensions.crossplane.io, pkg.crossplane.io, ops.crossplane.io, and protection.crossplane.io.

ValueSetting
API token headerAuthorization: Bearer YOUR_TOKEN
Base URLhttps://k8s-api.your-company.com

Available tools

This MCP server enables composite resource management, package operations, infrastructure automation, and resource protection across multi-cloud Kubernetes deployments.

ToolDescription
Create XRDCreate a CompositeResourceDefinition for custom infrastructure abstractions
List XRDsRetrieve all composite resource definitions in the cluster
Get XRDRetrieve specific XRD configuration and schema
Update XRDModify XRD to add fields or change validation rules
Delete XRDRemove a composite resource definition
Create compositionCreate a composition mapping custom APIs to managed resources
List compositionsRetrieve all compositions in the cluster
Get compositionRetrieve composition template and configuration
Update compositionModify composition resource mappings or patches
Delete compositionRemove a composition
List composition revisionsRetrieve version history of a composition
Install providerInstall a cloud provider package (AWS, Azure, GCP, etc.)
List providersRetrieve all installed providers and their status
Get providerRetrieve provider details and installed CRDs
Uninstall providerRemove a provider package
Install configurationInstall a configuration package for reference platforms
List configurationsRetrieve all installed configuration packages
Get configurationRetrieve configuration details and version
List configuration revisionsRetrieve version history of a configuration
Create environment configCreate shared configuration data for compositions
List environment configsRetrieve all environment configurations
Get environment configRetrieve specific environment configuration
Create operationCreate a one-time infrastructure operation
Create cron operationCreate a scheduled recurring infrastructure operation
List operationsRetrieve all operations in the cluster
Get operation statusRetrieve status and results of an operation
Create usageCreate a resource dependency protection entry
List usagesRetrieve all resource dependency tracking entries
Get usageRetrieve dependency details for a resource

Tips

Create dedicated service accounts with only the RBAC permissions your integration needs. Don't use cluster admin tokens for automation.

Test new compositions in a non-production cluster before applying to production. Compositions define how custom APIs translate to infrastructure.

Use specific provider versions instead of latest to ensure predictable behavior. Test provider upgrades in staging before rolling to production.

Store shared configuration in EnvironmentConfigs like VPC IDs and security groups. This avoids hardcoding values and enables reuse across compositions.

Create Usages for production-critical resources like VPCs and databases. This prevents accidental deletion of infrastructure that other resources depend on.