render MCP tools on ui logs page

This commit is contained in:
Ishaan Jaff 2025-03-29 16:01:34 -07:00
parent 08a52f4389
commit fe6c033427
3 changed files with 22 additions and 1 deletions

View file

@ -418,6 +418,7 @@ RESPONSE_FORMAT_TOOL_NAME = "json_tool_call" # default tool name used when conv
########################### Logging Callback Constants ###########################
AZURE_STORAGE_MSFT_VERSION = "2019-07-07"
MCP_TOOL_NAME_PREFIX = "mcp_tool"
########################### LiteLLM Proxy Specific Constants ###########################
########################################################################################

View file

@ -11,6 +11,7 @@ from fastapi.responses import StreamingResponse
from pydantic import ValidationError
from litellm._logging import verbose_logger
from litellm.constants import MCP_TOOL_NAME_PREFIX
from litellm.litellm_core_utils.litellm_logging import Logging as LiteLLMLoggingObj
from litellm.proxy._types import UserAPIKeyAuth
from litellm.proxy.auth.user_api_key_auth import user_api_key_auth
@ -139,6 +140,12 @@ if MCP_AVAILABLE:
litellm_logging_obj.model_call_details["mcp_tool_call_metadata"] = (
standard_logging_mcp_tool_call
)
litellm_logging_obj.model_call_details["model"] = (
f"{MCP_TOOL_NAME_PREFIX}: {standard_logging_mcp_tool_call.get('name') or ''}"
)
litellm_logging_obj.model_call_details["custom_llm_provider"] = (
standard_logging_mcp_tool_call.get("mcp_server_name")
)
# Try managed server tool first
if name in global_mcp_server_manager.tool_name_to_mcp_server_name_mapping:

View file

@ -8,6 +8,19 @@ import { Tooltip } from "antd";
import { TimeCell } from "./time_cell";
import { Button } from "@tremor/react";
// Helper to get the appropriate logo URL
const getLogoUrl = (
row: LogEntry,
provider: string
) => {
// Check if mcp_tool_call_metadata exists and contains mcp_server_logo_url
if (row.metadata?.mcp_tool_call_metadata?.mcp_server_logo_url) {
return row.metadata.mcp_tool_call_metadata.mcp_server_logo_url;
}
// Fall back to default provider logo
return provider ? getProviderLogoAndName(provider).logo : '';
};
export type LogEntry = {
request_id: string;
api_key: string;
@ -177,7 +190,7 @@ export const columns: ColumnDef<LogEntry>[] = [
<div className="flex items-center space-x-2">
{provider && (
<img
src={getProviderLogoAndName(provider).logo}
src={getLogoUrl(row, provider)}
alt=""
className="w-4 h-4"
onError={(e) => {