File tree Expand file tree Collapse file tree 2 files changed +8
-1
lines changed
Expand file tree Collapse file tree 2 files changed +8
-1
lines changed Original file line number Diff line number Diff line change @@ -6,7 +6,7 @@ import { stdioServer } from './stdio'
66import { webServer } from './web'
77import type { OptionsType } from '@/types'
88
9- const createServer = ( options : OptionsType ) => {
9+ export const createServer = ( options : OptionsType ) => {
1010 const server = new McpServer ( {
1111 name : options . name ,
1212 version : options . version ,
Original file line number Diff line number Diff line change @@ -3,6 +3,7 @@ import cors from '@fastify/cors'
33import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js'
44import { SSEServerTransport } from '@modelcontextprotocol/sdk/server/sse.js'
55import { isInitializeRequest } from '@modelcontextprotocol/sdk/types.js'
6+ import { createServer } from '@/services'
67import { generateSessionId } from '@/utils'
78import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'
89import type { OptionsType } from '@/types'
@@ -72,10 +73,16 @@ export async function webServer(server: McpServer, options: OptionsType) {
7273 const transport = new SSEServerTransport ( '/messages' , reply . raw )
7374 transports . sse [ transport . sessionId ] = transport
7475
76+ const interval = setInterval ( ( ) => {
77+ reply . raw . write ( `event: ping\ndata: {"time":"${ new Date ( ) . toISOString ( ) } "}\n\n` )
78+ } , 15000 )
79+
7580 reply . raw . on ( 'close' , ( ) => {
7681 delete transports . sse [ transport . sessionId ]
82+ clearInterval ( interval )
7783 } )
7884
85+ const server = createServer ( options )
7986 await server . connect ( transport )
8087 } )
8188
You can’t perform that action at this time.
0 commit comments