diff --git a/lib/vpd_utils.py b/lib/vpd_utils.py
new file mode 100644
index 0000000..4d15173
--- /dev/null
+++ b/lib/vpd_utils.py
@@ -0,0 +1,48 @@
+#!/usr/bin/env python
+
+r"""
+VPD functions.
+"""
+
+import func_args as fa
+import bmc_ssh_utils as bsu
+import json
+
+
+def vpdtool(option_string, **bsu_options):
+    r"""
+    Run vpdtool on the BMC with the caller's option string and return the result.
+
+    Example:
+
+    ${vpd_results}=  vpd-tool -i
+    Rprint Vars  vpd_results
+
+    vpd_results:
+      [/system/chassis/motherboard]:
+        [PN]:                                         PN12345
+        [SN]:                                         YL2E2D010000
+        [LocationCode]:                               U78DA.ND1.       -P0
+        [CC]:                                         2E2D
+        [DR]:                                         SYSTEM BACKPLANE
+        [FN]:                                         F191014
+        [type]:                                       xyz.openbmc_project.Inventory.Item.Board.Motherboard
+      [/system/chassis/motherboard/ebmc_card_bmc]:
+        [PN]:                                         PN12345
+        [SN]:                                         YL6B58010000
+        [LocationCode]:                               U78DA.ND1.       -P0-C5
+        [CC]:                                         6B58
+        [DR]:                                         EBMC
+        [FN]:                                         F191014
+        [type]:                                       xyz.openbmc_project.Inventory.Item.Bmc
+
+    Description of argument(s):
+    option_string                   A string of options which are to be processed by the vpd-tool command.
+    bsu_options                     Options to be passed directly to bmc_execute_command. See its prolog for
+                                    details.
+    """
+
+    bsu_options = fa.args_to_objects(bsu_options)
+    out_buf, stderr, rc = bsu.bmc_execute_command('vpd-tool ' + option_string, **bsu_options)
+    out_buf = json.loads(out_buf)
+    return out_buf
