Package org.machanism.machai.mcp.server
Class AbstractHttpMcpServer
java.lang.Object
org.machanism.machai.mcp.server.AbstractMcpServer
org.machanism.machai.mcp.server.AbstractHttpMcpServer
- Direct Known Subclasses:
HttpStatelessMcpServer,HttpStreamableMcpServer
Abstract base class for HTTP-based MCP (Model Context Protocol) server
implementations.
This class provides the foundational logic for starting and configuring an HTTP server using Jetty, including thread pool management, port configuration, and servlet transport provider setup. Subclasses should provide specific servlet implementations for handling MCP requests.
- Since:
- 1.2.0
- Author:
- Viktor Tovstyi
-
Nested Class Summary
Nested classes/interfaces inherited from class org.machanism.machai.mcp.server.AbstractMcpServer
AbstractMcpServer.ToolSpecificationBuilder<TExchange> -
Field Summary
Fields inherited from class org.machanism.machai.mcp.server.AbstractMcpServer
MACHAI_MACHANISM_HOMEPAGE, MACHAI_MACHANISM_ICON -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintgetPort()Returns the port number on which the server is configured to listen.jakarta.servlet.http.HttpServletReturns the HTTP servlet transport provider responsible for handling requests.voidsetPort(int port) Sets the port number for the server to listen on.voidsetTransportProvider(jakarta.servlet.http.HttpServlet transportProvider) Sets the HTTP servlet transport provider for handling requests.protected voidstart()Starts the MCP HTTP server with the configured port and transport provider.Methods inherited from class org.machanism.machai.mcp.server.AbstractMcpServer
getProjectDir, setProjectDir, tools
-
Constructor Details
-
AbstractHttpMcpServer
public AbstractHttpMcpServer()Constructs a newAbstractHttpMcpServer.
-
-
Method Details
-
getPort
public int getPort()Returns the port number on which the server is configured to listen.- Returns:
- the port number
-
setPort
public void setPort(int port) Sets the port number for the server to listen on.- Parameters:
port- the port number to set
-
start
Starts the MCP HTTP server with the configured port and transport provider.Initializes the Jetty server, configures the thread pool, sets up the server connector, and registers the provided servlet to handle all incoming requests.
- Specified by:
startin classAbstractMcpServer- Throws:
Exception- if the server fails to start
-
getTransportProvider
public jakarta.servlet.http.HttpServlet getTransportProvider()Returns the HTTP servlet transport provider responsible for handling requests.- Returns:
- the transport provider servlet
-
setTransportProvider
public void setTransportProvider(jakarta.servlet.http.HttpServlet transportProvider) Sets the HTTP servlet transport provider for handling requests.- Parameters:
transportProvider- the servlet to set as the transport provider
-