Skip to content

Commit 008743a

Browse files
authored
Merge pull request #1618 from sberyozkin/minor_secure_mcp_cmd_demo_updates
Refer to service account in the command line secure MCP demo
2 parents feffe48 + 2d41986 commit 008743a

File tree

10 files changed

+37
-37
lines changed

10 files changed

+37
-37
lines changed

samples/mcp-sse-client-server/mcp-server/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
<dependency>
4040
<groupId>io.quarkiverse.mcp</groupId>
4141
<artifactId>quarkus-mcp-server-sse</artifactId>
42-
<version>1.3.1</version>
42+
<version>1.4.0</version>
4343
</dependency>
4444
<dependency>
4545
<groupId>io.quarkus</groupId>

samples/secure-mcp-cmd-client-server/secure-mcp-cmd-client/src/main/java/io/quarkiverse/langchain4j/sample/PoemService.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
public interface PoemService {
99
@UserMessage("""
1010
Write a short 1 paragraph poem in {language} about a Java programming language.
11-
Please start by greeting the currently logged in user by name and asking to enjoy reading the poem.""")
12-
@McpToolBox("user-name")
11+
Please use the service account name when creating the poem.""")
12+
@McpToolBox("service-account-name")
1313
String writePoem(String language);
14-
}
14+
}

samples/secure-mcp-cmd-client-server/secure-mcp-cmd-client/src/main/resources/application.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
quarkus.langchain4j.mcp.user-name.transport-type=http
2-
quarkus.langchain4j.mcp.user-name.url=http://localhost:8080/mcp/sse/
1+
quarkus.langchain4j.mcp.service-account-name.transport-type=http
2+
quarkus.langchain4j.mcp.service-account-name.url=http://localhost:8080/mcp/sse/
33

44
quarkus.oidc-client.auth-server-url=http://localhost:8081/realms/quarkus
55
quarkus.oidc-client.client-id=quarkus-mcp-client

samples/secure-mcp-cmd-client-server/secure-mcp-cmd-server/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
<dependency>
4040
<groupId>io.quarkiverse.mcp</groupId>
4141
<artifactId>quarkus-mcp-server-sse</artifactId>
42-
<version>1.3.1</version>
42+
<version>1.4.0</version>
4343
</dependency>
4444
<dependency>
4545
<groupId>io.quarkus</groupId>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package io.quarkiverse.langchain4j.sample;
2+
3+
import org.eclipse.microprofile.rest.client.inject.RestClient;
4+
5+
import io.quarkiverse.mcp.server.TextContent;
6+
import io.quarkiverse.mcp.server.Tool;
7+
import jakarta.inject.Inject;
8+
9+
public class ServiceAccountNameProvider {
10+
11+
@RestClient
12+
@Inject
13+
ServiceAccountNameRestClient serviceAccountNameRestClient;
14+
15+
@Tool(name = "sevice-account-name-provider", description = "Provides a name of the current service account")
16+
TextContent provideServiceAccountName() {
17+
return new TextContent(serviceAccountNameRestClient.getServiceAccountName());
18+
}
19+
}
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88

99
@RegisterRestClient
1010
@AccessToken
11-
public interface UserNameRestClient {
11+
public interface ServiceAccountNameRestClient {
1212

1313
@GET
1414
@Produces("text/plain")
15-
String getUserName();
16-
}
15+
String getServiceAccountName();
16+
}
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,16 @@
77
import jakarta.ws.rs.Path;
88
import jakarta.ws.rs.Produces;
99

10-
@Path("/user-name-service")
11-
public class UserNameRestServer {
10+
@Path("/service-account-name")
11+
public class ServiceAccountNameRestServer {
1212

1313
@Inject
1414
SecurityIdentity securityIdentity;
1515

1616
@GET
1717
@Produces("text/plain")
1818
@Authenticated
19-
public String getUserName() {
19+
public String getServiceAccountName() {
2020
return securityIdentity.getPrincipal().getName();
2121
}
2222
}

samples/secure-mcp-cmd-client-server/secure-mcp-cmd-server/src/main/java/io/quarkiverse/langchain4j/sample/UserNameProvider.java

Lines changed: 0 additions & 19 deletions
This file was deleted.

samples/secure-mcp-cmd-client-server/secure-mcp-cmd-server/src/main/resources/application.properties

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,10 @@ quarkus.oidc-client.grant.type=exchange
3737
quarkus.oidc-client.grant-options.exchange.subject_token_type=urn:ietf:params:oauth:token-type:access_token
3838

3939
# REST client which accesses a protected REST server, by propagating the exchanged token
40-
io.quarkiverse.langchain4j.sample.UserNameRestClient/mp-rest/url=http://localhost:8080/user-name-service
40+
io.quarkiverse.langchain4j.sample.ServiceAccountNameRestClient/mp-rest/url=http://localhost:8080/service-account-name
4141

4242
# OIDC `user-name-service` tenant that secures a protected REST server.
4343
# It enforces that all tokens that reach it have a `quarkus-mcp-service` audience.
44-
quarkus.oidc.user-name-service.auth-server-url=${quarkus.oidc.auth-server-url}
45-
quarkus.oidc.user-name-service.token.audience=quarkus-mcp-service
46-
quarkus.oidc.user-name-service.tenant-paths=/user-name-service
44+
quarkus.oidc.service-account-name-rest-server.auth-server-url=${quarkus.oidc.auth-server-url}
45+
quarkus.oidc.service-account-name-rest-server.token.audience=quarkus-mcp-service
46+
quarkus.oidc.service-account-name-rest-server.tenant-paths=/service-account-name

samples/secure-mcp-sse-client-server/secure-mcp-server/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
<dependency>
4040
<groupId>io.quarkiverse.mcp</groupId>
4141
<artifactId>quarkus-mcp-server-sse</artifactId>
42-
<version>1.3.1</version>
42+
<version>1.4.0</version>
4343
</dependency>
4444
<dependency>
4545
<groupId>io.quarkus</groupId>

0 commit comments

Comments
 (0)