McpComponent

abstract class McpComponent(transport: Transport, logIncoming: suspend (String) -> Unit = {}, logOutgoing: suspend (String) -> Unit = {}, coroutineContext: CoroutineContext = Dispatchers.Default)

Base component for MCP clients/servers. Handles request/response & notification routing, serialization, and connection lifecycle.

Inheritors

Constructors

Link copied to clipboard
constructor(transport: Transport, logIncoming: suspend (String) -> Unit = {}, logOutgoing: suspend (String) -> Unit = {}, coroutineContext: CoroutineContext = Dispatchers.Default)

Functions

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
suspend fun sendNotification(notification: JsonRpcNotification)

Sends a notification (fire-and-forget).

Link copied to clipboard
suspend fun sendRequest(builder: (id: String) -> JsonRpcRequest): JsonRpcResponse

Sends a request and suspends until a corresponding response is received or this coroutine is cancelled.

Link copied to clipboard
suspend fun start()

Starts reading/writing from the given transport.