File tree Expand file tree Collapse file tree 2 files changed +42
-0
lines changed Expand file tree Collapse file tree 2 files changed +42
-0
lines changed Original file line number Diff line number Diff line change @@ -4625,6 +4625,36 @@ describe("elicitInput()", () => {
4625
4625
} ) ;
4626
4626
} ) ;
4627
4627
4628
+ test ( "registerTools() should handle empty array gracefully" , ( ) => {
4629
+ const mcpServer = new McpServer ( {
4630
+ name : "test server" ,
4631
+ version : "1.0" ,
4632
+ } ) ;
4633
+
4634
+ const result = mcpServer . registerTools ( [ ] ) ;
4635
+ expect ( result ) . toEqual ( [ ] ) ;
4636
+ } ) ;
4637
+
4638
+ test ( "registerResources() should handle empty array gracefully" , ( ) => {
4639
+ const mcpServer = new McpServer ( {
4640
+ name : "test server" ,
4641
+ version : "1.0" ,
4642
+ } ) ;
4643
+
4644
+ const result = mcpServer . registerResources ( [ ] ) ;
4645
+ expect ( result ) . toEqual ( [ ] ) ;
4646
+ } ) ;
4647
+
4648
+ test ( "registerPrompts() should handle empty array gracefully" , ( ) => {
4649
+ const mcpServer = new McpServer ( {
4650
+ name : "test server" ,
4651
+ version : "1.0" ,
4652
+ } ) ;
4653
+
4654
+ const result = mcpServer . registerPrompts ( [ ] ) ;
4655
+ expect ( result ) . toEqual ( [ ] ) ;
4656
+ } ) ;
4657
+
4628
4658
test ( "registerPrompts() should register multiple prompts with single notification" , async ( ) => {
4629
4659
const mcpServer = new McpServer ( {
4630
4660
name : "test server" ,
Original file line number Diff line number Diff line change @@ -677,6 +677,10 @@ export class McpServer {
677
677
config : ResourceMetadata ;
678
678
callback : ReadResourceCallback | ReadResourceTemplateCallback ;
679
679
} > > ( resources : T ) : ( RegisteredResource | RegisteredResourceTemplate ) [ ] {
680
+ if ( resources . length === 0 ) {
681
+ return [ ] ;
682
+ }
683
+
680
684
const results : ( RegisteredResource | RegisteredResourceTemplate ) [ ] = [ ] ;
681
685
682
686
// First, validate that none of the resources are already registered
@@ -736,6 +740,10 @@ export class McpServer {
736
740
} ;
737
741
callback : PromptCallback < PromptArgsRawShape | undefined > ;
738
742
} > > ( prompts : T ) : RegisteredPrompt [ ] {
743
+ if ( prompts . length === 0 ) {
744
+ return [ ] ;
745
+ }
746
+
739
747
const results : RegisteredPrompt [ ] = [ ] ;
740
748
741
749
// First, validate that none of the prompts are already registered
@@ -1070,6 +1078,10 @@ export class McpServer {
1070
1078
} ;
1071
1079
callback : ToolCallback < ZodRawShape | undefined > ;
1072
1080
} > > ( tools : T ) : RegisteredTool [ ] {
1081
+ if ( tools . length === 0 ) {
1082
+ return [ ] ;
1083
+ }
1084
+
1073
1085
const results : RegisteredTool [ ] = [ ] ;
1074
1086
1075
1087
// First, validate that none of the tools are already registered
You can’t perform that action at this time.
0 commit comments