Class McpStatelessSyncServer

java.lang.Object
io.modelcontextprotocol.server.McpStatelessSyncServer

public class McpStatelessSyncServer extends Object
A stateless MCP server implementation for use with Streamable HTTP transport types. It allows simple horizontal scalability since it does not maintain a session and does not require initialization. Each instance of the server can be reached with no prior knowledge and can serve the clients with the capabilities it supports.
Author:
Dariusz Jędrzejczyk
  • Method Details

    • getServerCapabilities

      public McpSchema.ServerCapabilities getServerCapabilities()
      Get the server capabilities that define the supported features and functionality.
      Returns:
      The server capabilities
    • getServerInfo

      public McpSchema.Implementation getServerInfo()
      Get the server implementation information.
      Returns:
      The server implementation details
    • closeGracefully

      public reactor.core.publisher.Mono<Void> closeGracefully()
      Gracefully closes the server, allowing any in-progress operations to complete.
      Returns:
      A Mono that completes when the server has been closed
    • close

      public void close()
      Close the server immediately.
    • addTool

      public void addTool(McpStatelessServerFeatures.SyncToolSpecification toolSpecification)
      Add a new tool specification at runtime.
      Parameters:
      toolSpecification - The tool specification to add
    • removeTool

      public void removeTool(String toolName)
      Remove a tool handler at runtime.
      Parameters:
      toolName - The name of the tool handler to remove
    • addResource

      public void addResource(McpStatelessServerFeatures.SyncResourceSpecification resourceSpecification)
      Add a new resource handler at runtime.
      Parameters:
      resourceSpecification - The resource handler to add
    • removeResource

      public void removeResource(String resourceUri)
      Remove a resource handler at runtime.
      Parameters:
      resourceUri - The URI of the resource handler to remove
    • addPrompt

      public void addPrompt(McpStatelessServerFeatures.SyncPromptSpecification promptSpecification)
      Add a new prompt handler at runtime.
      Parameters:
      promptSpecification - The prompt handler to add
    • removePrompt

      public void removePrompt(String promptName)
      Remove a prompt handler at runtime.
      Parameters:
      promptName - The name of the prompt handler to remove