@@ -64,17 +64,17 @@ public String serverKey() {
6464 public java.util.List<io.modelcontextprotocol.server.McpServerFeatures.SyncCompletionSpecification> completions(io.jooby.Jooby app) {
6565 var invoker = app.require(io.jooby.mcp.McpInvoker.class);
6666 var completions = new java.util.ArrayList<io.modelcontextprotocol.server.McpServerFeatures.SyncCompletionSpecification>();
67- completions.add(new io.modelcontextprotocol.server.McpServerFeatures.SyncCompletionSpecification(new io.modelcontextprotocol.spec.McpSchema.PromptReference("review_code"), (exchange, req) -> invoker.invoke("completions/review_code", () -> this.reviewCodeCompletionHandler(exchange, exchange.transportContext(), req))));
68- completions.add(new io.modelcontextprotocol.server.McpServerFeatures.SyncCompletionSpecification(new io.modelcontextprotocol.spec.McpSchema.ResourceReference("file:///users/{id}/{name}/profile"), (exchange, req) -> invoker.invoke("completions/file:///users/{id}/{name}/profile", () -> this.getUserProfileCompletionHandler(exchange, exchange.transportContext(), req))));
67+ completions.add(new io.modelcontextprotocol.server.McpServerFeatures.SyncCompletionSpecification(new io.modelcontextprotocol.spec.McpSchema.PromptReference("review_code"), (exchange, req) -> invoker.invoke(new io.jooby.mcp.McpOperation( "completions/review_code", "tests.i3830.ExampleServer", "reviewCode") , () -> this.reviewCodeCompletionHandler(exchange, exchange.transportContext(), req))));
68+ completions.add(new io.modelcontextprotocol.server.McpServerFeatures.SyncCompletionSpecification(new io.modelcontextprotocol.spec.McpSchema.ResourceReference("file:///users/{id}/{name}/profile"), (exchange, req) -> invoker.invoke(new io.jooby.mcp.McpOperation( "completions/file:///users/{id}/{name}/profile", "tests.i3830.ExampleServer", "getUserProfile") , () -> this.getUserProfileCompletionHandler(exchange, exchange.transportContext(), req))));
6969 return completions;
7070 }
7171
7272 @Override
7373 public java.util.List<io.modelcontextprotocol.server.McpStatelessServerFeatures.SyncCompletionSpecification> statelessCompletions(io.jooby.Jooby app) {
7474 var invoker = app.require(io.jooby.mcp.McpInvoker.class);
7575 var completions = new java.util.ArrayList<io.modelcontextprotocol.server.McpStatelessServerFeatures.SyncCompletionSpecification>();
76- completions.add(new io.modelcontextprotocol.server.McpStatelessServerFeatures.SyncCompletionSpecification(new io.modelcontextprotocol.spec.McpSchema.PromptReference("review_code"), (ctx, req) -> invoker.invoke("completions/review_code", () -> this.reviewCodeCompletionHandler(null, ctx, req))));
77- completions.add(new io.modelcontextprotocol.server.McpStatelessServerFeatures.SyncCompletionSpecification(new io.modelcontextprotocol.spec.McpSchema.ResourceReference("file:///users/{id}/{name}/profile"), (ctx, req) -> invoker.invoke("completions/file:///users/{id}/{name}/profile", () -> this.getUserProfileCompletionHandler(null, ctx, req))));
76+ completions.add(new io.modelcontextprotocol.server.McpStatelessServerFeatures.SyncCompletionSpecification(new io.modelcontextprotocol.spec.McpSchema.PromptReference("review_code"), (ctx, req) -> invoker.invoke(new io.jooby.mcp.McpOperation( "completions/review_code", "tests.i3830.ExampleServer", "reviewCode") , () -> this.reviewCodeCompletionHandler(null, ctx, req))));
77+ completions.add(new io.modelcontextprotocol.server.McpStatelessServerFeatures.SyncCompletionSpecification(new io.modelcontextprotocol.spec.McpSchema.ResourceReference("file:///users/{id}/{name}/profile"), (ctx, req) -> invoker.invoke(new io.jooby.mcp.McpOperation( "completions/file:///users/{id}/{name}/profile", "tests.i3830.ExampleServer", "getUserProfile") , () -> this.getUserProfileCompletionHandler(null, ctx, req))));
7878 return completions;
7979 }
8080
@@ -84,10 +84,10 @@ public void install(io.jooby.Jooby app, io.modelcontextprotocol.server.McpSyncSe
8484 var invoker = app.require(io.jooby.mcp.McpInvoker.class);
8585 var schemaGenerator = app.require(com.github.victools.jsonschema.generator.SchemaGenerator.class);
8686
87- server.addTool(new io.modelcontextprotocol.server.McpServerFeatures.SyncToolSpecification(addToolSpec(schemaGenerator), (exchange, req) -> invoker.invoke("tools/calculator", () -> this.add(exchange, exchange.transportContext(), req))));
88- server.addPrompt(new io.modelcontextprotocol.server.McpServerFeatures.SyncPromptSpecification(reviewCodePromptSpec(), (exchange, req) -> invoker.invoke("prompts/review_code", () -> this.reviewCode(exchange, exchange.transportContext(), req))));
89- server.addResource(new io.modelcontextprotocol.server.McpServerFeatures.SyncResourceSpecification(getLogsResourceSpec(), (exchange, req) -> invoker.invoke("resources/file:///logs/app.log", () -> this.getLogs(exchange, exchange.transportContext(), req))));
90- server.addResourceTemplate(new io.modelcontextprotocol.server.McpServerFeatures.SyncResourceTemplateSpecification(getUserProfileResourceTemplateSpec(), (exchange, req) -> invoker.invoke("resources/file:///users/{id}/{name}/profile", () -> this.getUserProfile(exchange, exchange.transportContext(), req))));
87+ server.addTool(new io.modelcontextprotocol.server.McpServerFeatures.SyncToolSpecification(addToolSpec(schemaGenerator), (exchange, req) -> invoker.invoke(new io.jooby.mcp.McpOperation( "tools/calculator", "tests.i3830.ExampleServer", "add") , () -> this.add(exchange, exchange.transportContext(), req))));
88+ server.addPrompt(new io.modelcontextprotocol.server.McpServerFeatures.SyncPromptSpecification(reviewCodePromptSpec(), (exchange, req) -> invoker.invoke(new io.jooby.mcp.McpOperation( "prompts/review_code", "tests.i3830.ExampleServer", "reviewCode") , () -> this.reviewCode(exchange, exchange.transportContext(), req))));
89+ server.addResource(new io.modelcontextprotocol.server.McpServerFeatures.SyncResourceSpecification(getLogsResourceSpec(), (exchange, req) -> invoker.invoke(new io.jooby.mcp.McpOperation( "resources/file:///logs/app.log", "tests.i3830.ExampleServer", "getLogs") , () -> this.getLogs(exchange, exchange.transportContext(), req))));
90+ server.addResourceTemplate(new io.modelcontextprotocol.server.McpServerFeatures.SyncResourceTemplateSpecification(getUserProfileResourceTemplateSpec(), (exchange, req) -> invoker.invoke(new io.jooby.mcp.McpOperation( "resources/file:///users/{id}/{name}/profile", "tests.i3830.ExampleServer", "getUserProfile") , () -> this.getUserProfile(exchange, exchange.transportContext(), req))));
9191 }
9292
9393 @Override
@@ -96,10 +96,10 @@ public void install(io.jooby.Jooby app, io.modelcontextprotocol.server.McpStatel
9696 var invoker = app.require(io.jooby.mcp.McpInvoker.class);
9797 var schemaGenerator = app.require(com.github.victools.jsonschema.generator.SchemaGenerator.class);
9898
99- server.addTool(new io.modelcontextprotocol.server.McpStatelessServerFeatures.SyncToolSpecification(addToolSpec(schemaGenerator), (ctx, req) -> invoker.invoke("tools/calculator", () -> this.add(null, ctx, req))));
100- server.addPrompt(new io.modelcontextprotocol.server.McpStatelessServerFeatures.SyncPromptSpecification(reviewCodePromptSpec(), (ctx, req) -> invoker.invoke("prompts/review_code", () -> this.reviewCode(null, ctx, req))));
101- server.addResource(new io.modelcontextprotocol.server.McpStatelessServerFeatures.SyncResourceSpecification(getLogsResourceSpec(), (ctx, req) -> invoker.invoke("resources/file:///logs/app.log", () -> this.getLogs(null, ctx, req))));
102- server.addResourceTemplate(new io.modelcontextprotocol.server.McpStatelessServerFeatures.SyncResourceTemplateSpecification(getUserProfileResourceTemplateSpec(), (ctx, req) -> invoker.invoke("resources/file:///users/{id}/{name}/profile", () -> this.getUserProfile(null, ctx, req))));
99+ server.addTool(new io.modelcontextprotocol.server.McpStatelessServerFeatures.SyncToolSpecification(addToolSpec(schemaGenerator), (ctx, req) -> invoker.invoke(new io.jooby.mcp.McpOperation( "tools/calculator", "tests.i3830.ExampleServer", "add") , () -> this.add(null, ctx, req))));
100+ server.addPrompt(new io.modelcontextprotocol.server.McpStatelessServerFeatures.SyncPromptSpecification(reviewCodePromptSpec(), (ctx, req) -> invoker.invoke(new io.jooby.mcp.McpOperation( "prompts/review_code", "tests.i3830.ExampleServer", "reviewCode") , () -> this.reviewCode(null, ctx, req))));
101+ server.addResource(new io.modelcontextprotocol.server.McpStatelessServerFeatures.SyncResourceSpecification(getLogsResourceSpec(), (ctx, req) -> invoker.invoke(new io.jooby.mcp.McpOperation( "resources/file:///logs/app.log", "tests.i3830.ExampleServer", "getLogs") , () -> this.getLogs(null, ctx, req))));
102+ server.addResourceTemplate(new io.modelcontextprotocol.server.McpStatelessServerFeatures.SyncResourceTemplateSpecification(getUserProfileResourceTemplateSpec(), (ctx, req) -> invoker.invoke(new io.jooby.mcp.McpOperation( "resources/file:///users/{id}/{name}/profile", "tests.i3830.ExampleServer", "getUserProfile") , () -> this.getUserProfile(null, ctx, req))));
103103 }
104104
105105 private io.modelcontextprotocol.spec.McpSchema.Tool addToolSpec(com.github.victools.jsonschema.generator.SchemaGenerator schemaGenerator) {
0 commit comments