1- using  ModelContextProtocol . Server ; 
1+ using  ModelContextProtocol . Protocol . Types ; 
2+ using  ModelContextProtocol . Server ; 
23using  System . ComponentModel ; 
34
45namespace  EverythingServer . Tools ; 
@@ -14,8 +15,42 @@ public enum MessageType
1415    } 
1516
1617    [ McpServerTool ( Name  =  "annotatedMessage" ) ,  Description ( "Generates an annotated message" ) ] 
17-     public  static IEnumerable < string >  AnnotatedMessage ( MessageType  messageType ,  bool  includeImage  =  true ) 
18+     public  static IEnumerable < Content >  AnnotatedMessage ( MessageType  messageType ,  bool  includeImage  =  true ) 
1819    { 
19-         throw  new  NotSupportedException ( "Unable to write annotations to the output." ) ; 
20+         List < Content >  contents  =  messageType  switch 
21+         { 
22+             MessageType . Error  =>  [ new ( ) 
23+             { 
24+                 Type  =  "text" , 
25+                 Text  =  "Error: Operation failed" , 
26+                 Annotations  =  new ( )  {  Audience  =  [ Role . User ,  Role . Assistant ] ,  Priority  =  1.0f  } 
27+             } ] , 
28+             MessageType . Success  =>  [ new ( ) 
29+             { 
30+                 Type  =  "text" , 
31+                 Text  =  "Operation completed successfully" , 
32+                 Annotations  =  new ( )  {  Audience  =  [ Role . User ] ,  Priority  =  0.7f  } 
33+             } ] , 
34+             MessageType . Debug  =>  [ new ( ) 
35+             { 
36+                 Type  =  "text" , 
37+                 Text  =  "Debug: Cache hit ratio 0.95, latency 150ms" , 
38+                 Annotations  =  new ( )  {  Audience  =  [ Role . Assistant ] ,  Priority  =  0.3f  } 
39+             } ] , 
40+             _ =>  throw  new  ArgumentOutOfRangeException ( nameof ( messageType ) ,  messageType ,  null ) 
41+         } ; 
42+ 
43+         if  ( includeImage ) 
44+         { 
45+             contents . Add ( new ( ) 
46+             { 
47+                 Type  =  "image" , 
48+                 Data  =  TinyImageTool . MCP_TINY_IMAGE . Split ( "," ) . Last ( ) , 
49+                 MimeType  =  "image/png" , 
50+                 Annotations  =  new ( )  {  Audience  =  [ Role . User ] ,  Priority  =  0.5f  } 
51+             } ) ; 
52+         } 
53+ 
54+         return  contents ; 
2055    } 
2156} 
0 commit comments