diff --git a/utils/ipc/generate.py b/utils/ipc/generate.py
new file mode 100755
index 00000000..39160aa2
--- /dev/null
+++ b/utils/ipc/generate.py
@@ -0,0 +1,17 @@
+#!/usr/bin/env python3
+
+import argparse
+import os
+import sys
+import mojo.public.tools.bindings.mojom_bindings_generator as generator
+
+def _GetModulePath(path, output_dir):
+  return os.path.join(output_dir, path.relative_path())
+
+generator._BUILTIN_GENERATORS = {'libcamera': 'mojom_libcamera_generator'}
+generator._GetModulePath = _GetModulePath
+sys.path.append(os.path.join(os.path.dirname(__file__), 'utils/ipc'))
+
+generator.main()
+
+#./bindings/mojom_bindings_generator.py generate -g libcamera --bytecode_path . ./raspberrypi.mojom
