diff --git a/tools/jersey-http-client-tool/pom.xml b/tools/jersey-http-client-tool/pom.xml
new file mode 100644
index 000000000..aafcc21f8
--- /dev/null
+++ b/tools/jersey-http-client-tool/pom.xml
@@ -0,0 +1,41 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <name>Jersey Http Client Tool</name>
+    <artifactId>jersey-http-client-test</artifactId>
+    <packaging>jar</packaging>
+
+    <parent>
+        <groupId>net.shrine</groupId>
+        <artifactId>shrine-tools</artifactId>
+        <version>1.22.4</version>
+    </parent>
+
+    <dependencies>
+        <dependency>
+            <groupId>com.typesafe</groupId>
+            <artifactId>config</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>net.shrine</groupId>
+            <artifactId>shrine-client</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+    </dependencies>
+    <build>
+        <sourceDirectory>src/main/scala</sourceDirectory>
+        <testSourceDirectory>src/test/scala</testSourceDirectory>
+        <plugins>
+            <plugin>
+                <groupId>net.alchim31.maven</groupId>
+                <artifactId>scala-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <artifactId>maven-assembly-plugin</artifactId>
+                <configuration>
+                    <finalName>jersey-http-client-tool-${project.version}</finalName>
+                    <appendAssemblyId>false</appendAssemblyId>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>
diff --git a/tools/jersey-http-client-tool/src/main/assembly/assembly.xml b/tools/jersey-http-client-tool/src/main/assembly/assembly.xml
new file mode 100644
index 000000000..41f3cf5ee
--- /dev/null
+++ b/tools/jersey-http-client-tool/src/main/assembly/assembly.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
+	<id>dist</id>
+	<formats>
+		<format>zip</format>
+	</formats>
+	<includeBaseDirectory>true</includeBaseDirectory>
+	<fileSets>
+		<fileSet>
+			<directory>src/main/sh</directory>
+			<outputDirectory>.</outputDirectory>
+			<includes>
+				<include>jersey-http-client-tool</include>
+			</includes>
+		</fileSet>
+		<fileSet>
+			<directory>src/main/cmd</directory>
+			<outputDirectory>.</outputDirectory>
+			<includes>
+				<include>jersey-http-client-tool.cmd</include>
+				<include>setup-classpath.cmd</include>
+			</includes>
+		</fileSet>
+		<fileSet>
+			<directory>src/main/conf</directory>
+			<outputDirectory>.</outputDirectory>
+			<includes>
+				<include>log4j.properties</include>
+			</includes>
+		</fileSet>
+	</fileSets>
+	<dependencySets>
+		<dependencySet>
+			<outputDirectory>lib</outputDirectory>
+		</dependencySet>
+	</dependencySets>
+</assembly>
+
diff --git a/tools/jersey-http-client-tool/src/main/cmd/jersey-http-client-tool.cmd b/tools/jersey-http-client-tool/src/main/cmd/jersey-http-client-tool.cmd
new file mode 100644
index 000000000..a2798d6a8
--- /dev/null
+++ b/tools/jersey-http-client-tool/src/main/cmd/jersey-http-client-tool.cmd
@@ -0,0 +1,10 @@
+@echo off
+
+set CONFIG_HOME=.
+
+rem Set up the classpath
+call %CONFIG_HOME%\setup-classpath.cmd
+
+@set JVM_ARGS=-Xmx1024m -Xms128m
+
+@java %JVM_ARGS% -Dlog4j.configuration=log4j.properties -Djavax.net.debug=ssl:handshake -classpath %CONFIG_CP% net.shrine.utilities.jerseyhttpclienttool.JerseyHttpClientTool %*
\ No newline at end of file
diff --git a/tools/jersey-http-client-tool/src/main/cmd/setup-classpath.cmd b/tools/jersey-http-client-tool/src/main/cmd/setup-classpath.cmd
new file mode 100644
index 000000000..1c88ff587
--- /dev/null
+++ b/tools/jersey-http-client-tool/src/main/cmd/setup-classpath.cmd
@@ -0,0 +1,22 @@
+REM 
+REM http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/batch.mspx?mfr=true
+
+@echo off
+
+@set CONFIG_CP=.
+@set LIB_DIR=%CONFIG_CP%\lib
+
+for /F %%G in ('dir /b %CONFIG_CP%\lib') do (call :append %%G)
+
+@set CONFIG_DIR=conf
+
+call :append %CONFIG_DIR%
+
+REM @echo %CONFIG_CP%
+
+GOTO :eof
+
+@REM appending must be done in procedure call otherwise it won't append.  Windows=dumb
+:append
+            @set CONFIG_CP=%CONFIG_CP%;%LIB_DIR%\%1
+            GOTO :eof
diff --git a/tools/jersey-http-client-tool/src/main/conf/log4j.properties b/tools/jersey-http-client-tool/src/main/conf/log4j.properties
new file mode 100644
index 000000000..9dc349b78
--- /dev/null
+++ b/tools/jersey-http-client-tool/src/main/conf/log4j.properties
@@ -0,0 +1,42 @@
+# LOG Pattern Layouts are covered here: http://logging.apache.org/log4j/docs/api/org/apache/log4j/PatternLayout.html
+
+# ROOT CONFIGURATION
+log4j.rootLogger=warn, C, F
+
+log4j.appender.C=org.apache.log4j.ConsoleAppender
+log4j.appender.C.layout=net.shrine.log.CustomPatternLayout
+log4j.appender.C.layout.ConversionPattern=%d{yyyy-MMM-dd-HH:mm:ss.SSS} %p [ROOT][%c{1}][%t] %m %n %throwable
+
+log4j.appender.F=org.apache.log4j.DailyRollingFileAppender
+log4j.appender.F.DatePattern='.'yyyy-MM-dd
+log4j.appender.F.File=jersey-http-client-tool.log
+log4j.appender.F.layout=net.shrine.log.CustomPatternLayout
+log4j.appender.F.layout.ConversionPattern=%d{yyyy-MMM-dd-HH:mm:ss.SSS} %p [ROOT][%c{1}][%t] %m %n %throwable
+
+# Shrine
+log4j.logger.net.shrine=info, shrine, shrineFile
+
+log4j.additivity.net.shrine=false
+log4j.appender.shrine=org.apache.log4j.ConsoleAppender
+log4j.appender.shrine.layout=net.shrine.log.CustomPatternLayout
+log4j.appender.shrine.layout.ConversionPattern=%d{yyyy-MMM-dd-HH:mm:ss.SSS} %p [SHRINE][%c{1}][%t] %m %n %throwable
+
+log4j.appender.shrineFile=org.apache.log4j.DailyRollingFileAppender
+log4j.appender.shrineFile.DatePattern='.'yyyy-MM-dd
+log4j.appender.shrineFile.File=jersey-http-client-tool.log
+log4j.appender.shrineFile.layout=net.shrine.log.CustomPatternLayout
+log4j.appender.shrineFile.layout.ConversionPattern=%d{yyyy-MMM-dd-HH:mm:ss.SSS} %p [SHRINE][%c{1}][%t] %m %n %throwable
+
+# Spin
+#todo look this over
+log4j.logger.org.spin=warn, spin, spinFile
+log4j.additivity.org.spin=false
+log4j.appender.spin=org.apache.log4j.ConsoleAppender
+log4j.appender.spin.layout=net.shrine.log.CustomPatternLayout
+log4j.appender.spin.layout.ConversionPattern=%d{yyyy-MMM-dd-HH:mm:ss.SSS} %p [SPIN][%c{1}][%t] %m %n %throwable
+
+log4j.appender.spinFile=org.apache.log4j.DailyRollingFileAppender
+log4j.appender.spinFile.DatePattern='.'yyyy-MM-dd
+log4j.appender.spinFile.File=jersey-http-client-tool.log
+log4j.appender.spinFile.layout=net.shrine.log.CustomPatternLayout
+log4j.appender.spinFile.layout.ConversionPattern=%d{yyyy-MMM-dd-HH:mm:ss.SSS} %p [SPIN][%c{1}][%t] %m %n %throwable
\ No newline at end of file
diff --git a/tools/jersey-http-client-tool/src/main/scala/net/shrine/utilities/jerseyhttpclienttool/JerseyHttpClientTool.scala b/tools/jersey-http-client-tool/src/main/scala/net/shrine/utilities/jerseyhttpclienttool/JerseyHttpClientTool.scala
new file mode 100644
index 000000000..4796b8ddb
--- /dev/null
+++ b/tools/jersey-http-client-tool/src/main/scala/net/shrine/utilities/jerseyhttpclienttool/JerseyHttpClientTool.scala
@@ -0,0 +1,43 @@
+package net.shrine.utilities.jerseyhttpclienttool
+
+import com.typesafe.config.ConfigFactory
+import net.shrine.client.{EndpointConfig, JerseyHttpClient}
+import net.shrine.crypto.{BouncyKeyStoreCollection, KeyStoreDescriptorParser}
+import net.shrine.config.ConfigExtensions
+
+import scala.util.control.NonFatal
+
+
+/**
+ * @author dwalend
+ * @since 1.22.5
+ */
+
+object JerseyHttpClientTool {
+  def main(args: Array[String]): Unit = {
+
+    val config = ConfigFactory.load()
+
+    println(config)
+
+    val shrineConfig = config.getConfig("shrine")
+    val qepConfig = shrineConfig.getConfig("queryEntryPoint")
+
+    val endpoint = EndpointConfig(qepConfig.getConfig("broadcasterServiceEndpoint"))
+
+    lazy val keyStoreDescriptor = KeyStoreDescriptorParser(shrineConfig.getConfig("keystore"),
+                                                            shrineConfig.getConfigOrEmpty("hub"),
+                                                            shrineConfig.getConfigOrEmpty("queryEntryPoint"))
+
+    val certCollection: BouncyKeyStoreCollection = BouncyKeyStoreCollection.fromFileRecoverWithClassPath(keyStoreDescriptor)
+
+    val httpClient = JerseyHttpClient(certCollection, endpoint)
+
+    try {
+      httpClient.post(s"test", endpoint.url.toString)
+    }
+    catch {
+      case NonFatal(x) => x.printStackTrace()
+    }
+  }
+}
\ No newline at end of file
diff --git a/tools/jersey-http-client-tool/src/main/sh/jersey-http-client-tool b/tools/jersey-http-client-tool/src/main/sh/jersey-http-client-tool
new file mode 100644
index 000000000..9b3d7f52b
--- /dev/null
+++ b/tools/jersey-http-client-tool/src/main/sh/jersey-http-client-tool
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+CONFIG_HOME=`dirname $0`
+
+CONFIG_FILE_DIR=${CONFIG_HOME}/conf
+
+mkdir -p ${CONFIG_FILE_DIR}
+
+CONFIG_CLASSPATH=.:${CONFIG_FILE_DIR}
+
+LIB_DIR=${CONFIG_HOME}/lib
+
+#
+#Set up our classpath with our library dependencies...
+for jar in `find ${LIB_DIR}/*.jar`;
+do
+    CONFIG_CLASSPATH=${jar}:${CONFIG_CLASSPATH}
+done
+
+#
+#Guess JAVA_HOME if it's not set
+if [ ${#JAVA_HOME} == 0 ]; then
+    JAVA_HOME=/usr/local/java
+fi
+
+JVM_ARGS="-Xmx1024m"
+
+JAVA_COMMAND="java ${JVM_ARGS} -Dlog4j.configuration=log4j.properties -Djavax.net.debug=ssl:handshake -Dconfig.file="/opt/shrine/tomcat/lib/shrine.conf" -cp ${CONFIG_CLASSPATH} net.shrine.utilities.jerseyhttpclienttool.JerseyHttpClientTool $@"
+
+${JAVA_COMMAND}
+
diff --git a/tools/jersey-http-client-tool/src/test/resources/jersey-http-client-test.conf b/tools/jersey-http-client-tool/src/test/resources/jersey-http-client-test.conf
new file mode 100644
index 000000000..e69de29bb
diff --git a/tools/pom.xml b/tools/pom.xml
index 224ef8c7a..c0434874d 100644
--- a/tools/pom.xml
+++ b/tools/pom.xml
@@ -1,80 +1,81 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <name>SHRINE Tools</name>
     <artifactId>shrine-tools</artifactId>
     <packaging>pom</packaging>
 
     <parent>
         <groupId>net.shrine</groupId>
         <artifactId>shrine-base</artifactId>
         <version>1.22.4</version>
     </parent>
 
     <properties>
         <gmaven-plugin-version>1.5</gmaven-plugin-version>
         <assembly-plugin-version>2.4</assembly-plugin-version>
     </properties>
 
     <modules>
+        <module>jersey-http-client-tool</module>
         <module>monitor</module>
         <module>utility-commons</module>
         <module>scanner</module>
         <module>batch-querier</module>
         <module>adapter-queries-to-qep</module>
 	<module>mapping-automation</module>
     </modules>
 
     <dependencies>
 
         <dependency>
             <groupId>net.shrine</groupId>
             <artifactId>shrine-protocol</artifactId>
             <version>${project.version}</version>
         </dependency>
 
     </dependencies>
 
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.codehaus.gmaven</groupId>
                     <artifactId>gmaven-plugin</artifactId>
                     <version>${gmaven-plugin-version}</version>
                     <executions>
                         <execution>
                             <goals>
                                 <goal>compile</goal>
                                 <goal>testCompile</goal>
                             </goals>
                         </execution>
                     </executions>
                     <configuration>
                         <debug>true</debug>
                         <verbose>true</verbose>
                         <stacktrace>true</stacktrace>
                     </configuration>
                 </plugin>
                 <plugin>
                     <artifactId>maven-assembly-plugin</artifactId>
                     <version>${assembly-plugin-version}</version>
                     <executions>
                         <execution>
                             <id>assembly</id>
                             <phase>package</phase>
                             <goals>
                                 <goal>single</goal>
                             </goals>
                             <configuration>
                                 <descriptors>
                                     <descriptor>src/main/assembly/assembly.xml</descriptor>
                                 </descriptors>
                             </configuration>
                         </execution>
                     </executions>
                 </plugin>
             </plugins>
         </pluginManagement>
     </build>
 </project>