- {servers.length === 0
- ? "No MCP servers configured. Add servers in Tools -> MCP Servers."
- : activeTab === "connected"
- ? "No servers connected yet."
- : "No servers match your search."}
-
+
{filtered.map((server, idx) => {
@@ -508,16 +550,16 @@ const MCPAppsPanel: React.FC
= ({ accessToken, selectedServers, onChange,
const color = getAvatarColor(name);
const isLeftCol = idx % 2 === 0;
const count = toolCounts[name];
- const unsupported = !!connectMode && isUnsupportedOnGatewayConnect(server.auth_type);
+ const unavailable = connectUnavailabilityLabel(server) !== null;
return (
setDetailServer(server)}
+ onClick={() => setDetailServerId(server.server_id)}
className={`flex items-center gap-3 p-4 bg-card cursor-pointer transition-colors hover:bg-accent/30 min-w-0 ${
isLeftCol ? "border-r" : ""
} ${Math.floor(idx / 2) < Math.floor((filtered.length - 1) / 2) ? "border-b" : ""} ${
- unsupported ? "opacity-50" : ""
+ unavailable ? "opacity-50" : ""
}`}
>
{server.mcp_info?.logo_url ? (
diff --git a/ui/litellm-dashboard/src/components/mcp_tools/types.tsx b/ui/litellm-dashboard/src/components/mcp_tools/types.tsx
index de497d91afe..44ac25ea955 100644
--- a/ui/litellm-dashboard/src/components/mcp_tools/types.tsx
+++ b/ui/litellm-dashboard/src/components/mcp_tools/types.tsx
@@ -436,6 +436,7 @@ export interface MCPServer {
byok_description?: string[] | null;
byok_api_key_help_url?: string | null;
has_user_credential?: boolean | null;
+ connected_app_reachable?: boolean | null;
/** GitHub / source repository URL */
source_url?: string | null;
diff --git a/ui/litellm-dashboard/src/components/networking.tsx b/ui/litellm-dashboard/src/components/networking.tsx
index a15767d26cb..84549c8d0f9 100644
--- a/ui/litellm-dashboard/src/components/networking.tsx
+++ b/ui/litellm-dashboard/src/components/networking.tsx
@@ -4782,9 +4782,12 @@ export const fetchDiscoverableMCPServers = async (accessToken: string) => {
}
};
-export const fetchMCPServers = async (accessToken: string, teamId?: string | null) => {
+export const fetchMCPServers = async (accessToken: string, teamId?: string | null, connectedAppView?: boolean) => {
try {
- return await apiClient.get(`/v1/mcp/server`, { accessToken, query: { team_id: teamId || undefined } });
+ return await apiClient.get(`/v1/mcp/server`, {
+ accessToken,
+ query: { team_id: teamId || undefined, connected_app_view: connectedAppView || undefined },
+ });
} catch (error) {
console.error("Failed to fetch MCP servers:", error);
throw error;