MCP server
The Cloudfleet CLI includes a built-in Model Context Protocol (MCP) server that enables AI assistants like Claude, Cursor, and other MCP-compatible tools to interact with your Cloudfleet infrastructure. This integration allows you to query clusters, inspect Kubernetes resources, and file support tickets through natural language conversations. Cluster and Kubernetes data are exposed read-only; the support ticket tools can create and reply to tickets in your organization.
Prerequisites
Before using the MCP server, ensure 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
You can verify your CLI version by running:
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
{
"mcpServers": {
"cloudfleet": {
"command": "cloudfleet",
"args": ["mcp"]
}
}
}
Edit your Claude Code settings file at ~/.claude/settings.json:
{
"mcpServers": {
"cloudfleet": {
"command": "cloudfleet",
"args": ["mcp"]
}
}
}
Edit your Cursor MCP configuration file at ~/.cursor/mcp.json:
{
"mcpServers": {
"cloudfleet": {
"command": "cloudfleet",
"args": ["mcp"]
}
}
}
Edit your VS Code MCP configuration file at .vscode/mcp.json in your workspace:
{
"servers": {
"cloudfleet": {
"command": "cloudfleet",
"args": ["mcp"]
}
}
}
Edit your Windsurf MCP configuration file at ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"cloudfleet": {
"command": "cloudfleet",
"args": ["mcp"]
}
}
}
Edit your Gemini CLI settings file at ~/.gemini/settings.json:
{
"mcpServers": {
"cloudfleet": {
"command": "cloudfleet",
"args": ["mcp"]
}
}
}
For other MCP-compatible AI tools, refer to their respective documentation for instructions on configuring MCP servers. The server command and arguments remain 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, you can specify which profile to use with the --profile flag:
{
"mcpServers": {
"cloudfleet": {
"command": "cloudfleet",
"args": ["mcp", "--profile", "organization-1"]
}
}
}
The --profile flag is optional. If not specified, the CLI uses the default profile.
Available tools
The MCP server exposes the following tools to AI assistants:
| Tool | Description |
|---|---|
who_am_i |
Returns information about the authenticated user, including user ID, email, name, organization ID, and admin status |
clusters_list |
Lists all Kubernetes clusters in your Cloudfleet organization |
clusters_get |
Returns detailed information about a specific cluster by cluster ID |
clusters_query |
Queries the Kubernetes API of a cluster directly, allowing access to any valid Kubernetes API endpoint (e.g., /api/v1/namespaces, /apis/apps/v1/deployments) |
tickets_list |
Lists support tickets for your organization, newest first, with status, category, summary, and timestamps |
tickets_get |
Fetches a single support ticket by ID, including the full customer and agent message thread |
tickets_create |
Opens a new support ticket with a category (technical, billing, or general), a markdown body, and optional properties such as cluster_id. Attachments cannot be uploaded over MCP; paste logs inline instead |
tickets_reply |
Appends a customer reply to an open ticket. Fails if the ticket is closed |
Example usage
Here are some example prompts you can use with AI assistants after configuring the MCP server:
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-euabout load balancer backends draining, and include the latestkubectl describe serviceoutput.” - “List my open Cloudfleet tickets and summarize the latest reply on each.”
- “Check ticket
60c72b2f9f1b2c001f8e4d3aand 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, you can configure separate MCP server entries for each:
{
"mcpServers": {
"cloudfleet-org-1": {
"command": "cloudfleet",
"args": ["mcp", "--profile", "organization-1"]
},
"cloudfleet-org-2": {
"command": "cloudfleet",
"args": ["mcp", "--profile", "organization-2"]
}
}
}
This allows you to interact with different organizations by referencing the appropriate server in your conversations.
Security considerations
The MCP server uses your configured CLI profile’s authentication token and inherits its permissions. Cluster and Kubernetes data are exposed read-only: the server can describe any cluster and namespace that your user or API token can view, but cannot mutate 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.
← Install Cloudfleet CLI