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
| Parameter | Type |
|---|---|
options | MCPServerSSEOptions |
Returns
MCPServerSSE
Overrides
BaseMCPServer.constructorProperties
| Property | Modifier | Type | Default value | Description | Overrides | Inherited from | Defined in |
|---|---|---|---|---|---|---|---|
_cacheDirty | protected | boolean | true | - | - | BaseMCPServer._cacheDirty | packages/kernl/src/mcp/base.ts:88 |
_cachedTools | protected | | { _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; }[] | undefined | undefined | - | - | BaseMCPServer._cachedTools | packages/kernl/src/mcp/base.ts:87 |
cacheToolsList | public | boolean | undefined | Whether to cache the tools list after first fetch. | - | BaseMCPServer.cacheToolsList | packages/kernl/src/mcp/base.ts:84 |
id | readonly | string | undefined | - | BaseMCPServer.id | - | packages/kernl/src/mcp/sse.ts:23 |
logger | protected | Logger | undefined | - | - | BaseMCPServer.logger | packages/kernl/src/mcp/base.ts:86 |
options | public | MCPServerSSEOptions | undefined | - | - | - | packages/kernl/src/mcp/sse.ts:28 |
serverInitializeResult | protected | | { capabilities: { tools: Record<string, unknown>; }; protocolVersion: string; serverInfo: { name: string; version: string; }; } | null | null | - | - | - | packages/kernl/src/mcp/sse.ts:26 |
session | protected | | 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; }; }> | null | null | - | - | - | packages/kernl/src/mcp/sse.ts:24 |
timeout | protected | number | undefined | - | - | - | packages/kernl/src/mcp/sse.ts:25 |
toolFilter | public | MCPToolFilter | undefined | Filter to control which tools are exposed to agents. Always a callable function. Defaults to allowing all tools. | - | BaseMCPServer.toolFilter | packages/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._listToolscallTool()
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
| Parameter | Type |
|---|---|
toolName | string |
args | Record<string, unknown> | null |
Returns
Promise<{
text: string;
type: string;
}[]>
Overrides
BaseMCPServer.callToolclose()
close(): Promise<void>;Defined in: packages/kernl/src/mcp/sse.ts:118
Closes the connection and cleans up resources.
Returns
Promise<void>
Overrides
BaseMCPServer.closeconnect()
connect(): Promise<void>;Defined in: packages/kernl/src/mcp/sse.ts:46
Establishes connection to the MCP server.
Returns
Promise<void>
Overrides
BaseMCPServer.connectinvalidateCache()
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.invalidateCachelistTools()
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