MCP PHP SDK

BaseTransport implements TransportInterface uses ManagesTransportCallbacks

AbstractYes

Provides a skeletal implementation of the TransportInterface to minimize the effort required to implement this interface.

Tags
phpstan-import-type

FiberResume from TransportInterface

phpstan-import-type

FiberReturn from TransportInterface

phpstan-import-type

FiberSuspend from TransportInterface

phpstan-import-type

McpFiber from TransportInterface

author

Kyrian Obikwelu koshnawaza@gmail.com

Table of Contents

Interfaces

TransportInterface

Properties

$fiberYieldHandler  : callable(Array, Array): void
$logger  : LoggerInterface
$messageListener  : callable(TransportInterface<string|int, mixed>, string, Array): void
$outgoingMessagesProvider  : callable(Uuid): array<int, array{message: string, context: array}>
$pendingRequestsProvider  : callable(Uuid): array<int, array<string, mixed>>
$responseFinder  : callable(int, Uuid): Response<string|int, array<string, mixed>>|Error|null
$sessionEndListener  : callable(Uuid): void
$sessionFiber  : McpFiber|null
$sessionId  : Uuid|null

Methods

__construct()  : mixed
attachFiberToSession()  : void
close()  : void
Closes the transport and cleans up any resources.
initialize()  : void
Initializes the transport.
onMessage()  : void
onSessionEnd()  : void
setFiberYieldHandler()  : void
setOutgoingMessagesProvider()  : void
setPendingRequestsProvider()  : void
setResponseFinder()  : void
setSessionId()  : void
Set the session ID for the current transport context.
checkForResponse()  : Response|Error|null
getOutgoingMessages()  : array<int, array{message: string, context: array}>
getPendingRequests()  : array<int, array<string, mixed>>
handleFiberYield()  : void
handleMessage()  : void
handleSessionEnd()  : void

Properties

$outgoingMessagesProvider

protected callable(Uuid): array<int, array{message: string, context: array}> $outgoingMessagesProvider

$pendingRequestsProvider

protected callable(Uuid): array<int, array<string, mixed>> $pendingRequestsProvider

Methods

__construct()

public __construct([LoggerInterface|null $logger = null ]) : mixed
Parameters
$logger : LoggerInterface|null = null

attachFiberToSession()

public attachFiberToSession(McpFiber $fiber, Uuid $sessionId) : void
Parameters
$fiber : McpFiber
$sessionId : Uuid

close()

Closes the transport and cleans up any resources.

public close() : void

initialize()

Initializes the transport.

public initialize() : void

setFiberYieldHandler()

public setFiberYieldHandler(callable(Array, Array): void $handler) : void
Parameters
$handler : callable(Array, Array): void

setOutgoingMessagesProvider()

public setOutgoingMessagesProvider(callable $provider) : void
Parameters
$provider : callable

setPendingRequestsProvider()

public setPendingRequestsProvider(callable $provider) : void
Parameters
$provider : callable

setResponseFinder()

public setResponseFinder(callable(int, Uuid): Array $finder) : void
Parameters
$finder : callable(int, Uuid): Array

setSessionId()

Set the session ID for the current transport context.

public setSessionId(Uuid|null $sessionId) : void
Parameters
$sessionId : Uuid|null

The session ID, or null to clear

checkForResponse()

protected checkForResponse(int $requestId, Uuid|null $sessionId) : Response|Error|null
Parameters
$requestId : int
$sessionId : Uuid|null
Tags
phpstan-return

FiberResume

Return values
Response|Error|null

getOutgoingMessages()

protected getOutgoingMessages(Uuid|null $sessionId) : array<int, array{message: string, context: array}>
Parameters
$sessionId : Uuid|null
Return values
array<int, array{message: string, context: array}>

getPendingRequests()

protected getPendingRequests(Uuid|null $sessionId) : array<int, array<string, mixed>>
Parameters
$sessionId : Uuid|null
Return values
array<int, array<string, mixed>>

handleFiberYield()

protected handleFiberYield(FiberSuspend|null $yielded, Uuid|null $sessionId) : void
Parameters
$yielded : FiberSuspend|null
$sessionId : Uuid|null

handleMessage()

protected handleMessage(string $payload, Uuid|null $sessionId) : void
Parameters
$payload : string
$sessionId : Uuid|null

handleSessionEnd()

protected handleSessionEnd(Uuid|null $sessionId) : void
Parameters
$sessionId : Uuid|null

        
On this page

Search results