Class BaseServerTransportProvider
java.lang.Object
com.mulesoft.connectors.mcp.internal.server.connection.provider.BaseServerTransportProvider
- All Implemented Interfaces:
io.modelcontextprotocol.spec.McpServerTransportProvider
- Direct Known Subclasses:
SSEServerTransportProvider,StreamableHttpServerTransportProvider
public abstract class BaseServerTransportProvider
extends Object
implements io.modelcontextprotocol.spec.McpServerTransportProvider
A server transport on which different events can be observed
- Since:
- 0.1.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final com.fasterxml.jackson.databind.ObjectMapperprotected final AtomicBooleanprotected final Stringprotected final SessionManager -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanassureTransportOpen(org.mule.runtime.http.api.server.async.HttpResponseReadyCallback responseCallback) final reactor.core.publisher.Mono<Void>protected abstract voidprotected abstract voiddoOpen()protected Optional<RpcRequestObserver>protected io.modelcontextprotocol.spec.McpServerSession.Factoryprotected Optional<SessionObserver>reactor.core.publisher.Mono<Void>notifyClients(String method, Object params) voidonNewSession(SessionObserver observer) Register an observer when a new session is created.voidonRPCRequest(RpcRequestObserver observer) Register an observer when a new RPC request is received.final voidopen()voidsetSessionFactory(io.modelcontextprotocol.spec.McpServerSession.Factory sessionFactory) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.modelcontextprotocol.spec.McpServerTransportProvider
close
-
Field Details
-
objectMapper
protected static final com.fasterxml.jackson.databind.ObjectMapper objectMapper -
open
-
refName
-
sessionManager
-
-
Constructor Details
-
BaseServerTransportProvider
-
-
Method Details
-
onNewSession
Register an observer when a new session is created. Pre-existing observer is overridden.- Parameters:
observer- - ifnull, the current observer is unregistered
-
onRPCRequest
Register an observer when a new RPC request is received. This is for requests only, notifications and other messages are ignored. Pre-existing observer is overridden.- Parameters:
observer- - ifnull, the current observer is unregistered
-
open
public final void open() throws org.mule.runtime.api.connection.ConnectionException- Throws:
org.mule.runtime.api.connection.ConnectionException
-
doOpen
protected abstract void doOpen() -
closeGracefully
- Specified by:
closeGracefullyin interfaceio.modelcontextprotocol.spec.McpServerTransportProvider
-
doCloseGracefully
protected abstract void doCloseGracefully() -
notifyClients
- Specified by:
notifyClientsin interfaceio.modelcontextprotocol.spec.McpServerTransportProvider
-
assureTransportOpen
protected boolean assureTransportOpen(org.mule.runtime.http.api.server.async.HttpResponseReadyCallback responseCallback) -
setSessionFactory
public void setSessionFactory(io.modelcontextprotocol.spec.McpServerSession.Factory sessionFactory) - Specified by:
setSessionFactoryin interfaceio.modelcontextprotocol.spec.McpServerTransportProvider
-
getSessionObserver
-
getRequestObserver
-
getSessionFactory
protected io.modelcontextprotocol.spec.McpServerSession.Factory getSessionFactory()
-