clientTools: Map<string, Set<string>>
pendingRequests: Map<string, { resolve: (value: CallToolResult) => void; reject: (reason: Error | McpError) => void; timeout: number; }>
requestTimeoutMs: number
toolToClient: Map<string, string>
useNamespacing: boolean
callTool(toolCallHandler: ((request: CallToolRequest,extra?: unknown,) => Promise<CallToolResult>) | undefined,request: CallToolRequest,extra?: unknown,): Promise<CallToolResult>
Call tool
cleanup(): void
Clean up resources
getOriginalToolName(namespacedName: string): string
Extract original tool name from namespaced name
getServerRequestHandler<TReq,TRes,>(method: string): ((request: TReq,extra?: unknown,) => Promise<TRes>) | undefined
Calls a JSON-RPC method on the server.
getStatus(): { clientId: string; registeredTools: string[]; connectedClients: string[]; clientToolMapping: Record<string, string[]>; pendingRequests: number; }
Get status information
getToolName(): string
Generate tool name with optional namespacing
handleClientDisconnect(clientId: string): void
Handle client disconnect
handleClientResponse(params: { id: string; success: boolean; result?: unknown; error?: string; }): { status: string; }
Handle tool execution response from client
handleClientToolRegistration(params: { clientId: string; tools: Array<{ name: string; description: string; inputSchema: Record<string, unknown>; }>; }): { status: string; registeredTools: string[]; conflicts: string[]; }
Handle client tool registration
listTools(toolListHandler: ((request: ListToolsRequest,extra?: unknown,) => Promise<ListToolsResult>) | undefined,request: ListToolsRequest,extra: unknown,): Promise<ListToolsResult>
List all tools
notifyClientExecute(): Promise<void>
Notify client to execute tool via notification
registerToolSchemas(tools: ClientToolDefinition[]): void
Register tools (static registration for backward compatibility)
setNamespacing(enabled: boolean): void
Enable or disable tool namespacing for multi-client isolation
setRequestTimeout(timeoutMs: number): void
Set request timeout
setupStandardHandlers(): void
unregisterClientTools(clientId: string): void
Unregister all tools from a specific client