From 35e15ca143fc9619f6b1f4dd227964ffca2a25bb Mon Sep 17 00:00:00 2001 From: Max Rydahl Andersen Date: Tue, 25 Feb 2025 14:41:30 +0100 Subject: [PATCH 1/2] fix: make proxy a runnable jar from maven --- devtools/stdio-sse-proxy/README.md | 11 +++++++++-- .../quarkiverse/mcp/server/proxy/StdioSseProxy.java | 2 +- .../src/main/resources/application.properties | 1 + 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/devtools/stdio-sse-proxy/README.md b/devtools/stdio-sse-proxy/README.md index 660d19a..6aebe50 100644 --- a/devtools/stdio-sse-proxy/README.md +++ b/devtools/stdio-sse-proxy/README.md @@ -57,5 +57,12 @@ java -jar target/quarkus-mcp-stdio-sse-proxy-1.0.0-SNAPSHOT-runner.jar http://my You can also run the proxy as a JBang script: ```shell script -jbang --quiet src/main/java/io/quarkiverse/mcp/server/proxy/StdioSseProxy.java -h -``` \ No newline at end of file +jbang src/main/java/io/quarkiverse/mcp/server/proxy/StdioSseProxy.java -h +``` + +or when released to maven use: + +```shell script +jbang io.quarkiverse.mcp:quarkus-mcp-stdio-sse-proxy:RELEASE -h +``` + diff --git a/devtools/stdio-sse-proxy/src/main/java/io/quarkiverse/mcp/server/proxy/StdioSseProxy.java b/devtools/stdio-sse-proxy/src/main/java/io/quarkiverse/mcp/server/proxy/StdioSseProxy.java index 88d27f4..adb0669 100644 --- a/devtools/stdio-sse-proxy/src/main/java/io/quarkiverse/mcp/server/proxy/StdioSseProxy.java +++ b/devtools/stdio-sse-proxy/src/main/java/io/quarkiverse/mcp/server/proxy/StdioSseProxy.java @@ -1,7 +1,7 @@ //usr/bin/env jbang "$0" "$@" ; exit $? //DEPS io.quarkus.platform:quarkus-bom:3.18.3@pom //DEPS io.quarkus:quarkus-picocli -//Q:CONFIG quarkus.log.console.stderr=true +//FILES application.properties=../../../../../../resources/application.properties package io.quarkiverse.mcp.server.proxy; import java.io.BufferedReader; diff --git a/devtools/stdio-sse-proxy/src/main/resources/application.properties b/devtools/stdio-sse-proxy/src/main/resources/application.properties index 6f274e9..122e718 100644 --- a/devtools/stdio-sse-proxy/src/main/resources/application.properties +++ b/devtools/stdio-sse-proxy/src/main/resources/application.properties @@ -1,3 +1,4 @@ quarkus.package.jar.type=uber-jar +quarkus.package.jar.add-runner-suffix=false quarkus.log.console.stderr=true #quarkus.log.category."io.quarkiverse.mcp.server.proxy".level=DEBUG \ No newline at end of file From 4a8e7ae129ef67a76410fafab3b6b56077087608 Mon Sep 17 00:00:00 2001 From: Martin Kouba Date: Wed, 26 Feb 2025 14:54:48 +0100 Subject: [PATCH 2/2] Revert the //Q:CONFIG change and update docs --- devtools/stdio-sse-proxy/README.md | 12 ++++-------- .../quarkiverse/mcp/server/proxy/StdioSseProxy.java | 2 +- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/devtools/stdio-sse-proxy/README.md b/devtools/stdio-sse-proxy/README.md index 6aebe50..6841308 100644 --- a/devtools/stdio-sse-proxy/README.md +++ b/devtools/stdio-sse-proxy/README.md @@ -17,16 +17,15 @@ The application can be packaged using: This builds a Quarkus uber-jar that can be run directly: ```shell script -java -jar target/quarkus-mcp-stdio-sse-proxy-1.0.0-SNAPSHOT-runner.jar --help +java -jar target/quarkus-mcp-stdio-sse-proxy-1.0.0-SNAPSHOT.jar --help ``` Shows the following help message: ```shell script -Usage: stdio-sse-proxy [-hV] [--[no-]reconnect] -e= [-s=] - [-t=] - -e, --endpoint= - The URI of the target SSE endpoint + Usage: stdio-sse-proxy [-hV] [--[no-]reconnect] [-s=] [-t=] + + The URI of the target SSE endpoint -h, --help Show this help message and exit. --[no-]reconnect If set to true then the proxy attempts to reconnect if a message endpoint returns http status 400 @@ -49,9 +48,6 @@ or if you need a custom endpoint: java -jar target/quarkus-mcp-stdio-sse-proxy-1.0.0-SNAPSHOT-runner.jar http://my.app/mcp ``` -> [!IMPORTANT] -> The target SSE endpoint is mandatory. - ## JBang You can also run the proxy as a JBang script: diff --git a/devtools/stdio-sse-proxy/src/main/java/io/quarkiverse/mcp/server/proxy/StdioSseProxy.java b/devtools/stdio-sse-proxy/src/main/java/io/quarkiverse/mcp/server/proxy/StdioSseProxy.java index adb0669..88d27f4 100644 --- a/devtools/stdio-sse-proxy/src/main/java/io/quarkiverse/mcp/server/proxy/StdioSseProxy.java +++ b/devtools/stdio-sse-proxy/src/main/java/io/quarkiverse/mcp/server/proxy/StdioSseProxy.java @@ -1,7 +1,7 @@ //usr/bin/env jbang "$0" "$@" ; exit $? //DEPS io.quarkus.platform:quarkus-bom:3.18.3@pom //DEPS io.quarkus:quarkus-picocli -//FILES application.properties=../../../../../../resources/application.properties +//Q:CONFIG quarkus.log.console.stderr=true package io.quarkiverse.mcp.server.proxy; import java.io.BufferedReader;