UNPKG

mcp-framework

Version:

Framework for building Model Context Protocol (MCP) servers in Typescript

38 lines (37 loc) 1.4 kB
import { Transport } from "@modelcontextprotocol/sdk/shared/transport.js"; import { JSONRPCMessage } from "@modelcontextprotocol/sdk/types.js"; /** * Base transport interface */ export interface BaseTransport extends Transport { onclose?: (() => void) | undefined; onerror?: ((error: Error) => void) | undefined; onmessage?: ((message: JSONRPCMessage) => void) | undefined; send(message: JSONRPCMessage): Promise<void>; close(): Promise<void>; start(): Promise<void>; /** * The type of transport (e.g., "stdio", "sse") */ readonly type: string; /** * Returns whether the transport is currently running */ isRunning(): boolean; } /** * Abstract base class for transports that implements common functionality */ export declare abstract class AbstractTransport implements BaseTransport { abstract readonly type: string; protected _onclose?: () => void; protected _onerror?: (error: Error) => void; protected _onmessage?: (message: JSONRPCMessage) => void; set onclose(handler: (() => void) | undefined); set onerror(handler: ((error: Error) => void) | undefined); set onmessage(handler: ((message: JSONRPCMessage) => void) | undefined); abstract start(): Promise<void>; abstract send(message: JSONRPCMessage): Promise<void>; abstract close(): Promise<void>; abstract isRunning(): boolean; }