UNPKG

mcp-use

Version:

Opinionated MCP Framework for TypeScript (@modelcontextprotocol/sdk compatible) - Build MCP Agents, Clients and Servers with support for ChatGPT Apps, Code Mode, OAuth, Notifications, Sampling, Observability and more.

76 lines 2.19 kB
/** * In-Memory Stream Manager * * Default implementation for managing active SSE connections in a single server instance. * Streams are stored in memory and lost on server restart. * * For distributed deployments, use RedisStreamManager or PostgresStreamManager. */ import type { StreamManager } from "./index.js"; /** * In-memory stream management for SSE connections * * Stores active ReadableStreamDefaultController instances for pushing * server-initiated messages (notifications, sampling responses) to clients. * * Suitable for: * - Single-instance deployments * - Development environments * - Non-distributed architectures * * Not suitable for: * - Load-balanced deployments (streams on different servers) * - Horizontal scaling * - Session persistence requirements * * @example * ```typescript * import { MCPServer, InMemoryStreamManager } from 'mcp-use/server'; * * const server = new MCPServer({ * name: 'my-server', * version: '1.0.0', * streamManager: new InMemoryStreamManager() * }); * ``` */ export declare class InMemoryStreamManager implements StreamManager { /** * Map of active SSE stream controllers * Key: sessionId, Value: ReadableStreamDefaultController */ private streams; /** * Text encoder for converting strings to Uint8Array */ private textEncoder; /** * Register an active SSE stream controller */ create(sessionId: string, controller: ReadableStreamDefaultController): Promise<void>; /** * Send data to active SSE streams * * Directly enqueues data to in-memory controllers. * For distributed deployments, use RedisStreamManager instead. */ send(sessionIds: string[] | undefined, data: string): Promise<void>; /** * Remove an active SSE stream */ delete(sessionId: string): Promise<void>; /** * Check if an active stream exists */ has(sessionId: string): Promise<boolean>; /** * Close all active streams */ close(): Promise<void>; /** * Get the number of active streams * Useful for monitoring */ get size(): number; } //# sourceMappingURL=memory.d.ts.map