gRPC ports config
diff --git a/python-cli/mft_cli/airavata_mft_cli/config.py b/python-cli/mft_cli/airavata_mft_cli/config.py
new file mode 100644
index 0000000..b5be669
--- /dev/null
+++ b/python-cli/mft_cli/airavata_mft_cli/config.py
@@ -0,0 +1,7 @@
+transfer_api_port = 7004
+transfer_api_secured = False
+resource_service_host = "localhost"
+resource_service_port = 7002
+resource_service_secured = False
+secret_service_host = "localhost"
+secret_service_port = 7003
\ No newline at end of file
diff --git a/python-cli/mft_cli/airavata_mft_cli/operations.py b/python-cli/mft_cli/airavata_mft_cli/operations.py
index e6b9aec..40fbe64 100644
--- a/python-cli/mft_cli/airavata_mft_cli/operations.py
+++ b/python-cli/mft_cli/airavata_mft_cli/operations.py
@@ -23,15 +23,18 @@
 from rich.console import Console
 from rich.table import Table
 import time
+import sys
+sys.path.append('.')
+from . import config as configcli
 
 def fetch_storage_and_secret_ids(storage_name):
-  client = mft_client.MFTClient(transfer_api_port = 7003,
-                                transfer_api_secured = False,
-                                resource_service_host = "localhost",
-                                resource_service_port = 7003,
-                                resource_service_secured = False,
-                                secret_service_host = "localhost",
-                                secret_service_port = 7003)
+  client = mft_client.MFTClient(transfer_api_port = configcli.transfer_api_port,
+                                transfer_api_secured = configcli.transfer_api_secured,
+                                resource_service_host = configcli.resource_service_host,
+                                resource_service_port = configcli.resource_service_port,
+                                resource_service_secured = configcli.resource_service_secured,
+                                secret_service_host = configcli.secret_service_host,
+                                secret_service_port = configcli.secret_service_port)
   search_req = StorageCommon_pb2.StorageSearchRequest(storageName=storage_name)
   storages = client.common_api.searchStorages(search_req)
 
@@ -68,13 +71,13 @@
                                                                 resourcePath = resource_path)
   resource_medata_req = MFTTransferApi_pb2.FetchResourceMetadataRequest(idRequest = id_req)
 
-  client = mft_client.MFTClient(transfer_api_port = 7003,
-                                transfer_api_secured = False,
-                                resource_service_host = "localhost",
-                                resource_service_port = 7003,
-                                resource_service_secured = False,
-                                secret_service_host = "localhost",
-                                secret_service_port = 7003)
+  client = mft_client.MFTClient(transfer_api_port = configcli.transfer_api_port,
+                                transfer_api_secured = configcli.transfer_api_secured,
+                                resource_service_host = configcli.resource_service_host,
+                                resource_service_port = configcli.resource_service_port,
+                                resource_service_secured = configcli.resource_service_secured,
+                                secret_service_host = configcli.secret_service_host,
+                                secret_service_port = configcli.secret_service_port)
 
   metadata_resp = client.transfer_api.resourceMetadata(resource_medata_req)
   return metadata_resp
@@ -167,19 +170,19 @@
                           " files to be transferred. Total volume is " + str(total_volume)
                           + " bytes. Do you want to start the transfer? ", True)
 
-  client = mft_client.MFTClient(transfer_api_port = 7003,
-                                transfer_api_secured = False,
-                                resource_service_host = "localhost",
-                                resource_service_port = 7003,
-                                resource_service_secured = False,
-                                secret_service_host = "localhost",
-                                secret_service_port = 7003)
+  if not confirm:
+      raise typer.Abort()
+
+  client = mft_client.MFTClient(transfer_api_port = configcli.transfer_api_port,
+                                transfer_api_secured = configcli.transfer_api_secured,
+                                resource_service_host = configcli.resource_service_host,
+                                resource_service_port = configcli.resource_service_port,
+                                resource_service_secured = configcli.resource_service_secured,
+                                secret_service_host = configcli.secret_service_host,
+                                secret_service_port = configcli.secret_service_port)
 
   transfer_resp = client.transfer_api.submitTransfer(transfer_request)
 
-  if not confirm:
-    raise typer.Abort()
-
   transfer_id = transfer_resp.transferId
 
   state_request = MFTTransferApi_pb2.TransferStateApiRequest(transferId=transfer_id)
diff --git a/python-cli/mft_cli/airavata_mft_cli/storage/__init__.py b/python-cli/mft_cli/airavata_mft_cli/storage/__init__.py
index 6a8a501..552b768 100644
--- a/python-cli/mft_cli/airavata_mft_cli/storage/__init__.py
+++ b/python-cli/mft_cli/airavata_mft_cli/storage/__init__.py
@@ -27,6 +27,9 @@
 from airavata_mft_sdk.common import StorageCommon_pb2
 from rich.console import Console
 from rich.table import Table
+import sys
+sys.path.append('../airavata_mft_cli')
+from airavata_mft_cli import config as configcli
 
 app = typer.Typer()
 
@@ -49,13 +52,13 @@
 
 @app.command("list")
 def list_storage():
-    client = mft_client.MFTClient(transfer_api_port = 7003,
-                                  transfer_api_secured = False,
-                                  resource_service_host = "localhost",
-                                  resource_service_port = 7003,
-                                  resource_service_secured = False,
-                                  secret_service_host = "localhost",
-                                  secret_service_port = 7003)
+    client = mft_client.MFTClient(transfer_api_port = configcli.transfer_api_port,
+                                  transfer_api_secured = configcli.transfer_api_secured,
+                                  resource_service_host = configcli.resource_service_host,
+                                  resource_service_port = configcli.resource_service_port,
+                                  resource_service_secured = configcli.resource_service_secured,
+                                  secret_service_host = configcli.secret_service_host,
+                                  secret_service_port = configcli.secret_service_port)
     list_req = StorageCommon_pb2.StorageListRequest()
     list_response = client.common_api.listStorages(list_req)
 
diff --git a/python-cli/mft_cli/airavata_mft_cli/storage/azure.py b/python-cli/mft_cli/airavata_mft_cli/storage/azure.py
index b3a53be..ea523c1 100644
--- a/python-cli/mft_cli/airavata_mft_cli/storage/azure.py
+++ b/python-cli/mft_cli/airavata_mft_cli/storage/azure.py
@@ -25,6 +25,9 @@
 from airavata_mft_sdk import MFTTransferApi_pb2
 from airavata_mft_sdk import MFTAgentStubs_pb2
 from airavata_mft_sdk.common import StorageCommon_pb2
+import sys
+sys.path.append('../airavata_mft_cli')
+from airavata_mft_cli import config as configcli
 
 def handle_add_storage():
 
@@ -34,13 +37,13 @@
     if index == 1: # Manual configuration
         connection_string = typer.prompt("Connection String")
 
-    client = mft_client.MFTClient(transfer_api_port = 7003,
-                                  transfer_api_secured = False,
-                                  resource_service_host = "localhost",
-                                  resource_service_port = 7003,
-                                  resource_service_secured = False,
-                                  secret_service_host = "localhost",
-                                  secret_service_port = 7003)
+    client = mft_client.MFTClient(transfer_api_port = configcli.transfer_api_port,
+                                  transfer_api_secured = configcli.transfer_api_secured,
+                                  resource_service_host = configcli.resource_service_host,
+                                  resource_service_port = configcli.resource_service_port,
+                                  resource_service_secured = configcli.resource_service_secured,
+                                  secret_service_host = configcli.secret_service_host,
+                                  secret_service_port = configcli.secret_service_port)
 
     azure_secret = AzureCredential_pb2.AzureSecret(connectionString = connection_string)
     secret_wrapper = MFTAgentStubs_pb2.SecretWrapper(azure=azure_secret)
diff --git a/python-cli/mft_cli/airavata_mft_cli/storage/gcs.py b/python-cli/mft_cli/airavata_mft_cli/storage/gcs.py
index a479f51..b15f172 100644
--- a/python-cli/mft_cli/airavata_mft_cli/storage/gcs.py
+++ b/python-cli/mft_cli/airavata_mft_cli/storage/gcs.py
@@ -30,6 +30,9 @@
 import base64
 import google.auth
 import googleapiclient.discovery
+import sys
+sys.path.append('../airavata_mft_cli')
+from airavata_mft_cli import config as configcli
 
 gcs_key_path = '.mft/keys/gcs/service_account_key.json'
 
@@ -115,13 +118,13 @@
                 print("No credential found in ~/" + gcs_key_path + " file")
                 exit()
 
-    client = mft_client.MFTClient(transfer_api_port = 7003,
-                                  transfer_api_secured = False,
-                                  resource_service_host = "localhost",
-                                  resource_service_port = 7003,
-                                  resource_service_secured = False,
-                                  secret_service_host = "localhost",
-                                  secret_service_port = 7003)
+    client = mft_client.MFTClient(transfer_api_port = configcli.transfer_api_port,
+                                  transfer_api_secured = configcli.transfer_api_secured,
+                                  resource_service_host = configcli.resource_service_host,
+                                  resource_service_port = configcli.resource_service_port,
+                                  resource_service_secured = configcli.resource_service_secured,
+                                  secret_service_host = configcli.secret_service_host,
+                                  secret_service_port = configcli.secret_service_port)
 
     gcs_secret = GCSCredential_pb2.GCSSecret(clientEmail=client_email, privateKey=client_secret, projectId=project_id)
     secret_wrapper = MFTAgentStubs_pb2.SecretWrapper(gcs=gcs_secret)
diff --git a/python-cli/mft_cli/airavata_mft_cli/storage/local.py b/python-cli/mft_cli/airavata_mft_cli/storage/local.py
index e88c89e..b6de747 100644
--- a/python-cli/mft_cli/airavata_mft_cli/storage/local.py
+++ b/python-cli/mft_cli/airavata_mft_cli/storage/local.py
@@ -20,6 +20,9 @@
 import typer
 from airavata_mft_sdk import mft_client
 from airavata_mft_sdk.local import LocalStorage_pb2
+import sys
+sys.path.append('../airavata_mft_cli')
+from airavata_mft_cli import config as configcli
 
 
 def handle_add_storage():
@@ -27,13 +30,13 @@
     agent_id = typer.prompt("Agent identifier")
     name = typer.prompt("Storage name",agent_id)
 
-    client = mft_client.MFTClient(transfer_api_port = 7003,
-                                  transfer_api_secured = False,
-                                  resource_service_host = "localhost",
-                                  resource_service_port = 7003,
-                                  resource_service_secured = False,
-                                  secret_service_host = "localhost",
-                                  secret_service_port = 7003)
+    client = mft_client.MFTClient(transfer_api_port = configcli.transfer_api_port,
+                                  transfer_api_secured = configcli.transfer_api_secured,
+                                  resource_service_host = configcli.resource_service_host,
+                                  resource_service_port = configcli.resource_service_port,
+                                  resource_service_secured = configcli.resource_service_secured,
+                                  secret_service_host = configcli.secret_service_host,
+                                  secret_service_port = configcli.secret_service_port)
 
     local_storage_create_req = LocalStorage_pb2.LocalStorageCreateRequest(
         agentId = agent_id, name = name)
diff --git a/python-cli/mft_cli/airavata_mft_cli/storage/s3.py b/python-cli/mft_cli/airavata_mft_cli/storage/s3.py
index 478526a..770d2fd 100644
--- a/python-cli/mft_cli/airavata_mft_cli/storage/s3.py
+++ b/python-cli/mft_cli/airavata_mft_cli/storage/s3.py
@@ -27,6 +27,9 @@
 from airavata_mft_sdk.common import StorageCommon_pb2
 import configparser
 import os
+import sys
+sys.path.append('../airavata_mft_cli')
+from airavata_mft_cli import config as configcli
 
 def handle_add_storage():
 
@@ -79,13 +82,13 @@
         region, index = pick(aws_regions, "Select the AWS Region", indicator="=>")
         endpoint = "https://s3." + region + ".amazonaws.com"
 
-    client = mft_client.MFTClient(transfer_api_port = 7003,
-                                  transfer_api_secured = False,
-                                  resource_service_host = "localhost",
-                                  resource_service_port = 7003,
-                                  resource_service_secured = False,
-                                  secret_service_host = "localhost",
-                                  secret_service_port = 7003)
+    client = mft_client.MFTClient(transfer_api_port = configcli.transfer_api_port,
+                                  transfer_api_secured = configcli.transfer_api_secured,
+                                  resource_service_host = configcli.resource_service_host,
+                                  resource_service_port = configcli.resource_service_port,
+                                  resource_service_secured = configcli.resource_service_secured,
+                                  secret_service_host = configcli.secret_service_host,
+                                  secret_service_port = configcli.secret_service_port)
 
     s3_secret = S3Credential_pb2.S3Secret(accessKey=client_id, secretKey=client_secret, sessionToken = session_token)
     secret_wrapper = MFTAgentStubs_pb2.SecretWrapper(s3=s3_secret)
diff --git a/python-cli/mft_cli/airavata_mft_cli/storage/swift.py b/python-cli/mft_cli/airavata_mft_cli/storage/swift.py
index 0bdf5fc..df32346 100644
--- a/python-cli/mft_cli/airavata_mft_cli/storage/swift.py
+++ b/python-cli/mft_cli/airavata_mft_cli/storage/swift.py
@@ -23,6 +23,9 @@
 from airavata_mft_sdk.swift import SwiftCredential_pb2
 from airavata_mft_sdk.swift import SwiftStorage_pb2
 from airavata_mft_sdk.common import StorageCommon_pb2
+import sys
+sys.path.append('../airavata_mft_cli')
+from airavata_mft_cli import config as configcli
 
 def handle_add_storage():
 
@@ -56,13 +59,13 @@
 
     storage_name = typer.prompt("Name of the storage ", container)
 
-    client = mft_client.MFTClient(transfer_api_port = 7003,
-                                  transfer_api_secured = False,
-                                  resource_service_host = "localhost",
-                                  resource_service_port = 7003,
-                                  resource_service_secured = False,
-                                  secret_service_host = "localhost",
-                                  secret_service_port = 7003)
+    client = mft_client.MFTClient(transfer_api_port = configcli.transfer_api_port,
+                                  transfer_api_secured = configcli.transfer_api_secured,
+                                  resource_service_host = configcli.resource_service_host,
+                                  resource_service_port = configcli.resource_service_port,
+                                  resource_service_secured = configcli.resource_service_secured,
+                                  secret_service_host = configcli.secret_service_host,
+                                  secret_service_port = configcli.secret_service_port)
 
 
     swift_storage_create_req = SwiftStorage_pb2.SwiftStorageCreateRequest(region=region_name,