diff --git a/mcpgateway/services/tool_service.py b/mcpgateway/services/tool_service.py index 5616e0ff4..3f10890d9 100644 --- a/mcpgateway/services/tool_service.py +++ b/mcpgateway/services/tool_service.py @@ -1466,6 +1466,9 @@ async def invoke_tool( gateway_id = getattr(tool, "gateway_id", None) if gateway_id and isinstance(gateway_id, str): global_context.server_id = gateway_id + # Propagate user email to global context for plugin access + if app_user_email and isinstance(app_user_email, str): + global_context.user = app_user_email else: # Create new context (fallback when middleware didn't run) # Use correlation ID from context if available, otherwise generate new one