diff --git a/scout/commands/serve.py b/scout/commands/serve.py
index <HASH>..<HASH> 100644
--- a/scout/commands/serve.py
+++ b/scout/commands/serve.py
@@ -17,7 +17,15 @@ from scout.server.app import create_app
 @click.pass_context
 def serve(context, config, host, port, debug, livereload):
     """Start the web server."""
-    app = create_app(config_file=os.path.abspath(config))
+    pymongo_config = dict(
+        MONGO_HOST=context.obj['host'],
+        MONGO_PORT=context.obj['port'],
+        MONGO_DBNAME=context.obj['mongodb'],
+        MONGO_USERNAME=context.obj['username'],
+        MONGO_PASSWORD=context.obj['password'],
+    )
+    config = os.path.abspath(config) if config else None
+    app = create_app(config=pymongo_config, config_file=config)
     if livereload:
         server = Server(app.wsgi_app)
         server.serve(host=host, port=port, debug=debug)
Use mongo settings from base CLI in serve command
Fix issue with getting abs path of config