Skip to content

Commit dcd3744

Browse files
committed
feat: add generateSessionId utility function
1 parent 089f9dc commit dcd3744

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

src/services/web.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
import { nanoid } from 'nanoid'
21
import Fastify, { type FastifyReply, type FastifyRequest } from 'fastify'
32
import cors from '@fastify/cors'
4-
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'
5-
import { isInitializeRequest } from '@modelcontextprotocol/sdk/types.js'
63
import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js'
74
import { SSEServerTransport } from '@modelcontextprotocol/sdk/server/sse.js'
5+
import { isInitializeRequest } from '@modelcontextprotocol/sdk/types.js'
6+
import { generateSessionId } from '@/utils'
7+
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'
88
import type { OptionsType } from '@/types'
99

1010
export async function webServer(server: McpServer, options: OptionsType) {
@@ -26,7 +26,7 @@ export async function webServer(server: McpServer, options: OptionsType) {
2626
transport = transports.streamable[sessionId]
2727
} else if (!sessionId && isInitializeRequest(request.body)) {
2828
transport = new StreamableHTTPServerTransport({
29-
sessionIdGenerator: () => nanoid(),
29+
sessionIdGenerator: () => generateSessionId(),
3030
onsessioninitialized: sessionId => {
3131
transports.streamable[sessionId] = transport
3232
},

src/utils/index.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
1+
import { nanoid } from 'nanoid'
12
import type { ArgumentsCamelCase } from 'yargs'
23
import type { OptionsType } from '@/types'
34

5+
export function generateSessionId() {
6+
return nanoid()
7+
}
8+
49
export function getOptions(
510
argv: ArgumentsCamelCase,
611
pkg: {

0 commit comments

Comments
 (0)