@@ -338,6 +338,60 @@ describe('Zod v4', () => {
338338 message : 'Completed step 3 of 3'
339339 } ) ;
340340 } ) ;
341+
342+ /***
343+ * Test: Extensions capability registration
344+ */
345+ test ( 'should register and advertise server extensions capability' , async ( ) => {
346+ const mcpServer = new McpServer ( {
347+ name : 'test server' ,
348+ version : '1.0'
349+ } ) ;
350+ const client = new Client ( {
351+ name : 'test client' ,
352+ version : '1.0'
353+ } ) ;
354+
355+ mcpServer . server . registerCapabilities ( {
356+ extensions : {
357+ 'io.modelcontextprotocol/test-extension' : { listChanged : true }
358+ }
359+ } ) ;
360+
361+ const [ clientTransport , serverTransport ] = InMemoryTransport . createLinkedPair ( ) ;
362+ await Promise . all ( [ client . connect ( clientTransport ) , mcpServer . connect ( serverTransport ) ] ) ;
363+
364+ const capabilities = client . getServerCapabilities ( ) ;
365+ expect ( capabilities ?. extensions ) . toBeDefined ( ) ;
366+ expect ( capabilities ?. extensions ?. [ 'io.modelcontextprotocol/test-extension' ] ) . toEqual ( { listChanged : true } ) ;
367+ } ) ;
368+
369+ test ( 'should advertise client extensions capability to server' , async ( ) => {
370+ const mcpServer = new McpServer ( {
371+ name : 'test server' ,
372+ version : '1.0'
373+ } ) ;
374+ const client = new Client (
375+ {
376+ name : 'test client' ,
377+ version : '1.0'
378+ } ,
379+ {
380+ capabilities : {
381+ extensions : {
382+ 'io.modelcontextprotocol/test-extension' : { streaming : true }
383+ }
384+ }
385+ }
386+ ) ;
387+
388+ const [ clientTransport , serverTransport ] = InMemoryTransport . createLinkedPair ( ) ;
389+ await Promise . all ( [ client . connect ( clientTransport ) , mcpServer . connect ( serverTransport ) ] ) ;
390+
391+ const capabilities = mcpServer . server . getClientCapabilities ( ) ;
392+ expect ( capabilities ?. extensions ) . toBeDefined ( ) ;
393+ expect ( capabilities ?. extensions ?. [ 'io.modelcontextprotocol/test-extension' ] ) . toEqual ( { streaming : true } ) ;
394+ } ) ;
341395 } ) ;
342396
343397 describe ( 'ResourceTemplate' , ( ) => {
0 commit comments