diff --git a/ui/litellm-dashboard/src/app/(dashboard)/agents/_components/add_agent_form.tsx b/ui/litellm-dashboard/src/app/(dashboard)/agents/_components/add_agent_form.tsx index 8ca2b5afe16..fd6e6313061 100644 --- a/ui/litellm-dashboard/src/app/(dashboard)/agents/_components/add_agent_form.tsx +++ b/ui/litellm-dashboard/src/app/(dashboard)/agents/_components/add_agent_form.tsx @@ -265,14 +265,19 @@ const AddAgentForm: React.FC = ({ visible, onClose, accessTok const mcpToolPermissions = values.mcp_tool_permissions || {}; const entitlementModels = values.entitlement_models || []; const entitlementAgents = values.entitlement_agents || []; + const canDelegate = values.mcp_can_delegate === true; const hasObjectPermission = mcpServersAndGroups?.servers?.length > 0 || mcpServersAndGroups?.accessGroups?.length > 0 || Object.keys(mcpToolPermissions).length > 0 || entitlementModels.length > 0 || - entitlementAgents.length > 0; + entitlementAgents.length > 0 || + canDelegate; if (hasObjectPermission) { agentData.object_permission = {}; + if (canDelegate) { + agentData.object_permission.mcp_can_delegate = true; + } if (mcpServersAndGroups?.servers?.length > 0) { agentData.object_permission.mcp_servers = mcpServersAndGroups.servers; } @@ -467,6 +472,22 @@ const AddAgentForm: React.FC = ({ visible, onClose, accessTok )} + + Can act on behalf of users (delegation) + + + } + name="mcp_can_delegate" + valuePropName="checked" + initialValue={false} + > + + ); diff --git a/ui/litellm-dashboard/src/app/(dashboard)/agents/_components/agent_info.tsx b/ui/litellm-dashboard/src/app/(dashboard)/agents/_components/agent_info.tsx index d82ef82df8c..c3f4dd20490 100644 --- a/ui/litellm-dashboard/src/app/(dashboard)/agents/_components/agent_info.tsx +++ b/ui/litellm-dashboard/src/app/(dashboard)/agents/_components/agent_info.tsx @@ -285,11 +285,15 @@ const AgentInfoView: React.FC = ({ agentId, onClose, accessT {agent.object_permission && (agent.object_permission.mcp_servers?.length || agent.object_permission.mcp_access_groups?.length || + agent.object_permission.mcp_can_delegate || (agent.object_permission.mcp_tool_permissions && Object.keys(agent.object_permission.mcp_tool_permissions).length > 0)) && (
MCP Tool Permissions + {agent.object_permission.mcp_can_delegate && ( + Yes + )} {agent.object_permission.mcp_servers && agent.object_permission.mcp_servers.length > 0 && ( {agent.object_permission.mcp_servers.join(", ")} diff --git a/ui/litellm-dashboard/src/components/agents/types.ts b/ui/litellm-dashboard/src/components/agents/types.ts index c29c566a5fe..975f56563eb 100644 --- a/ui/litellm-dashboard/src/components/agents/types.ts +++ b/ui/litellm-dashboard/src/components/agents/types.ts @@ -8,6 +8,7 @@ export interface AgentObjectPermission { mcp_servers?: string[]; mcp_access_groups?: string[]; mcp_tool_permissions?: Record; + mcp_can_delegate?: boolean; } export interface Agent {