kubectl-mcp-server 1.12.0__py3-none-any.whl → 1.13.0__py3-none-any.whl
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.
- {kubectl_mcp_server-1.12.0.dist-info → kubectl_mcp_server-1.13.0.dist-info}/METADATA +81 -12
- {kubectl_mcp_server-1.12.0.dist-info → kubectl_mcp_server-1.13.0.dist-info}/RECORD +12 -11
- kubectl_mcp_tool/__init__.py +1 -1
- kubectl_mcp_tool/mcp_server.py +9 -0
- kubectl_mcp_tool/tools/__init__.py +3 -0
- kubectl_mcp_tool/tools/ui.py +1068 -0
- tests/test_browser.py +2 -2
- tests/test_tools.py +9 -6
- {kubectl_mcp_server-1.12.0.dist-info → kubectl_mcp_server-1.13.0.dist-info}/WHEEL +0 -0
- {kubectl_mcp_server-1.12.0.dist-info → kubectl_mcp_server-1.13.0.dist-info}/entry_points.txt +0 -0
- {kubectl_mcp_server-1.12.0.dist-info → kubectl_mcp_server-1.13.0.dist-info}/licenses/LICENSE +0 -0
- {kubectl_mcp_server-1.12.0.dist-info → kubectl_mcp_server-1.13.0.dist-info}/top_level.txt +0 -0
tests/test_browser.py
CHANGED
|
@@ -340,10 +340,10 @@ class TestServerIntegration:
|
|
|
340
340
|
tools = asyncio.run(server.server.list_tools())
|
|
341
341
|
tool_names = [t.name for t in tools]
|
|
342
342
|
|
|
343
|
-
# Should have browser tools (
|
|
343
|
+
# Should have browser tools (127 + 19 = 146)
|
|
344
344
|
assert "browser_open" in tool_names
|
|
345
345
|
assert "browser_screenshot" in tool_names
|
|
346
|
-
assert len(tools) ==
|
|
346
|
+
assert len(tools) == 146, f"Expected 146 tools (127 + 19), got {len(tools)}"
|
|
347
347
|
|
|
348
348
|
|
|
349
349
|
import asyncio
|
tests/test_tools.py
CHANGED
|
@@ -12,7 +12,7 @@ from unittest.mock import patch, MagicMock
|
|
|
12
12
|
from datetime import datetime
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
# Complete list of all
|
|
15
|
+
# Complete list of all 127 tools that must be registered (121 core + 6 UI)
|
|
16
16
|
EXPECTED_TOOLS = [
|
|
17
17
|
# Pods (pods.py)
|
|
18
18
|
"get_pods", "get_logs", "get_pod_events", "check_pod_health", "exec_in_pod",
|
|
@@ -61,15 +61,18 @@ EXPECTED_TOOLS = [
|
|
|
61
61
|
"get_namespace_cost_allocation", "optimize_resource_requests", "get_resource_usage",
|
|
62
62
|
# Autoscaling (deployments.py)
|
|
63
63
|
"get_hpa", "get_pdb",
|
|
64
|
+
# UI tools (ui.py) - 6 tools for MCP-UI interactive dashboards
|
|
65
|
+
"show_pod_logs_ui", "show_pods_dashboard_ui", "show_resource_yaml_ui",
|
|
66
|
+
"show_cluster_overview_ui", "show_events_timeline_ui", "render_k8s_dashboard_screenshot",
|
|
64
67
|
]
|
|
65
68
|
|
|
66
69
|
|
|
67
70
|
class TestAllToolsRegistered:
|
|
68
|
-
"""Comprehensive tests to verify all 121 core
|
|
71
|
+
"""Comprehensive tests to verify all 127 tools are registered (121 core + 6 UI)."""
|
|
69
72
|
|
|
70
73
|
@pytest.mark.unit
|
|
71
|
-
def
|
|
72
|
-
"""Verify all
|
|
74
|
+
def test_all_127_tools_registered(self):
|
|
75
|
+
"""Verify all 127 expected tools are registered (excluding optional browser tools)."""
|
|
73
76
|
import os
|
|
74
77
|
from kubectl_mcp_tool.mcp_server import MCPServer
|
|
75
78
|
|
|
@@ -90,8 +93,8 @@ class TestAllToolsRegistered:
|
|
|
90
93
|
tools = asyncio.run(get_tools())
|
|
91
94
|
tool_names = {t.name for t in tools}
|
|
92
95
|
|
|
93
|
-
# Verify count (121 core
|
|
94
|
-
assert len(tools) ==
|
|
96
|
+
# Verify count (127 tools = 121 core + 6 UI, browser tools disabled)
|
|
97
|
+
assert len(tools) == 127, f"Expected 127 tools, got {len(tools)}"
|
|
95
98
|
|
|
96
99
|
# Check for missing tools
|
|
97
100
|
missing_tools = set(EXPECTED_TOOLS) - tool_names
|
|
File without changes
|
{kubectl_mcp_server-1.12.0.dist-info → kubectl_mcp_server-1.13.0.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
{kubectl_mcp_server-1.12.0.dist-info → kubectl_mcp_server-1.13.0.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|
|
File without changes
|