kernl

Class: MCPServerSSE

Defined in: packages/kernl/src/mcp/sse.ts:22

MCP server client that communicates over Server-Sent Events (SSE).

Extends

  • BaseMCPServer

Constructors

Constructor

new MCPServerSSE(options: MCPServerSSEOptions): MCPServerSSE;

Defined in: packages/kernl/src/mcp/sse.ts:31

Parameters

ParameterType
optionsMCPServerSSEOptions

Returns

MCPServerSSE

Overrides

BaseMCPServer.constructor

Properties

PropertyModifierTypeDefault valueDescriptionOverridesInherited fromDefined in
_cacheDirtyprotectedbooleantrue--BaseMCPServer._cacheDirtypackages/kernl/src/mcp/base.ts:88
_cachedToolsprotected| { _meta?: { [key: string]: unknown; }; annotations?: { destructiveHint?: boolean; idempotentHint?: boolean; openWorldHint?: boolean; readOnlyHint?: boolean; title?: string; }; description?: string; execution?: { taskSupport?: "optional" | "required" | "forbidden"; }; icons?: { mimeType?: string; sizes?: string[]; src: string; theme?: "light" | "dark"; }[]; inputSchema: { [key: string]: unknown; properties?: { [key: string]: object; }; required?: string[]; type: "object"; }; name: string; outputSchema?: { [key: string]: unknown; properties?: { [key: string]: object; }; required?: string[]; type: "object"; }; title?: string; }[] | undefinedundefined--BaseMCPServer._cachedToolspackages/kernl/src/mcp/base.ts:87
cacheToolsListpublicbooleanundefinedWhether to cache the tools list after first fetch.-BaseMCPServer.cacheToolsListpackages/kernl/src/mcp/base.ts:84
idreadonlystringundefined-BaseMCPServer.id-packages/kernl/src/mcp/sse.ts:23
loggerprotectedLoggerundefined--BaseMCPServer.loggerpackages/kernl/src/mcp/base.ts:86
optionspublicMCPServerSSEOptionsundefined---packages/kernl/src/mcp/sse.ts:28
serverInitializeResultprotected| { capabilities: { tools: Record<string, unknown>; }; protocolVersion: string; serverInfo: { name: string; version: string; }; } | nullnull---packages/kernl/src/mcp/sse.ts:26
sessionprotected| Client<{ method: string; params?: { [key: string]: unknown; _meta?: { [key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; }; }, { method: string; params?: { [key: string]: unknown; _meta?: { [key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; }; }, { [key: string]: unknown; _meta?: { [key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; }> | nullnull---packages/kernl/src/mcp/sse.ts:24
timeoutprotectednumberundefined---packages/kernl/src/mcp/sse.ts:25
toolFilterpublicMCPToolFilterundefinedFilter to control which tools are exposed to agents. Always a callable function. Defaults to allowing all tools.-BaseMCPServer.toolFilterpackages/kernl/src/mcp/base.ts:85

Methods

_listTools()

protected _listTools(): Promise<{
  _meta?: {
   [key: string]: unknown;
  };
  annotations?: {
     destructiveHint?: boolean;
     idempotentHint?: boolean;
     openWorldHint?: boolean;
     readOnlyHint?: boolean;
     title?: string;
  };
  description?: string;
  execution?: {
     taskSupport?: "optional" | "required" | "forbidden";
  };
  icons?: {
     mimeType?: string;
     sizes?: string[];
     src: string;
     theme?: "light" | "dark";
  }[];
  inputSchema: {
   [key: string]: unknown;
     properties?: {
      [key: string]: object;
     };
     required?: string[];
     type: "object";
  };
  name: string;
  outputSchema?: {
   [key: string]: unknown;
     properties?: {
      [key: string]: object;
     };
     required?: string[];
     type: "object";
  };
  title?: string;
}[]>;

Defined in: packages/kernl/src/mcp/sse.ts:76

Internal implementation: Fetches tools from the server.

Cached via the BaseMCPServer class.

Returns

Promise<{ _meta?: { [key: string]: unknown; }; annotations?: { destructiveHint?: boolean; idempotentHint?: boolean; openWorldHint?: boolean; readOnlyHint?: boolean; title?: string; }; description?: string; execution?: { taskSupport?: "optional" | "required" | "forbidden"; }; icons?: { mimeType?: string; sizes?: string[]; src: string; theme?: "light" | "dark"; }[]; inputSchema: { [key: string]: unknown; properties?: { [key: string]: object; }; required?: string[]; type: "object"; }; name: string; outputSchema?: { [key: string]: unknown; properties?: { [key: string]: object; }; required?: string[]; type: "object"; }; title?: string; }[]>

Overrides

BaseMCPServer._listTools

callTool()

callTool(toolName: string, args: Record<string, unknown> | null): Promise<{
  text: string;
  type: string;
}[]>;

Defined in: packages/kernl/src/mcp/sse.ts:90

Executes a tool on the server with the provided arguments.

Parameters

ParameterType
toolNamestring
argsRecord<string, unknown> | null

Returns

Promise<{ text: string; type: string; }[]>

Overrides

BaseMCPServer.callTool

close()

close(): Promise<void>;

Defined in: packages/kernl/src/mcp/sse.ts:118

Closes the connection and cleans up resources.

Returns

Promise<void>

Overrides

BaseMCPServer.close

connect()

connect(): Promise<void>;

Defined in: packages/kernl/src/mcp/sse.ts:46

Establishes connection to the MCP server.

Returns

Promise<void>

Overrides

BaseMCPServer.connect

invalidateCache()

invalidateCache(): Promise<void>;

Defined in: packages/kernl/src/mcp/base.ts:152

Clears any cached tools, forcing a fresh fetch on next request.

Returns

Promise<void>

Inherited from

BaseMCPServer.invalidateCache

listTools()

listTools(): Promise<{
  _meta?: {
   [key: string]: unknown;
  };
  annotations?: {
     destructiveHint?: boolean;
     idempotentHint?: boolean;
     openWorldHint?: boolean;
     readOnlyHint?: boolean;
     title?: string;
  };
  description?: string;
  execution?: {
     taskSupport?: "optional" | "required" | "forbidden";
  };
  icons?: {
     mimeType?: string;
     sizes?: string[];
     src: string;
     theme?: "light" | "dark";
  }[];
  inputSchema: {
   [key: string]: unknown;
     properties?: {
      [key: string]: object;
     };
     required?: string[];
     type: "object";
  };
  name: string;
  outputSchema?: {
   [key: string]: unknown;
     properties?: {
      [key: string]: object;
     };
     required?: string[];
     type: "object";
  };
  title?: string;
}[]>;

Defined in: packages/kernl/src/mcp/base.ts:122

Fetches the list of available tools from the server. Handles caching and static filtering automatically.

Returns

Promise<{ _meta?: { [key: string]: unknown; }; annotations?: { destructiveHint?: boolean; idempotentHint?: boolean; openWorldHint?: boolean; readOnlyHint?: boolean; title?: string; }; description?: string; execution?: { taskSupport?: "optional" | "required" | "forbidden"; }; icons?: { mimeType?: string; sizes?: string[]; src: string; theme?: "light" | "dark"; }[]; inputSchema: { [key: string]: unknown; properties?: { [key: string]: object; }; required?: string[]; type: "object"; }; name: string; outputSchema?: { [key: string]: unknown; properties?: { [key: string]: object; }; required?: string[]; type: "object"; }; title?: string; }[]>

Inherited from

BaseMCPServer.listTools

On this page