Skip to main content

McpSessionManager

@webda/mcp


Class: McpSessionManager

Defined in: packages/mcp/src/sessions.ts:37

In-memory MCP sessions with idle eviction

Constructors​

Constructor​

new McpSessionManager(timeoutMs, now?): McpSessionManager

Defined in: packages/mcp/src/sessions.ts:44

Parameters​

timeoutMs​

number

idle time before eviction

now?​

() => number

clock (injectable for tests)

Returns​

McpSessionManager

Properties​

now​

protected now: () => number

Defined in: packages/mcp/src/sessions.ts:46

clock (injectable for tests)

Returns​

number


sessions​

protected sessions: Map<string, McpSessionEntry>

Defined in: packages/mcp/src/sessions.ts:38


timeoutMs​

protected timeoutMs: number

Defined in: packages/mcp/src/sessions.ts:45

idle time before eviction

Methods​

add()​

add(entry): void

Defined in: packages/mcp/src/sessions.ts:52

Parameters​

entry​

McpSessionEntry

session to track

Returns​

void


all()​

all(): McpSessionEntry[]

Defined in: packages/mcp/src/sessions.ts:80

Returns​

McpSessionEntry[]

all sessions


close()​

protected close(entry): Promise<void>

Defined in: packages/mcp/src/sessions.ts:127

Parameters​

entry​

McpSessionEntry

session to close and remove

Returns​

Promise<void>


closeAll()​

closeAll(): Promise<void>

Defined in: packages/mcp/src/sessions.ts:118

Close every session

Returns​

Promise<void>


evictIdle()​

evictIdle(): Promise<number>

Defined in: packages/mcp/src/sessions.ts:88

Close and remove sessions idle longer than the timeout

Returns​

Promise<number>

number of evicted sessions


evictOldest()​

evictOldest(): Promise<string | undefined>

Defined in: packages/mcp/src/sessions.ts:101

Close and remove the least recently used session

Returns​

Promise<string | undefined>

the evicted session id, or undefined when there is none


get()​

get(id): McpSessionEntry | undefined

Defined in: packages/mcp/src/sessions.ts:62

Find a session and refresh its activity

Parameters​

id​

string

session id

Returns​

McpSessionEntry | undefined

the session or undefined


remove()​

remove(id): void

Defined in: packages/mcp/src/sessions.ts:73

Parameters​

id​

string

session id to forget (does not close it)

Returns​

void