kernl

Class: MCPServerStreamableHttp

Defined in: packages/kernl/src/mcp/http.ts:25

MCP server client that communicates over streamable HTTP protocol.

Extends

  • BaseMCPServer

Constructors

Constructor

new MCPServerStreamableHttp(options: MCPServerStreamableHttpOptions): MCPServerStreamableHttp;

Defined in: packages/kernl/src/mcp/http.ts:34

Parameters

ParameterType
optionsMCPServerStreamableHttpOptions

Returns

MCPServerStreamableHttp

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/http.ts:26
loggerprotectedLoggerundefined--BaseMCPServer.loggerpackages/kernl/src/mcp/base.ts:86
optionspublicMCPServerStreamableHttpOptionsundefined---packages/kernl/src/mcp/http.ts:31
serverInitializeResultprotected| { capabilities: { tools: Record<string, unknown>; }; protocolVersion: string; serverInfo: { name: string; version: string; }; } | nullnull---packages/kernl/src/mcp/http.ts:29
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/http.ts:27
timeoutprotectednumberundefined---packages/kernl/src/mcp/http.ts:28
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/http.ts:101

Internal implementation: Fetches tools from the server.

Cached via the abstract base 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/http.ts:115

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/http.ts:85

Closes the connection and cleans up resources.

Returns

Promise<void>

Overrides

BaseMCPServer.close

connect()

connect(): Promise<void>;

Defined in: packages/kernl/src/mcp/http.ts:51

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