diff --git a/MAKEDOC b/MAKEDOC
new file mode 100755
index 0000000..8cb87de
--- /dev/null
+++ b/MAKEDOC
@@ -0,0 +1,49 @@
+#!/bin/bash
+# Copyright 2020-present Open Networking Foundation
+# Original copyright 2020-present ADTRAN, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+
+for version in $(curl -s https://pypi.org/pypi/device-management-interface/json | jq '.releases | keys' | jq '.[]'); do
+    version=${version//\"/}
+    filename=dmi_${version//\./\_}
+
+    if [ -d ./grpc_robot/services/dmi/"$filename" ]; then
+
+        python3 -m pip install -q device-management-interface=="$version"
+
+        python3 -m robot.libdoc -P . grpc_robot.Dmi docs/"$filename".html
+        python3 -m robot.libdoc -P . grpc_robot.Dmi docs/"$filename".xml
+    fi
+
+done
+
+for version in $(curl -s https://pypi.org/pypi/voltha-protos/json | jq '.releases | keys' | jq '.[]'); do
+    version=${version//\"/}
+    filename=voltha_${version//\./\_}
+
+    if [ -d ./grpc_robot/services/voltha/"$filename" ]; then
+
+        python3 -m pip install -q voltha-protos=="$version"
+
+        python3 -m robot.libdoc -P . grpc_robot.Voltha docs/"$filename".html
+        python3 -m robot.libdoc -P . grpc_robot.Voltha docs/"$filename".xml
+    fi
+
+done
+
+python3 -m robot.libdoc -P . grpc_robot.Collections docs/collections.html
+python3 -m robot.libdoc -P . grpc_robot.Collections docs/collections.xml
+python3 -m robot.libdoc -P . grpc_robot.DmiTools docs/dmi_tools.html
+python3 -m robot.libdoc -P . grpc_robot.DmiTools docs/dmi_tools.xml
+python3 -m robot.libdoc -P . grpc_robot.VolthaTools docs/voltha_tools.html
+python3 -m robot.libdoc -P . grpc_robot.VolthaTools docs/voltha_tools.xml
