@@ -28,21 +28,21 @@ public McpRoute(McpRouter router, ExecutableElement method) {
2828 }
2929
3030 private void checkMcpAnnotations () {
31- if (AnnotationSupport .findAnnotationByName (this .method , "io.jooby.annotation.McpTool" )
31+ if (AnnotationSupport .findAnnotationByName (this .method , "io.jooby.annotation.mcp. McpTool" )
3232 != null ) {
3333 this .isMcpTool = true ;
3434 }
35- if (AnnotationSupport .findAnnotationByName (this .method , "io.jooby.annotation.McpPrompt" )
35+ if (AnnotationSupport .findAnnotationByName (this .method , "io.jooby.annotation.mcp. McpPrompt" )
3636 != null ) {
3737 this .isMcpPrompt = true ;
3838 }
39- if (AnnotationSupport .findAnnotationByName (this .method , "io.jooby.annotation.McpCompletion" )
39+ if (AnnotationSupport .findAnnotationByName (this .method , "io.jooby.annotation.mcp. McpCompletion" )
4040 != null ) {
4141 this .isMcpCompletion = true ;
4242 }
4343
4444 var resourceAnno =
45- AnnotationSupport .findAnnotationByName (this .method , "io.jooby.annotation.McpResource" );
45+ AnnotationSupport .findAnnotationByName (this .method , "io.jooby.annotation.mcp. McpResource" );
4646 if (resourceAnno != null ) {
4747 String uri =
4848 AnnotationSupport .findAnnotationValue (resourceAnno , "uri" ::equals ).stream ()
@@ -91,11 +91,11 @@ public List<String> generateMcpDefinitionMethod(boolean kt) {
9191 var methodDescription = method .map (JavaDocNode ::getDescription ).orElse ("" );
9292 var methodSummaryAndDescription = method .map (JavaDocNode ::getFullDescription ).orElse ("" );
9393 if (isMcpTool ()) {
94- String toolName = extractAnnotationValue ("io.jooby.annotation.McpTool" , "name" );
94+ String toolName = extractAnnotationValue ("io.jooby.annotation.mcp. McpTool" , "name" );
9595 if (toolName .isEmpty ()) {
9696 toolName = getMethodName ();
9797 }
98- String description = extractAnnotationValue ("io.jooby.annotation.McpTool" , "description" );
98+ String description = extractAnnotationValue ("io.jooby.annotation.mcp. McpTool" , "description" );
9999 if (description .isEmpty ()) {
100100 description = methodSummaryAndDescription ;
101101 }
@@ -165,7 +165,7 @@ public List<String> generateMcpDefinitionMethod(boolean kt) {
165165
166166 if (varEl != null ) {
167167 var paramAnno =
168- AnnotationSupport .findAnnotationByName (varEl , "io.jooby.annotation.McpParam" );
168+ AnnotationSupport .findAnnotationByName (varEl , "io.jooby.annotation.mcp. McpParam" );
169169 if (paramAnno != null ) {
170170 paramDescription =
171171 AnnotationSupport .findAnnotationValue (paramAnno , "description" ::equals ).stream ()
@@ -329,11 +329,12 @@ public List<String> generateMcpDefinitionMethod(boolean kt) {
329329 buffer .add (statement (indent (4 ), "}\n " ));
330330
331331 } else if (isMcpPrompt ()) {
332- String promptName = extractAnnotationValue ("io.jooby.annotation.McpPrompt" , "name" );
332+ String promptName = extractAnnotationValue ("io.jooby.annotation.mcp. McpPrompt" , "name" );
333333 if (promptName .isEmpty ()) {
334334 promptName = getMethodName ();
335335 }
336- String description = extractAnnotationValue ("io.jooby.annotation.McpPrompt" , "description" );
336+ String description =
337+ extractAnnotationValue ("io.jooby.annotation.mcp.McpPrompt" , "description" );
337338 if (description .isEmpty ()) {
338339 description = methodSummaryAndDescription ;
339340 }
@@ -419,16 +420,17 @@ public List<String> generateMcpDefinitionMethod(boolean kt) {
419420 buffer .add (statement (indent (4 ), "}\n " ));
420421
421422 } else if (isMcpResource () || isMcpResourceTemplate ()) {
422- var uri = extractAnnotationValue ("io.jooby.annotation.McpResource" , "uri" );
423- var name = extractAnnotationValue ("io.jooby.annotation.McpResource" , "name" );
423+ var uri = extractAnnotationValue ("io.jooby.annotation.mcp. McpResource" , "uri" );
424+ var name = extractAnnotationValue ("io.jooby.annotation.mcp. McpResource" , "name" );
424425 if (name .isEmpty ()) {
425426 name = getMethodName ();
426427 }
427428
428- var title = extractAnnotationValue ("io.jooby.annotation.McpResource" , "title" );
429- var description = extractAnnotationValue ("io.jooby.annotation.McpResource" , "description" );
430- var mimeType = extractAnnotationValue ("io.jooby.annotation.McpResource" , "mimeType" );
431- var sizeStr = extractAnnotationValue ("io.jooby.annotation.McpResource" , "size" );
429+ var title = extractAnnotationValue ("io.jooby.annotation.mcp.McpResource" , "title" );
430+ var description =
431+ extractAnnotationValue ("io.jooby.annotation.mcp.McpResource" , "description" );
432+ var mimeType = extractAnnotationValue ("io.jooby.annotation.mcp.McpResource" , "mimeType" );
433+ var sizeStr = extractAnnotationValue ("io.jooby.annotation.mcp.McpResource" , "size" );
432434
433435 // Prepare standard arguments safely
434436 var titleArg =
@@ -456,7 +458,7 @@ public List<String> generateMcpDefinitionMethod(boolean kt) {
456458 // It looks like: @...McpAnnotations(audience={"USER"}, priority=1.0, lastModified="2024")
457459 String annotationsArg = "null" ;
458460 String rawAnnotations =
459- extractAnnotationValue ("io.jooby.annotation.McpResource" , "annotations" );
461+ extractAnnotationValue ("io.jooby.annotation.mcp. McpResource" , "annotations" );
460462
461463 boolean hasAnnotations = rawAnnotations .contains ("priority=" );
462464
@@ -708,7 +710,7 @@ public List<String> generateMcpHandlerMethod(boolean kt) {
708710 semicolon (kt )));
709711 }
710712 } else if (isMcpResource () || isMcpResourceTemplate ()) {
711- String uriTemplate = extractAnnotationValue ("io.jooby.annotation.McpResource" , "uri" );
713+ String uriTemplate = extractAnnotationValue ("io.jooby.annotation.mcp. McpResource" , "uri" );
712714 boolean isTemplate = isMcpResourceTemplate ();
713715
714716 if (isTemplate ) {
@@ -955,4 +957,6 @@ private boolean hasOutputSchema() {
955957 && !isLangClass
956958 && !isMcpClass ;
957959 }
960+
961+ private record McpAnnotation (String name , String value ) {}
958962}
0 commit comments