diff --git a/src/devices/bin/driver-registrar/BUILD.gn b/src/devices/bin/driver-registrar/BUILD.gn
new file mode 100644
index 0000000..d108f813
--- /dev/null
+++ b/src/devices/bin/driver-registrar/BUILD.gn
@@ -0,0 +1,15 @@
+# Copyright 2021 The Fuchsia Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+executable("driver-registrar") {
+  sources = [ "driver-registrar.cc" ]
+  configs += [ "//build/unification/config:zircon-migrated" ]
+  deps = [
+    "//sdk/fidl/fuchsia.driver.registrar:fuchsia.driver.registrar_llcpp",
+    "//sdk/fidl/fuchsia.pkg",
+    "//sdk/lib/fdio",
+    "//sdk/lib/fidl/cpp",
+    "//zircon/public/lib/zx",
+  ]
+}
diff --git a/src/devices/bin/driver-registrar/driver-registrar.cc b/src/devices/bin/driver-registrar/driver-registrar.cc
new file mode 100644
index 0000000..677d2fb
--- /dev/null
+++ b/src/devices/bin/driver-registrar/driver-registrar.cc
@@ -0,0 +1,48 @@
+// Copyright 2021 The Fuchsia Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include <fuchsia/driver/registrar/llcpp/fidl.h>
+#include <fuchsia/pkg/cpp/fidl.h>
+#include <lib/fdio/directory.h>
+#include <lib/zx/channel.h>
+#include <stdio.h>
+
+#include <fbl/string_printf.h>
+
+int main(int argc, char* argv[]) {
+  if (argc != 2) {
+    fprintf(stderr, "usage: %s <driver package url>\n", argv[0]);
+    return -1;
+  }
+
+  zx::channel local, remote;
+  zx_status_t status = zx::channel::create(0u, &local, &remote);
+  if (status != ZX_OK) {
+    fprintf(stderr, "Failed to create channel, status %d\n", status);
+    return status;
+  }
+
+  const auto svc_path =
+      fbl::StringPrintf("/svc/%s", llcpp::fuchsia::driver::registrar::DriverRegistrar::Name);
+  status = fdio_service_connect(svc_path.c_str(), remote.release());
+  if (status != ZX_OK) {
+    fprintf(stderr, "fdio_service_connect failed, pathc %s, status %d\n", svc_path.c_str(), status);
+    return status;
+  }
+  llcpp::fuchsia::driver::registrar::DriverRegistrar::SyncClient client(std::move(local));
+
+  auto resp =
+      client.Register(llcpp::fuchsia::pkg::PackageUrl{fidl::unowned_str(argv[1], strlen(argv[1]))});
+  if (!resp.ok()) {
+    fprintf(stderr, "Failed to call DriverRegistrar::Register for driver package %s\n", argv[1]);
+    return -1;
+  }
+  if (resp->result.is_err()) {
+    fprintf(stderr, "DriverRegistrar::Register returned err %d for driver package %s\n",
+            resp->result.err(), argv[1]);
+    return -1;
+  }
+  printf("DriverRegistrar::Register successfully registered driver package %s\n", argv[1]);
+  return 0;
+}
diff --git a/src/devices/bin/driver_manager/meta/driver_manager.cml b/src/devices/bin/driver_manager/meta/driver_manager.cml
index e04cbc4..8a9e107 100644
--- a/src/devices/bin/driver_manager/meta/driver_manager.cml
+++ b/src/devices/bin/driver_manager/meta/driver_manager.cml
@@ -1,4 +1,5 @@
 {
+    include: [ "sdk/lib/diagnostics/syslog/client.shard.cml" ],
     program: {
         binary: "bin/driver_manager",
         lifecycle: { stop_event: "notify" },
@@ -24,6 +25,7 @@
                 "fuchsia.device.manager.BindDebugger",
                 "fuchsia.device.manager.DebugDumper",
                 "fuchsia.device.manager.SystemStateTransition",
+                "fuchsia.driver.registrar.DriverRegistrar",
             ],
         },
     ],
@@ -77,9 +79,9 @@
                 "fuchsia.device.manager.BindDebugger",
                 "fuchsia.device.manager.DebugDumper",
                 "fuchsia.device.manager.SystemStateTransition",
+                "fuchsia.driver.registrar.DriverRegistrar",
             ],
             from: "self",
         },
     ],
-    include: [ "sdk/lib/diagnostics/syslog/client.shard.cml" ],
 }
diff --git a/src/devices/bundles/BUILD.gn b/src/devices/bundles/BUILD.gn
index f42015c..fb95870 100644
--- a/src/devices/bundles/BUILD.gn
+++ b/src/devices/bundles/BUILD.gn
@@ -118,6 +118,7 @@
 
 group("utils") {
   deps = [
+    "//src/devices/bin/driver-registrar",
     "//src/devices/bin/driverctl",
     "//src/devices/bin/lsdev",
     "//src/devices/bin/unbind",
diff --git a/src/sys/appmgr/meta/appmgr.cml b/src/sys/appmgr/meta/appmgr.cml
index c5af15d..af894bd 100644
--- a/src/sys/appmgr/meta/appmgr.cml
+++ b/src/sys/appmgr/meta/appmgr.cml
@@ -232,6 +232,10 @@
             path: "/svc_for_sys/fuchsia.device.manager.BindDebugger",
         },
         {
+            protocol: "fuchsia.driver.registrar.DriverRegistrar",
+            path: "/svc_for_sys/fuchsia.driver.registrar.DriverRegistrar",
+        },
+        {
             protocol: "fuchsia.hardware.pci.Bus",
             path: "/svc_for_sys/fuchsia.hardware.pci.Bus",
         },
diff --git a/src/sys/bootstrap/meta/bootstrap.cml b/src/sys/bootstrap/meta/bootstrap.cml
index 418b2ac..0c8a099 100644
--- a/src/sys/bootstrap/meta/bootstrap.cml
+++ b/src/sys/bootstrap/meta/bootstrap.cml
@@ -749,6 +749,7 @@
                 "fuchsia.device.manager.BindDebugger",
                 "fuchsia.device.manager.DebugDumper",
                 "fuchsia.device.manager.SystemStateTransition",
+                "fuchsia.driver.registrar.DriverRegistrar",
             ],
             from: "#driver_manager",
         },
diff --git a/src/sys/bootstrap/meta/root.cml b/src/sys/bootstrap/meta/root.cml
index 692b9df..bab8263 100644
--- a/src/sys/bootstrap/meta/root.cml
+++ b/src/sys/bootstrap/meta/root.cml
@@ -133,6 +133,7 @@
                 "fuchsia.diagnostics.ArchiveAccessor",
                 "fuchsia.diagnostics.FeedbackArchiveAccessor",
                 "fuchsia.diagnostics.LegacyMetricsArchiveAccessor",
+                "fuchsia.driver.registrar.DriverRegistrar",
                 "fuchsia.hardware.power.statecontrol.Admin",
                 "fuchsia.hardware.power.statecontrol.RebootMethodsWatcherRegister",
                 "fuchsia.hardware.pty.Device",
diff --git a/src/sys/core/meta/core.cml b/src/sys/core/meta/core.cml
index a10544d..b85c287 100644
--- a/src/sys/core/meta/core.cml
+++ b/src/sys/core/meta/core.cml
@@ -169,6 +169,7 @@
                 "fuchsia.device.manager.Administrator",
                 "fuchsia.device.manager.DebugDumper",
                 "fuchsia.device.NameProvider",
+                "fuchsia.driver.registrar.DriverRegistrar",
                 "fuchsia.hardware.power.statecontrol.Admin",
                 "fuchsia.hardware.power.statecontrol.RebootMethodsWatcherRegister",
                 "fuchsia.hardware.pty.Device",
