DevOps & CloudDocumentedScanned

k8s-browser

Browser automation for Kubernetes dashboards and web.

Share:

Installation

npx clawhub@latest install k8s-browser

View the full skill documentation and source below.

Documentation

Browser Automation for Kubernetes

Automate Kubernetes web UIs using kubectl-mcp-server's browser tools (26 tools).

Enable Browser Tools

export MCP_BROWSER_ENABLED=true

# Optional: Cloud provider
export MCP_BROWSER_PROVIDER=browserbase  # or browseruse
export BROWSERBASE_API_KEY=bb_...

Basic Navigation

# Open URL
browser_open(url="")

# Open with auth headers
browser_open_with_headers(
    url="",
    headers={"Authorization": "Bearer token123"}
)

# Navigate
browser_navigate(url="")

# Go back/forward
browser_back()
browser_forward()

# Refresh
browser_refresh()

Screenshots and Content

# Take screenshot
browser_screenshot(path="dashboard.png")

# Full page screenshot
browser_screenshot(path="full-page.png", full_page=True)

# Get page content
browser_content()

# Get page title
browser_title()

# Get current URL
browser_url()

Interactions

# Click element
browser_click(selector="button.submit")
browser_click(selector="text=Deploy")
browser_click(selector="#sync-button")

# Type text
browser_type(selector="input[name=search]", text="my-deployment")
browser_type(selector=".search-box", text="nginx")

# Fill form
browser_fill(selector="#namespace", text="production")

# Select dropdown
browser_select(selector="select#cluster", value="prod-cluster")

# Press key
browser_press(key="Enter")
browser_press(key="Escape")

Waiting

# Wait for element
browser_wait_for_selector(selector=".loading", state="hidden")
browser_wait_for_selector(selector=".data-table", state="visible")

# Wait for navigation
browser_wait_for_navigation()

# Wait for network idle
browser_wait_for_load_state(state="networkidle")

Session Management

# List sessions
browser_session_list()

# Switch session
browser_session_switch(session_id="my-session")

# Close browser
browser_close()

Viewport and Device

# Set viewport size
browser_set_viewport(width=1920, height=1080)

# Emulate device
browser_set_viewport(device="iPhone 12")

Kubernetes Dashboard Workflow

# 1. Start kubectl proxy
# kubectl proxy &

# 2. Open dashboard
browser_open(url="")

# 3. Navigate to workloads
browser_click(selector="text=Workloads")

# 4. Take screenshot
browser_screenshot(path="workloads.png")

# 5. Search for deployment
browser_type(selector="input[placeholder*=search]", text="nginx")
browser_press(key="Enter")

Grafana Dashboard Workflow

# 1. Open Grafana
browser_open_with_headers(
    url="",
    headers={"Authorization": "Bearer admin-token"}
)

# 2. Set time range
browser_click(selector="button[aria-label='Time picker']")
browser_click(selector="text=Last 1 hour")

# 3. Screenshot dashboard
browser_screenshot(path="grafana-cluster.png", full_page=True)

ArgoCD UI Workflow

# 1. Open ArgoCD
browser_open(url="")

# 2. Login
browser_fill(selector="input[name=username]", text="admin")
browser_fill(selector="input[name=password]", text="password")
browser_click(selector="button[type=submit]")

# 3. Navigate to app
browser_wait_for_selector(selector=".applications-list")
browser_click(selector="text=my-application")

# 4. Sync application
browser_click(selector="button.sync-button")
browser_click(selector="text=Synchronize")

Related Skills

  • k8s-gitops - ArgoCD CLI tools
  • k8s-diagnostics - Cluster analysis