MCP server

The Cloudfleet CLI includes a built-in Model Context Protocol (MCP) server. The server lets AI assistants such as Claude, Cursor, and other MCP-compatible tools interact with your Cloudfleet infrastructure. You can query clusters, inspect Kubernetes resources, and file support tickets through natural language conversations. Cluster and Kubernetes data are read-only. The support ticket tools can create and reply to tickets in your organization.

Prerequisites

Before you use the MCP server, make sure you have:

  • The Cloudfleet CLI version 0.6.30 or later installed and configured
  • At least one authentication profile configured (see CLI authentication)
  • An MCP-compatible AI assistant or IDE

To check your CLI version, run:

bash
cloudfleet --version

Configuration

To enable the Cloudfleet MCP server in your AI assistant, add the following configuration to your MCP settings file.

Edit your Claude Desktop configuration file:

  • MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
json
{
  "mcpServers": {
    "cloudfleet": {
      "command": "cloudfleet",
      "args": ["mcp"]
    }
  }
}

Edit your Claude Code settings file at ~/.claude/settings.json:

json
{
  "mcpServers": {
    "cloudfleet": {
      "command": "cloudfleet",
      "args": ["mcp"]
    }
  }
}

Edit your Cursor MCP configuration file at ~/.cursor/mcp.json:

json
{
  "mcpServers": {
    "cloudfleet": {
      "command": "cloudfleet",
      "args": ["mcp"]
    }
  }
}

Edit your VS Code MCP configuration file at .vscode/mcp.json in your workspace:

json
{
  "servers": {
    "cloudfleet": {
      "command": "cloudfleet",
      "args": ["mcp"]
    }
  }
}

Edit your Windsurf MCP configuration file at ~/.codeium/windsurf/mcp_config.json:

json
{
  "mcpServers": {
    "cloudfleet": {
      "command": "cloudfleet",
      "args": ["mcp"]
    }
  }
}

Edit your Gemini CLI settings file at ~/.gemini/settings.json:

json
{
  "mcpServers": {
    "cloudfleet": {
      "command": "cloudfleet",
      "args": ["mcp"]
    }
  }
}

For other MCP-compatible AI tools, see their documentation for how to configure MCP servers. The server command and arguments are the same:

  • Command: cloudfleet
  • Arguments: ["mcp"] or ["mcp", "--profile", "your-profile-name"]

Using a specific profile

If you have multiple CLI profiles configured for different organizations, specify which profile to use with the --profile flag:

json
{
  "mcpServers": {
    "cloudfleet": {
      "command": "cloudfleet",
      "args": ["mcp", "--profile", "organization-1"]
    }
  }
}

The --profile flag is optional. If you omit it, the CLI uses the default profile.

Available tools

The MCP server exposes the following tools to AI assistants:

ToolDescription
who_am_iReturns information about the authenticated user, including user ID, email, name, organization ID, and admin status
clusters_listLists all Kubernetes clusters in your Cloudfleet organization
clusters_getReturns detailed information about a specific cluster by cluster ID
clusters_queryQueries the Kubernetes API of a cluster directly, with access to any valid Kubernetes API endpoint (for example, /api/v1/namespaces, /apis/apps/v1/deployments)
tickets_listLists support tickets for your organization, newest first, with status, category, summary, and timestamps
tickets_getFetches a single support ticket by ID, including the full customer and agent message thread
tickets_createOpens a new support ticket with a category (technical, billing, or general), a markdown body, and optional properties such as cluster_id. You cannot upload attachments over MCP, so paste logs inline instead
tickets_replyAppends a customer reply to an open ticket. Fails if the ticket is closed

Example usage

After you configure the MCP server, you can use prompts like these with your AI assistant:

Cluster management

  • “List all my Cloudfleet clusters”
  • “What is the status of my production cluster?”
  • “Show me the Kubernetes version running on cluster xyz”

Kubernetes queries

  • “List all Pods in the default namespace of my cluster”
  • “Show me the deployments in the production namespace”
  • “What nodes are currently running in my cluster?”
  • “Are there any Pods in a failed state?”

Infrastructure overview

  • “Give me an overview of my Cloudfleet infrastructure”
  • “Which cloud providers are connected to my cluster?”
  • “Show me the resource usage across my clusters”

Support tickets

  • “Open a Cloudfleet technical ticket for cluster prod-eu about load balancer backends draining, and include the latest kubectl describe service output.”
  • “List my open Cloudfleet tickets and summarize the latest reply on each.”
  • “Check ticket 60c72b2f9f1b2c001f8e4d3a and tell me if support has replied.”
  • “Reply to the most recent technical ticket confirming the fix worked.”

For more on how ticket workflows fit together, see the Support tickets documentation.

Multiple organizations

If you work with multiple Cloudfleet organizations, configure a separate MCP server entry for each:

json
{
  "mcpServers": {
    "cloudfleet-org-1": {
      "command": "cloudfleet",
      "args": ["mcp", "--profile", "organization-1"]
    },
    "cloudfleet-org-2": {
      "command": "cloudfleet",
      "args": ["mcp", "--profile", "organization-2"]
    }
  }
}

To work with a specific organization, reference the matching server in your conversations.

Security considerations

The MCP server uses the authentication token of your configured CLI profile and inherits its permissions. Cluster and Kubernetes data are read-only. The server can describe any cluster and namespace that your user or API token can view, but it cannot change cluster state. The support ticket tools can create new tickets and reply to existing ones in your organization. Treat ticket creation as a sensitive action and configure your assistant to confirm before posting on your behalf.

On this page