[Feature]: Include server_name in /v1/mcp/server/health endpoint response (#15431)

* Initial plan

* Add server_name to MCP health check response

Co-authored-by: ishaan-jaff <29436595+ishaan-jaff@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: ishaan-jaff <29436595+ishaan-jaff@users.noreply.github.com>
This commit is contained in:
Copilot 2025-10-10 17:37:53 -07:00 • committed by GitHub
parent bb8dfe46c0
commit b9eb05ea63
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 9 additions and 0 deletions

View file

@ -1380,6 +1380,7 @@ class MCPServerManager:
if not server:
return {
"server_id": server_id,
"server_name": None,
"status": "unknown",
"error": "Server not found",
"last_health_check": datetime.now().isoformat(),
@ -1394,6 +1395,7 @@ class MCPServerManager:
return {
"server_id": server_id,
"server_name": server.name,
"status": "healthy",
"tools_count": len(tools),
"last_health_check": datetime.now().isoformat(),
@ -1406,6 +1408,7 @@ class MCPServerManager:
return {
"server_id": server_id,
"server_name": server.name,
"status": "unhealthy",
"last_health_check": datetime.now().isoformat(),
"response_time_ms": round(response_time, 2),

View file

@ -483,6 +483,7 @@ class TestMCPHealthCheckEndpoints:
mock_manager.health_check_server = AsyncMock(
return_value={
"server_id": "test-server",
"server_name": "Test Server",
"status": "healthy",
"tools_count": 3,
"last_health_check": "2024-01-01T12:00:00",
@ -519,6 +520,7 @@ class TestMCPHealthCheckEndpoints:
# Verify results
assert result["server_id"] == "test-server"
assert result["server_name"] == "Test Server"
assert result["status"] == "healthy"
assert result["tools_count"] == 3
assert result["response_time_ms"] == 150.5
@ -631,6 +633,7 @@ class TestMCPHealthCheckEndpoints:
return_value={
"server1": {
"server_id": "server1",
"server_name": "Test DB Server",
"status": "healthy",
"tools_count": 2,
"last_health_check": "2024-01-01T12:00:00",
@ -639,6 +642,7 @@ class TestMCPHealthCheckEndpoints:
},
"server2": {
"server_id": "server2",
"server_name": "Test DB Server",
"status": "unhealthy",
"last_health_check": "2024-01-01T12:00:00",
"response_time_ms": 5000.0,
@ -684,8 +688,10 @@ class TestMCPHealthCheckEndpoints:
# Check individual server results
assert result["servers"]["server1"]["status"] == "healthy"
assert result["servers"]["server1"]["tools_count"] == 2
assert result["servers"]["server1"]["server_name"] == "Test DB Server"
assert result["servers"]["server2"]["status"] == "unhealthy"
assert result["servers"]["server2"]["error"] == "Connection timeout"
assert result["servers"]["server2"]["server_name"] == "Test DB Server"
@pytest.mark.asyncio
async def test_fetch_all_mcp_servers_with_health_status(self):