--- title: MCP Transport description: Understanding the Model Context Protocol (MCP) transport layer and available implementations --- # Model Context Protocol Transport Layer The transport layer in the MCP SDK is responsible for handling the communication between clients and servers. It provides different implementations to support various communication protocols and patterns. The SDK includes several built-in transport implementations: <> Create in-process based transport: ```java StdioServerTransport transport = new StdioServerTransport(new ObjectMapper()); ``` Provides bidirectional JSON-RPC message handling over standard input/output streams with non-blocking message processing, serialization/deserialization, and graceful shutdown support. Key features: <>

Creates WebFlux-based SSE server transport.
Requires the mcp-webflux-sse-transport dependency.

      
        {`@Configuration
class McpConfig {
    @Bean
    WebFluxSseServerTransport webFluxSseServerTransport(ObjectMapper mapper) {
        return new WebFluxSseServerTransport(mapper, "/mcp/message");
    }

    @Bean
    RouterFunction mcpRouterFunction(WebFluxSseServerTransport transport) {
        return transport.getRouterFunction();
    }
}`}
      
    

Implements the MCP HTTP with SSE transport specification, providing:

<>

Creates WebMvc-based SSE server transport.
Requires the mcp-webmvc-sse-transport dependency.

      
        {`@Configuration
@EnableWebMvc
class McpConfig {
    @Bean
    WebMvcSseServerTransport webMvcSseServerTransport(ObjectMapper mapper) {
        return new WebMvcSseServerTransport(mapper, "/mcp/message");
    }

    @Bean
    RouterFunction mcpRouterFunction(WebMvcSseServerTransport transport) {
        return transport.getRouterFunction();
    }
}`}
      
    

Implements the MCP HTTP with SSE transport specification, providing:

<>

Creates a Servlet-based SSE server transport.
Included in the core mcp module.
The HttpServletSseServerTransport can be used with any Servlet container. To use it with a Spring Web application, you can register it as a Servlet bean:

      
        {`@Configuration
@EnableWebMvc
public class McpServerConfig implements WebMvcConfigurer {

    @Bean
    public HttpServletSseServerTransport servletSseServerTransport() {
        return new HttpServletSseServerTransport(new ObjectMapper(), "/mcp/message");
    }

    @Bean
    public ServletRegistrationBean customServletBean(HttpServletSseServerTransport servlet) {
        return new ServletRegistrationBean(servlet);
    }
}`}
      
    

Implements the MCP HTTP with SSE transport specification using the traditional Servlet API, providing: