diff --git a/raven/base.py b/raven/base.py
index <HASH>..<HASH> 100644
--- a/raven/base.py
+++ b/raven/base.py
@@ -287,8 +287,13 @@ class Client(object):
 
         if not data.get('level'):
             data['level'] = kwargs.get('level') or logging.ERROR
-        data['modules'] = get_versions(self.include_paths)
-        data['server_name'] = self.name
+
+        if not data.get('server_name'):
+            data['server_name'] = self.name
+
+        if not data.get('modules'):
+            data['modules'] = get_versions(self.include_paths)
+
         data['tags'] = tags
         data.setdefault('extra', {})
         data.setdefault('level', logging.ERROR)
Client can now take explicit server_name and modules