Class AbstractHttpMcpServer

java.lang.Object
org.machanism.machai.mcp.server.AbstractMcpServer
org.machanism.machai.mcp.server.AbstractHttpMcpServer
Direct Known Subclasses:
HttpStatelessMcpServer, HttpStreamableMcpServer

public abstract class AbstractHttpMcpServer extends AbstractMcpServer
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
  • Constructor Details

    • AbstractHttpMcpServer

      public AbstractHttpMcpServer()
      Constructs a new AbstractHttpMcpServer.
  • 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

      protected void start() throws Exception
      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:
      start in class AbstractMcpServer
      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