kubectl-mcp-server 1.12.0__tar.gz → 1.13.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. {kubectl_mcp_server-1.12.0/kubectl_mcp_server.egg-info → kubectl_mcp_server-1.13.0}/PKG-INFO +81 -12
  2. kubectl_mcp_server-1.12.0/PKG-INFO → kubectl_mcp_server-1.13.0/README.md +73 -62
  3. kubectl_mcp_server-1.12.0/README.md → kubectl_mcp_server-1.13.0/kubectl_mcp_server.egg-info/PKG-INFO +131 -9
  4. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/kubectl_mcp_server.egg-info/SOURCES.txt +1 -0
  5. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/kubectl_mcp_server.egg-info/requires.txt +6 -0
  6. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/kubectl_mcp_tool/__init__.py +1 -1
  7. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/kubectl_mcp_tool/mcp_server.py +9 -0
  8. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/kubectl_mcp_tool/tools/__init__.py +3 -0
  9. kubectl_mcp_server-1.13.0/kubectl_mcp_tool/tools/ui.py +1068 -0
  10. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/setup.py +8 -3
  11. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/tests/test_browser.py +2 -2
  12. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/tests/test_tools.py +9 -6
  13. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/LICENSE +0 -0
  14. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/kubectl_mcp_server.egg-info/dependency_links.txt +0 -0
  15. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/kubectl_mcp_server.egg-info/entry_points.txt +0 -0
  16. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/kubectl_mcp_server.egg-info/top_level.txt +0 -0
  17. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/kubectl_mcp_tool/__main__.py +0 -0
  18. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/kubectl_mcp_tool/auth/__init__.py +0 -0
  19. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/kubectl_mcp_tool/auth/config.py +0 -0
  20. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/kubectl_mcp_tool/auth/scopes.py +0 -0
  21. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/kubectl_mcp_tool/auth/verifier.py +0 -0
  22. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/kubectl_mcp_tool/cli/__init__.py +0 -0
  23. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/kubectl_mcp_tool/cli/__main__.py +0 -0
  24. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/kubectl_mcp_tool/cli/cli.py +0 -0
  25. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/kubectl_mcp_tool/diagnostics.py +0 -0
  26. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/kubectl_mcp_tool/k8s_config.py +0 -0
  27. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/kubectl_mcp_tool/prompts/__init__.py +0 -0
  28. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/kubectl_mcp_tool/prompts/prompts.py +0 -0
  29. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/kubectl_mcp_tool/resources/__init__.py +0 -0
  30. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/kubectl_mcp_tool/resources/resources.py +0 -0
  31. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/kubectl_mcp_tool/tools/browser.py +0 -0
  32. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/kubectl_mcp_tool/tools/cluster.py +0 -0
  33. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/kubectl_mcp_tool/tools/core.py +0 -0
  34. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/kubectl_mcp_tool/tools/cost.py +0 -0
  35. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/kubectl_mcp_tool/tools/deployments.py +0 -0
  36. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/kubectl_mcp_tool/tools/diagnostics.py +0 -0
  37. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/kubectl_mcp_tool/tools/helm.py +0 -0
  38. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/kubectl_mcp_tool/tools/networking.py +0 -0
  39. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/kubectl_mcp_tool/tools/operations.py +0 -0
  40. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/kubectl_mcp_tool/tools/pods.py +0 -0
  41. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/kubectl_mcp_tool/tools/security.py +0 -0
  42. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/kubectl_mcp_tool/tools/storage.py +0 -0
  43. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/kubectl_mcp_tool/utils/__init__.py +0 -0
  44. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/kubectl_mcp_tool/utils/helpers.py +0 -0
  45. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/setup.cfg +0 -0
  46. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/tests/__init__.py +0 -0
  47. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/tests/conftest.py +0 -0
  48. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/tests/test_auth.py +0 -0
  49. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/tests/test_prompts.py +0 -0
  50. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/tests/test_resources.py +0 -0
  51. {kubectl_mcp_server-1.12.0 → kubectl_mcp_server-1.13.0}/tests/test_server.py +0 -0
@@ -1,14 +1,14 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kubectl-mcp-server
3
- Version: 1.12.0
4
- Summary: A Model Context Protocol (MCP) server for Kubernetes with 121+ tools, 8 resources, and 8 prompts
3
+ Version: 1.13.0
4
+ Summary: A Model Context Protocol (MCP) server for Kubernetes with 127+ tools, 8 resources, and 8 prompts
5
5
  Home-page: https://github.com/rohitg00/kubectl-mcp-server
6
6
  Author: Rohit Ghumare
7
7
  Author-email: ghumare64@gmail.com
8
8
  Project-URL: Bug Tracker, https://github.com/rohitg00/kubectl-mcp-server/issues
9
9
  Project-URL: Documentation, https://github.com/rohitg00/kubectl-mcp-server#readme
10
10
  Project-URL: Source, https://github.com/rohitg00/kubectl-mcp-server
11
- Keywords: kubernetes,mcp,model-context-protocol,kubectl,helm,ai-assistant,claude,cursor,windsurf,fastmcp,devops,cloud-native
11
+ Keywords: kubernetes,mcp,model-context-protocol,kubectl,helm,ai-assistant,claude,cursor,windsurf,fastmcp,devops,cloud-native,mcp-ui
12
12
  Classifier: Programming Language :: Python :: 3
13
13
  Classifier: Programming Language :: Python :: 3.9
14
14
  Classifier: Programming Language :: Python :: 3.10
@@ -38,6 +38,10 @@ Requires-Dist: cryptography>=42.0.2
38
38
  Requires-Dist: rich>=13.0.0
39
39
  Requires-Dist: aiohttp>=3.8.0
40
40
  Requires-Dist: aiohttp-sse>=2.1.0
41
+ Provides-Extra: ui
42
+ Requires-Dist: mcp-ui-server>=0.5.0; extra == "ui"
43
+ Provides-Extra: all
44
+ Requires-Dist: mcp-ui-server>=0.5.0; extra == "all"
41
45
  Dynamic: author
42
46
  Dynamic: author-email
43
47
  Dynamic: classifier
@@ -47,6 +51,7 @@ Dynamic: home-page
47
51
  Dynamic: keywords
48
52
  Dynamic: license-file
49
53
  Dynamic: project-url
54
+ Dynamic: provides-extra
50
55
  Dynamic: requires-dist
51
56
  Dynamic: requires-python
52
57
  Dynamic: summary
@@ -95,7 +100,7 @@ Works with all MCP-compatible AI assistants:
95
100
 
96
101
  ## Features
97
102
 
98
- ### 121 MCP Tools for Complete Kubernetes Management
103
+ ### 127 MCP Tools for Complete Kubernetes Management
99
104
 
100
105
  | Category | Tools |
101
106
  |----------|-------|
@@ -119,6 +124,7 @@ Works with all MCP-compatible AI assistants:
119
124
  | **Autoscaling** | `get_hpa`, `get_pdb` |
120
125
  | **Cost Optimization** | `get_resource_recommendations`, `get_idle_resources`, `get_resource_quotas_usage`, `get_cost_analysis`, `get_overprovisioned_resources`, `get_resource_trends`, `get_namespace_cost_allocation`, `optimize_resource_requests` |
121
126
  | **Advanced** | `kubectl_generic`, `kubectl_explain`, `get_api_resources`, `port_forward`, `get_resource_usage`, `node_management` |
127
+ | **UI Dashboards** | `show_pod_logs_ui`, `show_pods_dashboard_ui`, `show_resource_yaml_ui`, `show_cluster_overview_ui`, `show_events_timeline_ui`, `render_k8s_dashboard_screenshot` |
122
128
 
123
129
  ### MCP Resources (FastMCP 3)
124
130
 
@@ -166,6 +172,7 @@ Pre-built workflow prompts for common Kubernetes operations:
166
172
  - **Helm v3**: Full Helm chart lifecycle management
167
173
  - **Cost Optimization**: Resource recommendations, idle resource detection, usage analysis
168
174
  - **FastMCP 3**: MCP Resources and Prompts for enhanced AI workflows
175
+ - **MCP-UI Support**: Interactive HTML dashboards for compatible hosts (Goose, LibreChat)
169
176
 
170
177
  ## Installation
171
178
 
@@ -189,6 +196,9 @@ npm install -g kubectl-mcp-server
189
196
  ```bash
190
197
  pip install kubectl-mcp-server
191
198
 
199
+ # With MCP-UI support (interactive dashboards)
200
+ pip install kubectl-mcp-server[ui]
201
+
192
202
  # Legacy alias (still works for backward compatibility)
193
203
  pip install kubectl-mcp-tool
194
204
  ```
@@ -389,6 +399,46 @@ python -m kubectl_mcp_tool.mcp_server --transport http --port 8000
389
399
  |----------|-------------|
390
400
  | `MCP_BROWSER_ENABLED` | Enable browser automation tools (default: `false`) |
391
401
 
402
+ ## MCP-UI Tools (Interactive Dashboards)
403
+
404
+ Enable rich HTML dashboards in MCP-UI compatible hosts (Goose, LibreChat, Nanobot).
405
+
406
+ ### Installation
407
+
408
+ ```bash
409
+ # Install with MCP-UI support
410
+ pip install kubectl-mcp-server[ui]
411
+ ```
412
+
413
+ ### 6 UI Dashboard Tools
414
+
415
+ | Tool | Description |
416
+ |------|-------------|
417
+ | `show_pod_logs_ui` | Interactive log viewer with search and filtering |
418
+ | `show_pods_dashboard_ui` | Pods table with status, restarts, and filtering |
419
+ | `show_resource_yaml_ui` | YAML viewer with syntax highlighting |
420
+ | `show_cluster_overview_ui` | Cluster dashboard with nodes, namespaces, workloads |
421
+ | `show_events_timeline_ui` | Events timeline with severity filtering |
422
+ | `render_k8s_dashboard_screenshot` | Render any dashboard as PNG screenshot |
423
+
424
+ ### Features
425
+
426
+ - **Dark theme**: Catppuccin-style dark UI optimized for terminals
427
+ - **Graceful fallback**: Returns JSON data if MCP-UI not supported
428
+ - **Screenshot rendering**: Works with agent-browser for universal compatibility
429
+ - **No external dependencies**: Pure HTML/CSS/JS dashboards
430
+
431
+ ### Compatibility
432
+
433
+ | Host | MCP-UI Support | Fallback |
434
+ |------|----------------|----------|
435
+ | Goose | ✅ Full | - |
436
+ | LibreChat | ✅ Full | - |
437
+ | Nanobot | ✅ Full | - |
438
+ | Claude Desktop | ❌ | JSON + Screenshot |
439
+ | Cursor | ❌ | JSON + Screenshot |
440
+ | Other MCP Clients | ❌ | JSON + Screenshot |
441
+
392
442
  ## Browser Tools (Optional Module)
393
443
 
394
444
  Enable browser automation for web-based K8s operations using [agent-browser](https://github.com/vercel-labs/agent-browser).
@@ -493,16 +543,35 @@ arctl mcp install io.github.rohitg00/kubectl-mcp-server
493
543
 
494
544
  ### agentgateway Integration
495
545
 
496
- Use with [agentgateway](https://github.com/agentgateway/agentgateway) for unified MCP routing:
546
+ Use with [agentgateway](https://github.com/agentgateway/agentgateway) for unified MCP routing to multiple MCP servers.
497
547
 
498
548
  ```bash
499
- # Install agentgateway
500
- cargo install agentgateway
549
+ # Start kubectl-mcp-server with streamable-http transport
550
+ kubectl-mcp-server --transport streamable-http --port 8000
551
+ ```
501
552
 
502
- # Configure kubectl-mcp-server as upstream
553
+ Create `gateway.yaml`:
554
+
555
+ ```yaml
556
+ binds:
557
+ - port: 3000
558
+ listeners:
559
+ - routes:
560
+ - backends:
561
+ - mcp:
562
+ targets:
563
+ - name: kubectl-mcp-server
564
+ mcp:
565
+ host: http://localhost:8000/mcp
566
+ ```
567
+
568
+ ```bash
569
+ # Run agentgateway
503
570
  agentgateway --config gateway.yaml
504
571
  ```
505
572
 
573
+ Connect MCP clients to `http://localhost:3000/mcp`. All 127 tools are discoverable through the gateway.
574
+
506
575
  ## Kubernetes Deployment
507
576
 
508
577
  Deploy kubectl-mcp-server directly in your Kubernetes cluster for centralized access.
@@ -569,7 +638,7 @@ See [deploy/](deploy/) for full manifests and configuration options.
569
638
 
570
639
  ### kagent Integration (AI Agents)
571
640
 
572
- [kagent](https://github.com/kagent-dev/kagent) is a Kubernetes-native AI agent framework (CNCF project). Register kubectl-mcp-server as a ToolServer to give your agents 121 K8s management tools.
641
+ [kagent](https://github.com/kagent-dev/kagent) is a Kubernetes-native AI agent framework (CNCF project). Register kubectl-mcp-server as a ToolServer to give your agents 127 K8s management tools.
573
642
 
574
643
  ```bash
575
644
  # Install kagent
@@ -601,7 +670,7 @@ The MCP server implements the [Model Context Protocol](https://github.com/modelc
601
670
  ```
602
671
  kubectl_mcp_tool/
603
672
  ├── mcp_server.py # Main server (FastMCP, transports)
604
- ├── tools/ # 121 MCP tools organized by category
673
+ ├── tools/ # 127 MCP tools organized by category
605
674
  │ ├── pods.py # Pod management & diagnostics
606
675
  │ ├── deployments.py # Deployments, StatefulSets, DaemonSets
607
676
  │ ├── core.py # Namespaces, ConfigMaps, Secrets
@@ -612,7 +681,8 @@ kubectl_mcp_tool/
612
681
  │ ├── helm.py # Complete Helm v3 operations
613
682
  │ ├── operations.py # kubectl apply/patch/describe/etc
614
683
  │ ├── diagnostics.py # Metrics, namespace comparison
615
- └── cost.py # Resource optimization & cost analysis
684
+ ├── cost.py # Resource optimization & cost analysis
685
+ │ └── ui.py # MCP-UI interactive dashboards
616
686
  ├── resources/ # 8 MCP Resources for data exposure
617
687
  ├── prompts/ # 8 MCP Prompts for workflows
618
688
  └── cli/ # CLI interface
@@ -707,5 +777,4 @@ MIT License - see [LICENSE](LICENSE) for details.
707
777
  - [PyPI Package](https://pypi.org/project/kubectl-mcp-server/)
708
778
  - [npm Package](https://www.npmjs.com/package/kubectl-mcp-server)
709
779
  - [Docker Hub](https://hub.docker.com/r/rohitghumare64/kubectl-mcp-server)
710
- - [agentregistry](https://aregistry.ai) - MCP Server Registry
711
780
  - [GitHub Issues](https://github.com/rohitg00/kubectl-mcp-server/issues)
@@ -1,56 +1,3 @@
1
- Metadata-Version: 2.4
2
- Name: kubectl-mcp-server
3
- Version: 1.12.0
4
- Summary: A Model Context Protocol (MCP) server for Kubernetes with 121+ tools, 8 resources, and 8 prompts
5
- Home-page: https://github.com/rohitg00/kubectl-mcp-server
6
- Author: Rohit Ghumare
7
- Author-email: ghumare64@gmail.com
8
- Project-URL: Bug Tracker, https://github.com/rohitg00/kubectl-mcp-server/issues
9
- Project-URL: Documentation, https://github.com/rohitg00/kubectl-mcp-server#readme
10
- Project-URL: Source, https://github.com/rohitg00/kubectl-mcp-server
11
- Keywords: kubernetes,mcp,model-context-protocol,kubectl,helm,ai-assistant,claude,cursor,windsurf,fastmcp,devops,cloud-native
12
- Classifier: Programming Language :: Python :: 3
13
- Classifier: Programming Language :: Python :: 3.9
14
- Classifier: Programming Language :: Python :: 3.10
15
- Classifier: Programming Language :: Python :: 3.11
16
- Classifier: Programming Language :: Python :: 3.12
17
- Classifier: License :: OSI Approved :: MIT License
18
- Classifier: Operating System :: OS Independent
19
- Classifier: Topic :: System :: Systems Administration
20
- Classifier: Topic :: Software Development :: Libraries :: Python Modules
21
- Classifier: Intended Audience :: Developers
22
- Classifier: Intended Audience :: System Administrators
23
- Requires-Python: >=3.9
24
- Description-Content-Type: text/markdown
25
- License-File: LICENSE
26
- Requires-Dist: fastmcp>=3.0.0b1
27
- Requires-Dist: pydantic>=2.0.0
28
- Requires-Dist: fastapi>=0.100.0
29
- Requires-Dist: uvicorn>=0.22.0
30
- Requires-Dist: starlette>=0.27.0
31
- Requires-Dist: kubernetes>=28.1.0
32
- Requires-Dist: PyYAML>=6.0.1
33
- Requires-Dist: requests>=2.31.0
34
- Requires-Dist: urllib3>=2.1.0
35
- Requires-Dist: websocket-client>=1.7.0
36
- Requires-Dist: jsonschema>=4.20.0
37
- Requires-Dist: cryptography>=42.0.2
38
- Requires-Dist: rich>=13.0.0
39
- Requires-Dist: aiohttp>=3.8.0
40
- Requires-Dist: aiohttp-sse>=2.1.0
41
- Dynamic: author
42
- Dynamic: author-email
43
- Dynamic: classifier
44
- Dynamic: description
45
- Dynamic: description-content-type
46
- Dynamic: home-page
47
- Dynamic: keywords
48
- Dynamic: license-file
49
- Dynamic: project-url
50
- Dynamic: requires-dist
51
- Dynamic: requires-python
52
- Dynamic: summary
53
-
54
1
  # Kubectl MCP Server
55
2
 
56
3
  A Model Context Protocol (MCP) server for Kubernetes that enables AI assistants like Claude, Cursor, and others to interact with Kubernetes clusters through natural language.
@@ -95,7 +42,7 @@ Works with all MCP-compatible AI assistants:
95
42
 
96
43
  ## Features
97
44
 
98
- ### 121 MCP Tools for Complete Kubernetes Management
45
+ ### 127 MCP Tools for Complete Kubernetes Management
99
46
 
100
47
  | Category | Tools |
101
48
  |----------|-------|
@@ -119,6 +66,7 @@ Works with all MCP-compatible AI assistants:
119
66
  | **Autoscaling** | `get_hpa`, `get_pdb` |
120
67
  | **Cost Optimization** | `get_resource_recommendations`, `get_idle_resources`, `get_resource_quotas_usage`, `get_cost_analysis`, `get_overprovisioned_resources`, `get_resource_trends`, `get_namespace_cost_allocation`, `optimize_resource_requests` |
121
68
  | **Advanced** | `kubectl_generic`, `kubectl_explain`, `get_api_resources`, `port_forward`, `get_resource_usage`, `node_management` |
69
+ | **UI Dashboards** | `show_pod_logs_ui`, `show_pods_dashboard_ui`, `show_resource_yaml_ui`, `show_cluster_overview_ui`, `show_events_timeline_ui`, `render_k8s_dashboard_screenshot` |
122
70
 
123
71
  ### MCP Resources (FastMCP 3)
124
72
 
@@ -166,6 +114,7 @@ Pre-built workflow prompts for common Kubernetes operations:
166
114
  - **Helm v3**: Full Helm chart lifecycle management
167
115
  - **Cost Optimization**: Resource recommendations, idle resource detection, usage analysis
168
116
  - **FastMCP 3**: MCP Resources and Prompts for enhanced AI workflows
117
+ - **MCP-UI Support**: Interactive HTML dashboards for compatible hosts (Goose, LibreChat)
169
118
 
170
119
  ## Installation
171
120
 
@@ -189,6 +138,9 @@ npm install -g kubectl-mcp-server
189
138
  ```bash
190
139
  pip install kubectl-mcp-server
191
140
 
141
+ # With MCP-UI support (interactive dashboards)
142
+ pip install kubectl-mcp-server[ui]
143
+
192
144
  # Legacy alias (still works for backward compatibility)
193
145
  pip install kubectl-mcp-tool
194
146
  ```
@@ -389,6 +341,46 @@ python -m kubectl_mcp_tool.mcp_server --transport http --port 8000
389
341
  |----------|-------------|
390
342
  | `MCP_BROWSER_ENABLED` | Enable browser automation tools (default: `false`) |
391
343
 
344
+ ## MCP-UI Tools (Interactive Dashboards)
345
+
346
+ Enable rich HTML dashboards in MCP-UI compatible hosts (Goose, LibreChat, Nanobot).
347
+
348
+ ### Installation
349
+
350
+ ```bash
351
+ # Install with MCP-UI support
352
+ pip install kubectl-mcp-server[ui]
353
+ ```
354
+
355
+ ### 6 UI Dashboard Tools
356
+
357
+ | Tool | Description |
358
+ |------|-------------|
359
+ | `show_pod_logs_ui` | Interactive log viewer with search and filtering |
360
+ | `show_pods_dashboard_ui` | Pods table with status, restarts, and filtering |
361
+ | `show_resource_yaml_ui` | YAML viewer with syntax highlighting |
362
+ | `show_cluster_overview_ui` | Cluster dashboard with nodes, namespaces, workloads |
363
+ | `show_events_timeline_ui` | Events timeline with severity filtering |
364
+ | `render_k8s_dashboard_screenshot` | Render any dashboard as PNG screenshot |
365
+
366
+ ### Features
367
+
368
+ - **Dark theme**: Catppuccin-style dark UI optimized for terminals
369
+ - **Graceful fallback**: Returns JSON data if MCP-UI not supported
370
+ - **Screenshot rendering**: Works with agent-browser for universal compatibility
371
+ - **No external dependencies**: Pure HTML/CSS/JS dashboards
372
+
373
+ ### Compatibility
374
+
375
+ | Host | MCP-UI Support | Fallback |
376
+ |------|----------------|----------|
377
+ | Goose | ✅ Full | - |
378
+ | LibreChat | ✅ Full | - |
379
+ | Nanobot | ✅ Full | - |
380
+ | Claude Desktop | ❌ | JSON + Screenshot |
381
+ | Cursor | ❌ | JSON + Screenshot |
382
+ | Other MCP Clients | ❌ | JSON + Screenshot |
383
+
392
384
  ## Browser Tools (Optional Module)
393
385
 
394
386
  Enable browser automation for web-based K8s operations using [agent-browser](https://github.com/vercel-labs/agent-browser).
@@ -493,16 +485,35 @@ arctl mcp install io.github.rohitg00/kubectl-mcp-server
493
485
 
494
486
  ### agentgateway Integration
495
487
 
496
- Use with [agentgateway](https://github.com/agentgateway/agentgateway) for unified MCP routing:
488
+ Use with [agentgateway](https://github.com/agentgateway/agentgateway) for unified MCP routing to multiple MCP servers.
497
489
 
498
490
  ```bash
499
- # Install agentgateway
500
- cargo install agentgateway
491
+ # Start kubectl-mcp-server with streamable-http transport
492
+ kubectl-mcp-server --transport streamable-http --port 8000
493
+ ```
501
494
 
502
- # Configure kubectl-mcp-server as upstream
495
+ Create `gateway.yaml`:
496
+
497
+ ```yaml
498
+ binds:
499
+ - port: 3000
500
+ listeners:
501
+ - routes:
502
+ - backends:
503
+ - mcp:
504
+ targets:
505
+ - name: kubectl-mcp-server
506
+ mcp:
507
+ host: http://localhost:8000/mcp
508
+ ```
509
+
510
+ ```bash
511
+ # Run agentgateway
503
512
  agentgateway --config gateway.yaml
504
513
  ```
505
514
 
515
+ Connect MCP clients to `http://localhost:3000/mcp`. All 127 tools are discoverable through the gateway.
516
+
506
517
  ## Kubernetes Deployment
507
518
 
508
519
  Deploy kubectl-mcp-server directly in your Kubernetes cluster for centralized access.
@@ -569,7 +580,7 @@ See [deploy/](deploy/) for full manifests and configuration options.
569
580
 
570
581
  ### kagent Integration (AI Agents)
571
582
 
572
- [kagent](https://github.com/kagent-dev/kagent) is a Kubernetes-native AI agent framework (CNCF project). Register kubectl-mcp-server as a ToolServer to give your agents 121 K8s management tools.
583
+ [kagent](https://github.com/kagent-dev/kagent) is a Kubernetes-native AI agent framework (CNCF project). Register kubectl-mcp-server as a ToolServer to give your agents 127 K8s management tools.
573
584
 
574
585
  ```bash
575
586
  # Install kagent
@@ -601,7 +612,7 @@ The MCP server implements the [Model Context Protocol](https://github.com/modelc
601
612
  ```
602
613
  kubectl_mcp_tool/
603
614
  ├── mcp_server.py # Main server (FastMCP, transports)
604
- ├── tools/ # 121 MCP tools organized by category
615
+ ├── tools/ # 127 MCP tools organized by category
605
616
  │ ├── pods.py # Pod management & diagnostics
606
617
  │ ├── deployments.py # Deployments, StatefulSets, DaemonSets
607
618
  │ ├── core.py # Namespaces, ConfigMaps, Secrets
@@ -612,7 +623,8 @@ kubectl_mcp_tool/
612
623
  │ ├── helm.py # Complete Helm v3 operations
613
624
  │ ├── operations.py # kubectl apply/patch/describe/etc
614
625
  │ ├── diagnostics.py # Metrics, namespace comparison
615
- └── cost.py # Resource optimization & cost analysis
626
+ ├── cost.py # Resource optimization & cost analysis
627
+ │ └── ui.py # MCP-UI interactive dashboards
616
628
  ├── resources/ # 8 MCP Resources for data exposure
617
629
  ├── prompts/ # 8 MCP Prompts for workflows
618
630
  └── cli/ # CLI interface
@@ -707,5 +719,4 @@ MIT License - see [LICENSE](LICENSE) for details.
707
719
  - [PyPI Package](https://pypi.org/project/kubectl-mcp-server/)
708
720
  - [npm Package](https://www.npmjs.com/package/kubectl-mcp-server)
709
721
  - [Docker Hub](https://hub.docker.com/r/rohitghumare64/kubectl-mcp-server)
710
- - [agentregistry](https://aregistry.ai) - MCP Server Registry
711
722
  - [GitHub Issues](https://github.com/rohitg00/kubectl-mcp-server/issues)
@@ -1,3 +1,61 @@
1
+ Metadata-Version: 2.4
2
+ Name: kubectl-mcp-server
3
+ Version: 1.13.0
4
+ Summary: A Model Context Protocol (MCP) server for Kubernetes with 127+ tools, 8 resources, and 8 prompts
5
+ Home-page: https://github.com/rohitg00/kubectl-mcp-server
6
+ Author: Rohit Ghumare
7
+ Author-email: ghumare64@gmail.com
8
+ Project-URL: Bug Tracker, https://github.com/rohitg00/kubectl-mcp-server/issues
9
+ Project-URL: Documentation, https://github.com/rohitg00/kubectl-mcp-server#readme
10
+ Project-URL: Source, https://github.com/rohitg00/kubectl-mcp-server
11
+ Keywords: kubernetes,mcp,model-context-protocol,kubectl,helm,ai-assistant,claude,cursor,windsurf,fastmcp,devops,cloud-native,mcp-ui
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3.9
14
+ Classifier: Programming Language :: Python :: 3.10
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: License :: OSI Approved :: MIT License
18
+ Classifier: Operating System :: OS Independent
19
+ Classifier: Topic :: System :: Systems Administration
20
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
21
+ Classifier: Intended Audience :: Developers
22
+ Classifier: Intended Audience :: System Administrators
23
+ Requires-Python: >=3.9
24
+ Description-Content-Type: text/markdown
25
+ License-File: LICENSE
26
+ Requires-Dist: fastmcp>=3.0.0b1
27
+ Requires-Dist: pydantic>=2.0.0
28
+ Requires-Dist: fastapi>=0.100.0
29
+ Requires-Dist: uvicorn>=0.22.0
30
+ Requires-Dist: starlette>=0.27.0
31
+ Requires-Dist: kubernetes>=28.1.0
32
+ Requires-Dist: PyYAML>=6.0.1
33
+ Requires-Dist: requests>=2.31.0
34
+ Requires-Dist: urllib3>=2.1.0
35
+ Requires-Dist: websocket-client>=1.7.0
36
+ Requires-Dist: jsonschema>=4.20.0
37
+ Requires-Dist: cryptography>=42.0.2
38
+ Requires-Dist: rich>=13.0.0
39
+ Requires-Dist: aiohttp>=3.8.0
40
+ Requires-Dist: aiohttp-sse>=2.1.0
41
+ Provides-Extra: ui
42
+ Requires-Dist: mcp-ui-server>=0.5.0; extra == "ui"
43
+ Provides-Extra: all
44
+ Requires-Dist: mcp-ui-server>=0.5.0; extra == "all"
45
+ Dynamic: author
46
+ Dynamic: author-email
47
+ Dynamic: classifier
48
+ Dynamic: description
49
+ Dynamic: description-content-type
50
+ Dynamic: home-page
51
+ Dynamic: keywords
52
+ Dynamic: license-file
53
+ Dynamic: project-url
54
+ Dynamic: provides-extra
55
+ Dynamic: requires-dist
56
+ Dynamic: requires-python
57
+ Dynamic: summary
58
+
1
59
  # Kubectl MCP Server
2
60
 
3
61
  A Model Context Protocol (MCP) server for Kubernetes that enables AI assistants like Claude, Cursor, and others to interact with Kubernetes clusters through natural language.
@@ -42,7 +100,7 @@ Works with all MCP-compatible AI assistants:
42
100
 
43
101
  ## Features
44
102
 
45
- ### 121 MCP Tools for Complete Kubernetes Management
103
+ ### 127 MCP Tools for Complete Kubernetes Management
46
104
 
47
105
  | Category | Tools |
48
106
  |----------|-------|
@@ -66,6 +124,7 @@ Works with all MCP-compatible AI assistants:
66
124
  | **Autoscaling** | `get_hpa`, `get_pdb` |
67
125
  | **Cost Optimization** | `get_resource_recommendations`, `get_idle_resources`, `get_resource_quotas_usage`, `get_cost_analysis`, `get_overprovisioned_resources`, `get_resource_trends`, `get_namespace_cost_allocation`, `optimize_resource_requests` |
68
126
  | **Advanced** | `kubectl_generic`, `kubectl_explain`, `get_api_resources`, `port_forward`, `get_resource_usage`, `node_management` |
127
+ | **UI Dashboards** | `show_pod_logs_ui`, `show_pods_dashboard_ui`, `show_resource_yaml_ui`, `show_cluster_overview_ui`, `show_events_timeline_ui`, `render_k8s_dashboard_screenshot` |
69
128
 
70
129
  ### MCP Resources (FastMCP 3)
71
130
 
@@ -113,6 +172,7 @@ Pre-built workflow prompts for common Kubernetes operations:
113
172
  - **Helm v3**: Full Helm chart lifecycle management
114
173
  - **Cost Optimization**: Resource recommendations, idle resource detection, usage analysis
115
174
  - **FastMCP 3**: MCP Resources and Prompts for enhanced AI workflows
175
+ - **MCP-UI Support**: Interactive HTML dashboards for compatible hosts (Goose, LibreChat)
116
176
 
117
177
  ## Installation
118
178
 
@@ -136,6 +196,9 @@ npm install -g kubectl-mcp-server
136
196
  ```bash
137
197
  pip install kubectl-mcp-server
138
198
 
199
+ # With MCP-UI support (interactive dashboards)
200
+ pip install kubectl-mcp-server[ui]
201
+
139
202
  # Legacy alias (still works for backward compatibility)
140
203
  pip install kubectl-mcp-tool
141
204
  ```
@@ -336,6 +399,46 @@ python -m kubectl_mcp_tool.mcp_server --transport http --port 8000
336
399
  |----------|-------------|
337
400
  | `MCP_BROWSER_ENABLED` | Enable browser automation tools (default: `false`) |
338
401
 
402
+ ## MCP-UI Tools (Interactive Dashboards)
403
+
404
+ Enable rich HTML dashboards in MCP-UI compatible hosts (Goose, LibreChat, Nanobot).
405
+
406
+ ### Installation
407
+
408
+ ```bash
409
+ # Install with MCP-UI support
410
+ pip install kubectl-mcp-server[ui]
411
+ ```
412
+
413
+ ### 6 UI Dashboard Tools
414
+
415
+ | Tool | Description |
416
+ |------|-------------|
417
+ | `show_pod_logs_ui` | Interactive log viewer with search and filtering |
418
+ | `show_pods_dashboard_ui` | Pods table with status, restarts, and filtering |
419
+ | `show_resource_yaml_ui` | YAML viewer with syntax highlighting |
420
+ | `show_cluster_overview_ui` | Cluster dashboard with nodes, namespaces, workloads |
421
+ | `show_events_timeline_ui` | Events timeline with severity filtering |
422
+ | `render_k8s_dashboard_screenshot` | Render any dashboard as PNG screenshot |
423
+
424
+ ### Features
425
+
426
+ - **Dark theme**: Catppuccin-style dark UI optimized for terminals
427
+ - **Graceful fallback**: Returns JSON data if MCP-UI not supported
428
+ - **Screenshot rendering**: Works with agent-browser for universal compatibility
429
+ - **No external dependencies**: Pure HTML/CSS/JS dashboards
430
+
431
+ ### Compatibility
432
+
433
+ | Host | MCP-UI Support | Fallback |
434
+ |------|----------------|----------|
435
+ | Goose | ✅ Full | - |
436
+ | LibreChat | ✅ Full | - |
437
+ | Nanobot | ✅ Full | - |
438
+ | Claude Desktop | ❌ | JSON + Screenshot |
439
+ | Cursor | ❌ | JSON + Screenshot |
440
+ | Other MCP Clients | ❌ | JSON + Screenshot |
441
+
339
442
  ## Browser Tools (Optional Module)
340
443
 
341
444
  Enable browser automation for web-based K8s operations using [agent-browser](https://github.com/vercel-labs/agent-browser).
@@ -440,16 +543,35 @@ arctl mcp install io.github.rohitg00/kubectl-mcp-server
440
543
 
441
544
  ### agentgateway Integration
442
545
 
443
- Use with [agentgateway](https://github.com/agentgateway/agentgateway) for unified MCP routing:
546
+ Use with [agentgateway](https://github.com/agentgateway/agentgateway) for unified MCP routing to multiple MCP servers.
444
547
 
445
548
  ```bash
446
- # Install agentgateway
447
- cargo install agentgateway
549
+ # Start kubectl-mcp-server with streamable-http transport
550
+ kubectl-mcp-server --transport streamable-http --port 8000
551
+ ```
448
552
 
449
- # Configure kubectl-mcp-server as upstream
553
+ Create `gateway.yaml`:
554
+
555
+ ```yaml
556
+ binds:
557
+ - port: 3000
558
+ listeners:
559
+ - routes:
560
+ - backends:
561
+ - mcp:
562
+ targets:
563
+ - name: kubectl-mcp-server
564
+ mcp:
565
+ host: http://localhost:8000/mcp
566
+ ```
567
+
568
+ ```bash
569
+ # Run agentgateway
450
570
  agentgateway --config gateway.yaml
451
571
  ```
452
572
 
573
+ Connect MCP clients to `http://localhost:3000/mcp`. All 127 tools are discoverable through the gateway.
574
+
453
575
  ## Kubernetes Deployment
454
576
 
455
577
  Deploy kubectl-mcp-server directly in your Kubernetes cluster for centralized access.
@@ -516,7 +638,7 @@ See [deploy/](deploy/) for full manifests and configuration options.
516
638
 
517
639
  ### kagent Integration (AI Agents)
518
640
 
519
- [kagent](https://github.com/kagent-dev/kagent) is a Kubernetes-native AI agent framework (CNCF project). Register kubectl-mcp-server as a ToolServer to give your agents 121 K8s management tools.
641
+ [kagent](https://github.com/kagent-dev/kagent) is a Kubernetes-native AI agent framework (CNCF project). Register kubectl-mcp-server as a ToolServer to give your agents 127 K8s management tools.
520
642
 
521
643
  ```bash
522
644
  # Install kagent
@@ -548,7 +670,7 @@ The MCP server implements the [Model Context Protocol](https://github.com/modelc
548
670
  ```
549
671
  kubectl_mcp_tool/
550
672
  ├── mcp_server.py # Main server (FastMCP, transports)
551
- ├── tools/ # 121 MCP tools organized by category
673
+ ├── tools/ # 127 MCP tools organized by category
552
674
  │ ├── pods.py # Pod management & diagnostics
553
675
  │ ├── deployments.py # Deployments, StatefulSets, DaemonSets
554
676
  │ ├── core.py # Namespaces, ConfigMaps, Secrets
@@ -559,7 +681,8 @@ kubectl_mcp_tool/
559
681
  │ ├── helm.py # Complete Helm v3 operations
560
682
  │ ├── operations.py # kubectl apply/patch/describe/etc
561
683
  │ ├── diagnostics.py # Metrics, namespace comparison
562
- └── cost.py # Resource optimization & cost analysis
684
+ ├── cost.py # Resource optimization & cost analysis
685
+ │ └── ui.py # MCP-UI interactive dashboards
563
686
  ├── resources/ # 8 MCP Resources for data exposure
564
687
  ├── prompts/ # 8 MCP Prompts for workflows
565
688
  └── cli/ # CLI interface
@@ -654,5 +777,4 @@ MIT License - see [LICENSE](LICENSE) for details.
654
777
  - [PyPI Package](https://pypi.org/project/kubectl-mcp-server/)
655
778
  - [npm Package](https://www.npmjs.com/package/kubectl-mcp-server)
656
779
  - [Docker Hub](https://hub.docker.com/r/rohitghumare64/kubectl-mcp-server)
657
- - [agentregistry](https://aregistry.ai) - MCP Server Registry
658
780
  - [GitHub Issues](https://github.com/rohitg00/kubectl-mcp-server/issues)
@@ -36,6 +36,7 @@ kubectl_mcp_tool/tools/operations.py
36
36
  kubectl_mcp_tool/tools/pods.py
37
37
  kubectl_mcp_tool/tools/security.py
38
38
  kubectl_mcp_tool/tools/storage.py
39
+ kubectl_mcp_tool/tools/ui.py
39
40
  kubectl_mcp_tool/utils/__init__.py
40
41
  kubectl_mcp_tool/utils/helpers.py
41
42
  tests/__init__.py
@@ -13,3 +13,9 @@ cryptography>=42.0.2
13
13
  rich>=13.0.0
14
14
  aiohttp>=3.8.0
15
15
  aiohttp-sse>=2.1.0
16
+
17
+ [all]
18
+ mcp-ui-server>=0.5.0
19
+
20
+ [ui]
21
+ mcp-ui-server>=0.5.0
@@ -7,7 +7,7 @@ with Kubernetes clusters through natural language commands.
7
7
  For more information, see: https://github.com/rohitg00/kubectl-mcp-server
8
8
  """
9
9
 
10
- __version__ = "1.12.0"
10
+ __version__ = "1.13.0"
11
11
 
12
12
  from .mcp_server import MCPServer
13
13
  from .diagnostics import run_diagnostics, check_kubectl_installation, check_cluster_connection
@@ -43,6 +43,8 @@ from kubectl_mcp_tool.tools import (
43
43
  register_cost_tools,
44
44
  register_browser_tools,
45
45
  is_browser_available,
46
+ register_ui_tools,
47
+ is_ui_available,
46
48
  )
47
49
  from kubectl_mcp_tool.resources import register_resources
48
50
  from kubectl_mcp_tool.prompts import register_prompts
@@ -187,6 +189,13 @@ class MCPServer:
187
189
  else:
188
190
  logger.debug("Browser tools disabled (set MCP_BROWSER_ENABLED=true to enable)")
189
191
 
192
+ # Register MCP-UI tools for interactive dashboards (optional)
193
+ if is_ui_available():
194
+ register_ui_tools(self.server, self.non_destructive)
195
+ logger.info("MCP-UI tools enabled (mcp-ui-server installed)")
196
+ else:
197
+ logger.debug("MCP-UI tools disabled (install mcp-ui-server to enable)")
198
+
190
199
  def setup_resources(self):
191
200
  """Set up MCP resources for Kubernetes data exposure."""
192
201
  register_resources(self.server)
@@ -10,6 +10,7 @@ from .operations import register_operations_tools
10
10
  from .diagnostics import register_diagnostics_tools
11
11
  from .cost import register_cost_tools
12
12
  from .browser import register_browser_tools, is_browser_available
13
+ from .ui import register_ui_tools, is_ui_available
13
14
 
14
15
  __all__ = [
15
16
  "register_helm_tools",
@@ -25,4 +26,6 @@ __all__ = [
25
26
  "register_cost_tools",
26
27
  "register_browser_tools",
27
28
  "is_browser_available",
29
+ "register_ui_tools",
30
+ "is_ui_available",
28
31
  ]