Browser Automation for Kubernetes
Automate Kubernetes web UIs using kubectl-mcp-server's browser tools (26 tools).
Enable Browser Tools
bash
export MCP_BROWSER_ENABLED=true # Optional: Cloud provider export MCP_BROWSER_PROVIDER=browserbase # or browseruse export BROWSERBASE_API_KEY=bb_...
Basic Navigation
python
# Open URL
browser_open(url="http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/")
# Open with auth headers
browser_open_with_headers(
url="https://grafana.example.com",
headers={"Authorization": "Bearer token123"}
)
# Navigate
browser_navigate(url="https://argocd.example.com/applications")
# Go back/forward
browser_back()
browser_forward()
# Refresh
browser_refresh()
Screenshots and Content
python
# 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
python
# 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
python
# 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
python
# List sessions browser_session_list() # Switch session browser_session_switch(session_id="my-session") # Close browser browser_close()
Viewport and Device
python
# Set viewport size browser_set_viewport(width=1920, height=1080) # Emulate device browser_set_viewport(device="iPhone 12")
Kubernetes Dashboard Workflow
python
# 1. Start kubectl proxy # kubectl proxy & # 2. Open dashboard browser_open(url="http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/") # 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
python
# 1. Open Grafana
browser_open_with_headers(
url="https://grafana.example.com/d/k8s-cluster",
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
python
# 1. Open ArgoCD browser_open(url="https://argocd.example.com") # 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