mcp-framework
Version:
Framework for building Model Context Protocol (MCP) servers in Typescript
38 lines (37 loc) • 1.4 kB
TypeScript
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;
}