Driftmower MCP

Driftmower MCP connects AI assistants to this Kubernetes cluster through the Model Context Protocol (MCP). Its tools discover available resources and admission policies, inspect workloads and resource usage, and provide provisioning guidance based on the cluster’s live configuration and your permissions.

mcp.codemowers.io provides general software engineering guidance for building and deploying applications. Use it alongside this server when you need both development guidance and facts about the target cluster.

Using this server

Cluster: Not configured
Kubernetes API: Not configured — confirm the target context before using kubectl

Claude Code

claude mcp add --transport http --scope user --client-id 'driftmower.mcp' driftmower-mcp-driftmower-dev-sensusq-com 'https://mcp.driftmower.dev.sensusq.com/mcp'

Run /mcp in Claude Code and select this server to sign in.

Codex

codex mcp add driftmower-mcp-driftmower-dev-sensusq-com --url 'https://mcp.driftmower.dev.sensusq.com/mcp' --oauth-client-id 'driftmower.mcp'

Codex project config — .codex/config.toml

[mcp_servers."driftmower-mcp-driftmower-dev-sensusq-com"]
url = "https://mcp.driftmower.dev.sensusq.com/mcp"

[mcp_servers."driftmower-mcp-driftmower-dev-sensusq-com".oauth]
client_id = "driftmower.mcp"
callback_port = 33418
callback_url = "http://127.0.0.1:33418/callback"

Set callback_url explicitly to match the registered loopback callback path. See Passmower’s Codex callback guidance.

Claude Code project config — .mcp.json

{
  "mcpServers": {
    "driftmower-mcp-driftmower-dev-sensusq-com": {
      "oauth": {
        "clientId": "driftmower.mcp"
      },
      "type": "http",
      "url": "https://mcp.driftmower.dev.sensusq.com/mcp"
    }
  }
}

OpenCode

Run this from your project directory to add the server and merge its OAuth client ID into opencode.json using jq. This uses the OpenCode V2 MCP configuration.

opencode mcp add 'driftmower-mcp-driftmower-dev-sensusq-com' --url 'https://mcp.driftmower.dev.sensusq.com/mcp'

tmp=$(mktemp ./opencode.json.XXXXXX) &&
jq --arg name 'driftmower-mcp-driftmower-dev-sensusq-com' --arg client 'driftmower.mcp' '.mcp.servers[$name].oauth |= ((. // {}) + {client_id: $client})' opencode.json > "$tmp" &&
mv "$tmp" opencode.json

For the global configuration instead of the project one, merge the client ID into $XDG_CONFIG_HOME/opencode/opencode.json:

config="${XDG_CONFIG_HOME:-$HOME/.config}/opencode/opencode.json"

jq --arg name 'driftmower-mcp-driftmower-dev-sensusq-com' --arg client 'driftmower.mcp' \
   '.mcp.servers[$name].oauth |= ((. // {}) + {client_id: $client})' \
   "$config" > "$config.part" &&
mv "$config.part" "$config"

Then sign in:

opencode mcp auth 'driftmower-mcp-driftmower-dev-sensusq-com'

Other MCP clients

Transport: Streamable HTTP
URL: https://mcp.driftmower.dev.sensusq.com/mcp
OAuth client ID: driftmower.mcp