Skip to main content

McpSessionManager

@webda/mcp


Class: McpSessionManager

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

In-memory MCP sessions with idle eviction

Constructors​

Constructor​

new McpSessionManager(timeoutMs, now?): McpSessionManager

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

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:42

clock (injectable for tests)

Returns​

number


sessions​

protected sessions: Map<string, McpSessionEntry>

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


timeoutMs​

protected timeoutMs: number

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

idle time before eviction

Methods​

add()​

add(entry): void

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

Parameters​

entry​

McpSessionEntry

session to track

Returns​

void


all()​

all(): McpSessionEntry[]

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

Returns​

McpSessionEntry[]

all sessions


close()​

protected close(entry): Promise<void>

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

Parameters​

entry​

McpSessionEntry

session to close and remove

Returns​

Promise<void>


closeAll()​

closeAll(): Promise<void>

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

Close every session

Returns​

Promise<void>


evictIdle()​

evictIdle(): Promise<number>

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

Close and remove sessions idle longer than the timeout

Returns​

Promise<number>

number of evicted sessions


evictOldest()​

evictOldest(): Promise<string>

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

Close and remove the least recently used session

Returns​

Promise<string>

the evicted session id, or undefined when there is none


get()​

get(id): McpSessionEntry

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

Find a session and refresh its activity

Parameters​

id​

string

session id

Returns​

McpSessionEntry

the session or undefined


remove()​

remove(id): void

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

Parameters​

id​

string

session id to forget (does not close it)

Returns​

void