diff --git a/WORKSPACE b/WORKSPACE
index bf609e7..67d3e65 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -249,6 +249,13 @@
     path = "third_party/bazel-toolchain",
 )
 
+http_archive(
+    name = "RangeHTTPServer",
+    sha256 = "98a8e4980f91d048dc9159cfc5f115280d0b5ec59a5b01df0422b887212fa4f0",
+    strip_prefix = "RangeHTTPServer-9070394508a135789238a33259793f3c6f3c127a",
+    url = "https://github.com/jkuszmaul/RangeHTTPServer/archive/9070394508a135789238a33259793f3c6f3c127a.zip",
+)
+
 load("@com_grail_bazel_toolchain//toolchain:rules.bzl", "llvm", "llvm_toolchain")
 
 llvm_version = "17.0.2"
diff --git a/frc971/analysis/BUILD b/frc971/analysis/BUILD
index dd3d092..9b9ab86 100644
--- a/frc971/analysis/BUILD
+++ b/frc971/analysis/BUILD
@@ -216,3 +216,14 @@
         "//third_party/seasocks",
     ],
 )
+
+py_binary(
+    name = "trim_and_plot_foxglove",
+    srcs = ["trim_and_plot_foxglove.py"],
+    data = [
+        ":trim_log_to_enabled",
+        "//aos/util:log_to_mcap",
+        "@foxglove_studio",
+    ],
+    deps = ["@RangeHTTPServer"],
+)
diff --git a/frc971/analysis/trim_and_plot_foxglove.py b/frc971/analysis/trim_and_plot_foxglove.py
new file mode 100644
index 0000000..6812d60
--- /dev/null
+++ b/frc971/analysis/trim_and_plot_foxglove.py
@@ -0,0 +1,51 @@
+import http.server as SimpleHTTPServer
+from RangeHTTPServer import RangeRequestHandler
+import argparse
+import os
+import shutil
+import subprocess
+from tempfile import mkdtemp
+
+parser = argparse.ArgumentParser(
+    description="""Trims & generates MCAP file from log.
+
+Serves foxglove locally, and prints out a URL by which the log can be accessed.
+
+By default, will trim a log to the time period during which the robot was
+enabled. Skips this stip if --skip_trim is passed.""")
+parser.add_argument('--port',
+                    action='store',
+                    default=8000,
+                    type=int,
+                    help='Specify port on which to serve foxglove.')
+parser.add_argument('--skip_trim',
+                    action='store_true',
+                    default=False,
+                    help='If set, do not trim the logfile..')
+parser.add_argument('log',
+                    action='store',
+                    default=None,
+                    type=str,
+                    nargs='+',
+                    help='Log(s) to plot.')
+args = parser.parse_args()
+
+tmpdir = mkdtemp(prefix="foxglove_")
+shutil.copytree("external/foxglove_studio", tmpdir, dirs_exist_ok=True)
+
+trimmed_aos_log = args.log if args.skip_trim else [tmpdir + "/trimmed/"]
+output_mcap = tmpdir + "/log.mcap"
+
+if not args.skip_trim:
+    subprocess.run(["frc971/analysis/trim_log_to_enabled", "--output_folder"] +
+                   trimmed_aos_log + args.log).check_returncode()
+subprocess.run(["aos/util/log_to_mcap", "--output_path", output_mcap] +
+               trimmed_aos_log).check_returncode()
+
+mcap_url = f"http://localhost:{args.port}/log.mcap"
+url_parameters = f"?ds=remote-file&ds.url={mcap_url}"
+print(f"Serving files from {tmpdir}")
+print(f"Local URL: http://localhost:{args.port}/{url_parameters}")
+print(f"Live Website URL: https://studio.foxglove.dev/{url_parameters}")
+os.chdir(tmpdir)
+SimpleHTTPServer.test(HandlerClass=RangeRequestHandler, port=args.port)
