diff --git a/geomagio/edge/MiniSeedInputClient.py b/geomagio/edge/MiniSeedInputClient.py
index a25d31ce89741d8483aa9a1bf55220b1d2c3358e..9084153fe93989e33e77358b5239dfd361f25e98 100644
--- a/geomagio/edge/MiniSeedInputClient.py
+++ b/geomagio/edge/MiniSeedInputClient.py
@@ -25,7 +25,7 @@ class MiniSeedInputClient(object):
         Floating point precision for output data
     """
 
-    def __init__(self, host, port=2061, encoding="float32"):
+    def __init__(self, host, port=7974, encoding="float32"):
         self.host = host
         self.port = port
         self.encoding = encoding
diff --git a/geomagio/processing/factory.py b/geomagio/processing/factory.py
index 481b0459b5f038dfe966ec047646e01c08ed3208..4a1db7ac78eb142e9556b25408f64a0bdde508b5 100644
--- a/geomagio/processing/factory.py
+++ b/geomagio/processing/factory.py
@@ -7,15 +7,33 @@ def get_edge_factory(
     data_type="variation",
     host=os.getenv("EDGE_HOST", "127.0.0.1"),
     interval="second",
+    input_port=2060,
+    output_port=7981,
     **kwargs
 ) -> EdgeFactory:
-    return EdgeFactory(host=host, interval=interval, type=data_type, **kwargs)
+    return EdgeFactory(
+        host=host,
+        interval=interval,
+        type=data_type,
+        port=input_port,
+        write_port=output_port,
+        **kwargs
+    )
 
 
 def get_miniseed_factory(
     data_type="variation",
     host=os.getenv("EDGE_HOST", "127.0.0.1"),
     interval="second",
+    input_port=2061,
+    output_port=7974,
     **kwargs
 ) -> MiniSeedFactory:
-    return MiniSeedFactory(host=host, interval=interval, type=data_type, **kwargs)
+    return MiniSeedFactory(
+        host=host,
+        interval=interval,
+        type=data_type,
+        port=input_port,
+        write_port=output_port,
+        **kwargs
+    )
diff --git a/geomagio/processing/filters.py b/geomagio/processing/filters.py
index 54b9e408c143dca7683b8bc2ce5db9c7476d33ae..e69d762e62ebd4abb95cf4fc7965d8a5886d36ef 100644
--- a/geomagio/processing/filters.py
+++ b/geomagio/processing/filters.py
@@ -29,6 +29,8 @@ def main():
 def day_command(
     observatory: str = Argument(None, help="observatory id"),
     input_host: str = Option("127.0.0.1", help="host to request data from"),
+    input_port: int = Option(None, help="port to retrieve data through"),
+    output_port: int = Option(None, help="port to write data through"),
     output_host: str = Option("127.0.0.1", help="host to write data to"),
     realtime_interval: int = Option(
         604800, help="length of update window (in seconds)"
@@ -37,8 +39,8 @@ def day_command(
 ):
     day_filter(
         observatory=observatory,
-        input_factory=get_miniseed_factory(host=input_host),
-        output_factory=get_miniseed_factory(host=output_host),
+        input_factory=get_miniseed_factory(host=input_host, input_port=input_port),
+        output_factory=get_miniseed_factory(host=output_host, output_port=output_port),
         realtime_interval=realtime_interval,
         update_limit=update_limit,
     )
@@ -50,9 +52,9 @@ def day_command(
             ("UK3", "PK3"),
             ("UK4", "PK4"),
         ),
-        input_factory=get_edge_factory(host=input_host),
+        input_factory=get_edge_factory(host=input_host, input_port=input_port),
         input_interval="minute",
-        output_factory=get_miniseed_factory(host=output_host),
+        output_factory=get_miniseed_factory(host=output_host, output_port=output_port),
         output_interval="day",
         realtime_interval=realtime_interval,
         update_limit=update_limit,
@@ -67,13 +69,15 @@ def hour_command(
     observatory: str = Argument(None, help="observatory id"),
     input_host: str = Option("127.0.0.1", help="host to request data from"),
     output_host: str = Option("127.0.0.1", help="host to write data to"),
+    input_port: int = Option(None, help="port to retrieve data through"),
+    output_port: int = Option(None, help="port to write data through"),
     realtime_interval: int = Option(86400, help="length of update window (in seconds)"),
     update_limit: int = Option(24, help="number of update windows"),
 ):
     hour_filter(
         observatory=observatory,
-        input_factory=get_miniseed_factory(host=input_host),
-        output_factory=get_miniseed_factory(host=output_host),
+        input_factory=get_miniseed_factory(host=input_host, input_port=input_port),
+        output_factory=get_miniseed_factory(host=output_host, output_port=output_port),
         realtime_interval=realtime_interval,
         update_limit=update_limit,
     )
@@ -85,9 +89,9 @@ def hour_command(
             ("UK3", "RK3"),
             ("UK4", "RK4"),
         ),
-        input_factory=get_edge_factory(host=input_host),
+        input_factory=get_edge_factory(host=input_host, input_port=input_port),
         input_interval="minute",
-        output_factory=get_miniseed_factory(host=output_host),
+        output_factory=get_miniseed_factory(host=output_host, output_port=output_port),
         output_interval="hour",
         realtime_interval=realtime_interval,
         update_limit=update_limit,
@@ -120,6 +124,8 @@ def realtime_command(
     observatory: str = Argument(None, help="observatory id"),
     input_host: str = Option("127.0.0.1", help="host to request data from"),
     output_host: str = Option("127.0.0.1", help="host to write data to"),
+    input_port: int = Option(None, help="port to retrieve data through"),
+    output_port: int = Option(None, help="port to write data through"),
     data_format: DataFormat = Option(DataFormat.PCDCP, help="Data acquisition system"),
     realtime_interval: int = Option(600, help="length of update window (in seconds)"),
     update_limit: int = Option(10, help="number of update windows"),
@@ -128,9 +134,11 @@ def realtime_command(
         second_filter(
             observatory=observatory,
             input_factory=get_miniseed_factory(
-                host=input_host, convert_channels=("U", "V", "W")
+                host=input_host, convert_channels=("U", "V", "W"), input_port=input_port
+            ),
+            output_factory=get_miniseed_factory(
+                host=output_host, output_port=output_port
             ),
-            output_factory=get_miniseed_factory(host=output_host),
             realtime_interval=realtime_interval,
             update_limit=update_limit,
         )
@@ -143,8 +151,8 @@ def realtime_command(
                 ("F", "F"),
             ),
             interval="second",
-            input_factory=get_miniseed_factory(host=input_host),
-            output_factory=get_edge_factory(host=output_host),
+            input_factory=get_miniseed_factory(host=input_host, input_port=input_port),
+            output_factory=get_edge_factory(host=output_host, output_port=output_port),
             realtime_interval=realtime_interval,
             update_limit=update_limit,
         )
@@ -156,9 +164,9 @@ def realtime_command(
                 ("LK3", "UK3"),
                 ("LK4", "UK4"),
             ),
-            input_factory=get_miniseed_factory(host=input_host),
+            input_factory=get_miniseed_factory(host=input_host, input_port=input_port),
             input_interval="second",
-            output_factory=get_edge_factory(host=output_host),
+            output_factory=get_edge_factory(host=output_host, output_port=output_port),
             output_interval="minute",
             realtime_interval=realtime_interval,
             update_limit=update_limit,
@@ -173,16 +181,18 @@ def realtime_command(
                 ("F", "F"),
             ),
             interval="second",
-            input_factory=get_edge_factory(host=input_host),
-            output_factory=get_miniseed_factory(host=output_host),
+            input_factory=get_edge_factory(host=input_host, input_port=input_port),
+            output_factory=get_miniseed_factory(
+                host=output_host, output_port=output_port
+            ),
             realtime_interval=realtime_interval,
             update_limit=update_limit,
         )
     minute_filter(
         observatory=observatory,
         channels=("U", "V", "W", "F"),
-        input_factory=get_miniseed_factory(host=input_host),
-        output_factory=get_miniseed_factory(host=output_host),
+        input_factory=get_miniseed_factory(host=input_host, input_port=input_port),
+        output_factory=get_miniseed_factory(host=output_host, output_port=output_port),
         realtime_interval=realtime_interval,
         update_limit=update_limit,
     )
@@ -196,8 +206,8 @@ def realtime_command(
                 ("F", "F"),
             ),
             interval="minute",
-            input_factory=get_miniseed_factory(host=input_host),
-            output_factory=get_edge_factory(host=output_host),
+            input_factory=get_miniseed_factory(host=input_host, input_port=input_port),
+            output_factory=get_edge_factory(host=output_host, output_port=output_port),
             realtime_interval=realtime_interval,
             update_limit=update_limit,
         )