diff --git a/README.md b/README.md index c994354..4133b9a 100644 --- a/README.md +++ b/README.md @@ -28,8 +28,8 @@ Java implementation of the Model Context Protocol specification. It includes: - Servlet-based SSE server (`HttpServletSseServerTransport`) for HTTP SSE Server streaming using traditional Servlet API #### Optional SSE Transports -- [WebFlux SSE Transport](https://github.com/modelcontextprotocol/java-sdk/tree/main/mcp-transport/mcp-webflux-sse-transport) - Reactive HTTP streaming with Spring WebFlux (Client & Server) -- [WebMvc SSE Transport](https://github.com/modelcontextprotocol/java-sdk/tree/main/mcp-transport/mcp-webmvc-sse-transport) - Spring MVC based HTTP SSE transport (Server only). +- [WebFlux SSE Transport](https://github.com/modelcontextprotocol/java-sdk/tree/main/mcp-spring/mcp-spring-webflux) - Reactive HTTP streaming with Spring WebFlux (Client & Server) +- [WebMvc SSE Transport](https://github.com/modelcontextprotocol/java-sdk/tree/main/mcp-spring/mcp-spring-webmvc) - Spring MVC based HTTP SSE transport (Server only). You can use the core `HttpClientSseClientTransport` transport as a SSE client. ### [Spring AI MCP](https://docs.spring.io/spring-ai-mcp/reference/spring-mcp.html) @@ -54,13 +54,13 @@ Add the following dependencies to your Maven project: io.modelcontextprotocol.sdk - mcp-webflux-sse-transport + mcp-spring-webflux io.modelcontextprotocol.sdk - mcp-webmvc-sse-transport + mcp-spring-webmvc ``` diff --git a/mintlify-docs/docs/dependency-management.mdx b/docs/docs/dependency-management.mdx similarity index 91% rename from mintlify-docs/docs/dependency-management.mdx rename to docs/docs/dependency-management.mdx index 204c51c..dbd69e4 100644 --- a/mintlify-docs/docs/dependency-management.mdx +++ b/docs/docs/dependency-management.mdx @@ -57,8 +57,8 @@ The following dependencies are available and managed by the BOM: ### Transport Dependencies -- `org.modelcontextprotocol.sdk:mcp-webflux-sse-transport` - WebFlux-based Server-Sent Events (SSE) transport implementation for reactive applications. -- `org.modelcontextprotocol.sdk:mcp-webmvc-sse-transport` - WebMVC-based Server-Sent Events (SSE) transport implementation for servlet-based applications. +- `org.modelcontextprotocol.sdk:mcp-spring-webflux` - WebFlux-based Server-Sent Events (SSE) transport implementation for reactive applications. +- `org.modelcontextprotocol.sdk:mcp-spring-webmvc` - WebMVC-based Server-Sent Events (SSE) transport implementation for servlet-based applications. ### Testing Dependencies diff --git a/mintlify-docs/docs/mcp-capabilities.mdx b/docs/docs/mcp-capabilities.mdx similarity index 100% rename from mintlify-docs/docs/mcp-capabilities.mdx rename to docs/docs/mcp-capabilities.mdx diff --git a/mintlify-docs/docs/mcp-client.mdx b/docs/docs/mcp-client.mdx similarity index 100% rename from mintlify-docs/docs/mcp-client.mdx rename to docs/docs/mcp-client.mdx diff --git a/mintlify-docs/docs/mcp-overview.mdx b/docs/docs/mcp-overview.mdx similarity index 97% rename from mintlify-docs/docs/mcp-overview.mdx rename to docs/docs/mcp-overview.mdx index 68329fa..18ae2b7 100644 --- a/mintlify-docs/docs/mcp-overview.mdx +++ b/docs/docs/mcp-overview.mdx @@ -72,13 +72,13 @@ For HTTP SSE transport implementations, add one of the following dependencies: org.modelcontextprotocol.sdk - mcp-webflux-sse-transport + mcp-spring-webflux org.modelcontextprotocol.sdk - mcp-webmvc-sse-transport + mcp-spring-webmvc ``` diff --git a/mintlify-docs/docs/mcp-server.mdx b/docs/docs/mcp-server.mdx similarity index 100% rename from mintlify-docs/docs/mcp-server.mdx rename to docs/docs/mcp-server.mdx diff --git a/mintlify-docs/docs/mcp-transport.mdx b/docs/docs/mcp-transport.mdx similarity index 97% rename from mintlify-docs/docs/mcp-transport.mdx rename to docs/docs/mcp-transport.mdx index e0483d6..d9fc318 100644 --- a/mintlify-docs/docs/mcp-transport.mdx +++ b/docs/docs/mcp-transport.mdx @@ -31,7 +31,7 @@ The transport layer in the MCP SDK is responsible for handling the communication <> -

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

+

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

       
@@ -63,7 +63,7 @@ class McpConfig {
 
 
   <>
-    

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

+

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

       
diff --git a/mintlify-docs/docs/overview.mdx b/docs/docs/overview.mdx
similarity index 86%
rename from mintlify-docs/docs/overview.mdx
rename to docs/docs/overview.mdx
index 6624032..28d9e3d 100644
--- a/mintlify-docs/docs/overview.mdx
+++ b/docs/docs/overview.mdx
@@ -30,8 +30,8 @@ Core implementation of the Model Context Protocol specification, providing:
 - Servlet-based SSE server (`HttpServletSseServerTransport`) for HTTP SSE Server streaming using traditional Servlet API
 
 #### Optional SSE Transports
-- [WebFlux SSE Transport](https://github.com/modelcontextprotocol/java-sdk/tree/main/mcp-transport/mcp-webflux-sse-transport) - Reactive HTTP streaming with Spring WebFlux (Client & Server)
-- [WebMvc SSE Transport](https://github.com/modelcontextprotocol/java-sdk/tree/main/mcp-transport/mcp-webmvc-sse-transport) - Spring MVC based SSE transport (Server only). 
+- [WebFlux SSE Transport](https://github.com/modelcontextprotocol/java-sdk/tree/main/mcp-spring/mcp-spring-webflux) - Reactive HTTP streaming with Spring WebFlux (Client & Server)
+- [WebMvc SSE Transport](https://github.com/modelcontextprotocol/java-sdk/tree/main/mcp-spring/mcp-spring-webmvc) - Spring MVC based SSE transport (Server only). 
 You can use the core `HttpClientSseClientTransport` transport as a SSE client.
 
 ## Getting Started
@@ -48,7 +48,7 @@ You can use the core `HttpClientSseClientTransport` transport as a SSE client.
 
 
     org.modelcontextprotocol.sdk
-    mcp-webflux-sse-transport
+    mcp-spring-webflux
 
 ```
   
diff --git a/mintlify-docs/favicon.svg b/docs/favicon.svg
similarity index 100%
rename from mintlify-docs/favicon.svg
rename to docs/favicon.svg
diff --git a/mintlify-docs/images/class-diagrams.puml b/docs/images/class-diagrams.puml
similarity index 100%
rename from mintlify-docs/images/class-diagrams.puml
rename to docs/images/class-diagrams.puml
diff --git a/mintlify-docs/images/mcp-stack.svg b/docs/images/mcp-stack.svg
similarity index 100%
rename from mintlify-docs/images/mcp-stack.svg
rename to docs/images/mcp-stack.svg
diff --git a/mintlify-docs/images/spring-ai-mcp-client-architecture.jpg b/docs/images/spring-ai-mcp-client-architecture.jpg
similarity index 100%
rename from mintlify-docs/images/spring-ai-mcp-client-architecture.jpg
rename to docs/images/spring-ai-mcp-client-architecture.jpg
diff --git a/mintlify-docs/images/spring-ai-mcp-server-architecture.jpg b/docs/images/spring-ai-mcp-server-architecture.jpg
similarity index 100%
rename from mintlify-docs/images/spring-ai-mcp-server-architecture.jpg
rename to docs/images/spring-ai-mcp-server-architecture.jpg
diff --git a/mintlify-docs/images/spring-ai-mcp-uml-classdiagram.svg b/docs/images/spring-ai-mcp-uml-classdiagram.svg
similarity index 100%
rename from mintlify-docs/images/spring-ai-mcp-uml-classdiagram.svg
rename to docs/images/spring-ai-mcp-uml-classdiagram.svg
diff --git a/mintlify-docs/mint.json b/docs/mint.json
similarity index 96%
rename from mintlify-docs/mint.json
rename to docs/mint.json
index eb4ddaa..397b8c0 100644
--- a/mintlify-docs/mint.json
+++ b/docs/mint.json
@@ -33,7 +33,7 @@
         "docs/mcp-overview",
         "docs/mcp-client",
         "docs/mcp-server",
-        "docs/mcp-transport",
+        "docs/mcp-spring",
         "docs/mcp-capabilities"
       ]
     }
diff --git a/mcp-bom/pom.xml b/mcp-bom/pom.xml
index a524793..26bfce4 100644
--- a/mcp-bom/pom.xml
+++ b/mcp-bom/pom.xml
@@ -43,14 +43,14 @@
             
             
                 io.modelcontextprotocol.sdk
-                mcp-webflux-sse-transport
+                mcp-spring-webflux
                 ${project.version}
             
 
             
             
                 io.modelcontextprotocol.sdk
-                mcp-webmvc-sse-transport
+                mcp-spring-webmvc
                 ${project.version}
             
 
diff --git a/mcp-docs/src/main/antora/modules/ROOT/pages/dependency-management.adoc b/mcp-docs/src/main/antora/modules/ROOT/pages/dependency-management.adoc
index 7fcbba5..517973c 100644
--- a/mcp-docs/src/main/antora/modules/ROOT/pages/dependency-management.adoc
+++ b/mcp-docs/src/main/antora/modules/ROOT/pages/dependency-management.adoc
@@ -57,8 +57,8 @@ The following dependencies are available and managed by the BOM:
 
 === Transport Dependencies
 
-* `io.modelcontextprotocol.sdk:mcp-webflux-sse-transport` - WebFlux-based Server-Sent Events (SSE) transport implementation for reactive applications.
-* `io.modelcontextprotocol.sdk:mcp-webmvc-sse-transport` - WebMVC-based Server-Sent Events (SSE) transport implementation for servlet-based applications.
+* `io.modelcontextprotocol.sdk:mcp-spring-webflux` - WebFlux-based Server-Sent Events (SSE) transport implementation for reactive applications.
+* `io.modelcontextprotocol.sdk:mcp-spring-webmvc` - WebMVC-based Server-Sent Events (SSE) transport implementation for servlet-based applications.
 
 === Testing Dependencies
 
diff --git a/mcp-docs/src/main/antora/modules/ROOT/pages/mcp.adoc b/mcp-docs/src/main/antora/modules/ROOT/pages/mcp.adoc
index 6237ed1..7a48722 100644
--- a/mcp-docs/src/main/antora/modules/ROOT/pages/mcp.adoc
+++ b/mcp-docs/src/main/antora/modules/ROOT/pages/mcp.adoc
@@ -47,13 +47,13 @@ For HTTP SSE transport implementations, add one of the following dependencies
 
 
     io.modelcontextprotocol.sdk
-    mcp-webflux-sse-transport
+    mcp-spring-webflux
 
 
 
 
     io.modelcontextprotocol.sdk
-    mcp-webmvc-sse-transport
+    mcp-spring-webmvc
 
 ----
 
@@ -74,10 +74,10 @@ For HTTP SSE transport implementations, add one of the following dependencies
 [source,groovy]
 ----
 // Spring WebFlux-based SSE client and server transport
-implementation 'io.modelcontextprotocol.sdk:mcp-webflux-sse-transport'
+implementation 'io.modelcontextprotocol.sdk:mcp-spring-webflux'
 
 // Spring WebMVC-based SSE server transport
-implementation 'io.modelcontextprotocol.sdk:mcp-webmvc-sse-transport'
+implementation 'io.modelcontextprotocol.sdk:mcp-spring-webmvc'
 ----
 ======
 
@@ -267,7 +267,7 @@ McpTransport transport = new HttpClientSseClientTransport("http://your-mcp-serve
 SSE (WebFlux)::
 +
 Creates WebFlux-based SSE client transport.
-Requires the `mcp-webflux-sse-transport` dependency.
+Requires the `mcp-spring-webflux` dependency.
 +
 [source,java]
 ----
@@ -464,7 +464,7 @@ Provides bidirectional JSON-RPC message handling over standard input/output stre
 SSE (WebFlux)::
 +
 Creates WebFlux-based SSE server transport.
-Requires the `mcp-webflux-sse-transport` dependency.
+Requires the `mcp-spring-webflux` dependency.
 +
 [source,java]
 ----
@@ -492,7 +492,7 @@ Implements the MCP HTTP with SSE transport specification, providing:
 SSE (WebMvc)::
 +
 Creates WebMvc-based SSE server transport.
-Requires the `mcp-webmvc-sse-transport` dependency.
+Requires the `mcp-spring-webmvc` dependency.
 +
 [source,java]
 ----
diff --git a/mcp-docs/src/main/antora/modules/ROOT/pages/overview.adoc b/mcp-docs/src/main/antora/modules/ROOT/pages/overview.adoc
index e3ec80b..9dc040b 100644
--- a/mcp-docs/src/main/antora/modules/ROOT/pages/overview.adoc
+++ b/mcp-docs/src/main/antora/modules/ROOT/pages/overview.adoc
@@ -25,8 +25,8 @@ Core implementation of the Model Context Protocol specification, providing:
 ** Servlet-based SSE server (`HttpServletSseServerTransport`) for HTTP SSE Server streaming using traditional Servlet API
 
 * *Optional SSE Transports*
-** link:https://github.com/modelcontextprotocol/java-sdk/tree/main/mcp-transport/mcp-webflux-sse-transport[WebFlux SSE Transport] - Reactive HTTP streaming with Spring WebFlux (Client & Server)
-** link:https://github.com/modelcontextprotocol/java-sdk/tree/main/mcp-transport/mcp-webmvc-sse-transport[WebMvc SSE Transport] - Spring MVC based SSE transport (Server only). 
+** link:https://github.com/modelcontextprotocol/java-sdk/tree/main/mcp-spring/mcp-spring-webflux[WebFlux SSE Transport] - Reactive HTTP streaming with Spring WebFlux (Client & Server)
+** link:https://github.com/modelcontextprotocol/java-sdk/tree/main/mcp-spring/mcp-spring-webmvc[WebMvc SSE Transport] - Spring MVC based SSE transport (Server only). 
 You can use the core `HttpClientSseClientTransport` transport as a SSE client.
 
 == Getting Started
@@ -46,13 +46,13 @@ Maven::
 
 
     io.modelcontextprotocol.sdk
-    mcp-webflux-sse-transport
+    mcp-spring-webflux
 
 
 
 
     io.modelcontextprotocol.sdk
-    mcp-webmvc-sse-transport
+    mcp-spring-webmvc
 
 
 ----
@@ -79,8 +79,8 @@ Gradle::
 ----
 dependencies {
     implementation 'io.modelcontextprotocol.sdk:mcp'                     // Core
-    implementation 'io.modelcontextprotocol.sdk:mcp-webflux-sse-transport'  // Optional
-    implementation 'io.modelcontextprotocol.sdk:mcp-webmvc-sse-transport'   // Optional
+    implementation 'io.modelcontextprotocol.sdk:mcp-spring-webflux'  // Optional
+    implementation 'io.modelcontextprotocol.sdk:mcp-spring-webmvc'   // Optional
 }
 
 repositories {
diff --git a/mcp-transport/mcp-webflux-sse-transport/README.md b/mcp-spring/mcp-spring-webflux/README.md
similarity index 96%
rename from mcp-transport/mcp-webflux-sse-transport/README.md
rename to mcp-spring/mcp-spring-webflux/README.md
index 475882b..e701e41 100644
--- a/mcp-transport/mcp-webflux-sse-transport/README.md
+++ b/mcp-spring/mcp-spring-webflux/README.md
@@ -3,7 +3,7 @@
 ```xml
 
     io.modelcontextprotocol.sdk
-    mcp-webflux-sse-transport
+    mcp-spring-webflux
 
 ```
 
diff --git a/mcp-transport/mcp-webflux-sse-transport/pom.xml b/mcp-spring/mcp-spring-webflux/pom.xml
similarity index 98%
rename from mcp-transport/mcp-webflux-sse-transport/pom.xml
rename to mcp-spring/mcp-spring-webflux/pom.xml
index d737a38..ec93eea 100644
--- a/mcp-transport/mcp-webflux-sse-transport/pom.xml
+++ b/mcp-spring/mcp-spring-webflux/pom.xml
@@ -9,7 +9,7 @@
 		0.7.0-SNAPSHOT
 		../../pom.xml
 	
-	mcp-webflux-sse-transport
+	mcp-spring-webflux
 	jar
 	WebFlux implementation of the Java MCP SSE transport
 	
diff --git a/mcp-transport/mcp-webflux-sse-transport/src/main/java/io/modelcontextprotocol/client/transport/WebFluxSseClientTransport.java b/mcp-spring/mcp-spring-webflux/src/main/java/io/modelcontextprotocol/client/transport/WebFluxSseClientTransport.java
similarity index 100%
rename from mcp-transport/mcp-webflux-sse-transport/src/main/java/io/modelcontextprotocol/client/transport/WebFluxSseClientTransport.java
rename to mcp-spring/mcp-spring-webflux/src/main/java/io/modelcontextprotocol/client/transport/WebFluxSseClientTransport.java
diff --git a/mcp-transport/mcp-webflux-sse-transport/src/main/java/io/modelcontextprotocol/server/transport/WebFluxSseServerTransport.java b/mcp-spring/mcp-spring-webflux/src/main/java/io/modelcontextprotocol/server/transport/WebFluxSseServerTransport.java
similarity index 100%
rename from mcp-transport/mcp-webflux-sse-transport/src/main/java/io/modelcontextprotocol/server/transport/WebFluxSseServerTransport.java
rename to mcp-spring/mcp-spring-webflux/src/main/java/io/modelcontextprotocol/server/transport/WebFluxSseServerTransport.java
diff --git a/mcp-transport/mcp-webflux-sse-transport/src/test/java/io/modelcontextprotocol/WebFluxSseIntegrationTests.java b/mcp-spring/mcp-spring-webflux/src/test/java/io/modelcontextprotocol/WebFluxSseIntegrationTests.java
similarity index 100%
rename from mcp-transport/mcp-webflux-sse-transport/src/test/java/io/modelcontextprotocol/WebFluxSseIntegrationTests.java
rename to mcp-spring/mcp-spring-webflux/src/test/java/io/modelcontextprotocol/WebFluxSseIntegrationTests.java
diff --git a/mcp-transport/mcp-webflux-sse-transport/src/test/java/io/modelcontextprotocol/client/WebFluxSseMcpAsyncClientTests.java b/mcp-spring/mcp-spring-webflux/src/test/java/io/modelcontextprotocol/client/WebFluxSseMcpAsyncClientTests.java
similarity index 92%
rename from mcp-transport/mcp-webflux-sse-transport/src/test/java/io/modelcontextprotocol/client/WebFluxSseMcpAsyncClientTests.java
rename to mcp-spring/mcp-spring-webflux/src/test/java/io/modelcontextprotocol/client/WebFluxSseMcpAsyncClientTests.java
index 79a9db8..021ce46 100644
--- a/mcp-transport/mcp-webflux-sse-transport/src/test/java/io/modelcontextprotocol/client/WebFluxSseMcpAsyncClientTests.java
+++ b/mcp-spring/mcp-spring-webflux/src/test/java/io/modelcontextprotocol/client/WebFluxSseMcpAsyncClientTests.java
@@ -4,8 +4,6 @@
 
 package io.modelcontextprotocol.client;
 
-import io.modelcontextprotocol.client.AbstractMcpAsyncClientTests;
-import io.modelcontextprotocol.client.McpAsyncClient;
 import io.modelcontextprotocol.client.transport.WebFluxSseClientTransport;
 import io.modelcontextprotocol.spec.ClientMcpTransport;
 import org.junit.jupiter.api.Timeout;
diff --git a/mcp-transport/mcp-webflux-sse-transport/src/test/java/io/modelcontextprotocol/client/WebFluxSseMcpSyncClientTests.java b/mcp-spring/mcp-spring-webflux/src/test/java/io/modelcontextprotocol/client/WebFluxSseMcpSyncClientTests.java
similarity index 92%
rename from mcp-transport/mcp-webflux-sse-transport/src/test/java/io/modelcontextprotocol/client/WebFluxSseMcpSyncClientTests.java
rename to mcp-spring/mcp-spring-webflux/src/test/java/io/modelcontextprotocol/client/WebFluxSseMcpSyncClientTests.java
index 16108c6..20eeb1d 100644
--- a/mcp-transport/mcp-webflux-sse-transport/src/test/java/io/modelcontextprotocol/client/WebFluxSseMcpSyncClientTests.java
+++ b/mcp-spring/mcp-spring-webflux/src/test/java/io/modelcontextprotocol/client/WebFluxSseMcpSyncClientTests.java
@@ -4,8 +4,6 @@
 
 package io.modelcontextprotocol.client;
 
-import io.modelcontextprotocol.client.AbstractMcpSyncClientTests;
-import io.modelcontextprotocol.client.McpSyncClient;
 import io.modelcontextprotocol.client.transport.WebFluxSseClientTransport;
 import io.modelcontextprotocol.spec.ClientMcpTransport;
 import org.junit.jupiter.api.Timeout;
diff --git a/mcp-transport/mcp-webflux-sse-transport/src/test/java/io/modelcontextprotocol/client/transport/WebFluxSseClientTransportTests.java b/mcp-spring/mcp-spring-webflux/src/test/java/io/modelcontextprotocol/client/transport/WebFluxSseClientTransportTests.java
similarity index 99%
rename from mcp-transport/mcp-webflux-sse-transport/src/test/java/io/modelcontextprotocol/client/transport/WebFluxSseClientTransportTests.java
rename to mcp-spring/mcp-spring-webflux/src/test/java/io/modelcontextprotocol/client/transport/WebFluxSseClientTransportTests.java
index a09700d..912e04f 100644
--- a/mcp-transport/mcp-webflux-sse-transport/src/test/java/io/modelcontextprotocol/client/transport/WebFluxSseClientTransportTests.java
+++ b/mcp-spring/mcp-spring-webflux/src/test/java/io/modelcontextprotocol/client/transport/WebFluxSseClientTransportTests.java
@@ -10,7 +10,6 @@ import java.util.concurrent.atomic.AtomicInteger;
 import java.util.function.Function;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
-import io.modelcontextprotocol.client.transport.WebFluxSseClientTransport;
 import io.modelcontextprotocol.spec.McpSchema;
 import io.modelcontextprotocol.spec.McpSchema.JSONRPCRequest;
 import org.junit.jupiter.api.AfterEach;
diff --git a/mcp-transport/mcp-webflux-sse-transport/src/test/java/io/modelcontextprotocol/server/WebFluxSseMcpAsyncServerTests.java b/mcp-spring/mcp-spring-webflux/src/test/java/io/modelcontextprotocol/server/WebFluxSseMcpAsyncServerTests.java
similarity index 92%
rename from mcp-transport/mcp-webflux-sse-transport/src/test/java/io/modelcontextprotocol/server/WebFluxSseMcpAsyncServerTests.java
rename to mcp-spring/mcp-spring-webflux/src/test/java/io/modelcontextprotocol/server/WebFluxSseMcpAsyncServerTests.java
index b26afd6..1ed0d99 100644
--- a/mcp-transport/mcp-webflux-sse-transport/src/test/java/io/modelcontextprotocol/server/WebFluxSseMcpAsyncServerTests.java
+++ b/mcp-spring/mcp-spring-webflux/src/test/java/io/modelcontextprotocol/server/WebFluxSseMcpAsyncServerTests.java
@@ -5,8 +5,6 @@
 package io.modelcontextprotocol.server;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
-import io.modelcontextprotocol.server.AbstractMcpAsyncServerTests;
-import io.modelcontextprotocol.server.McpAsyncServer;
 import io.modelcontextprotocol.server.transport.WebFluxSseServerTransport;
 import io.modelcontextprotocol.spec.ServerMcpTransport;
 import org.junit.jupiter.api.Timeout;
diff --git a/mcp-transport/mcp-webflux-sse-transport/src/test/java/io/modelcontextprotocol/server/WebFluxSseMcpSyncServerTests.java b/mcp-spring/mcp-spring-webflux/src/test/java/io/modelcontextprotocol/server/WebFluxSseMcpSyncServerTests.java
similarity index 93%
rename from mcp-transport/mcp-webflux-sse-transport/src/test/java/io/modelcontextprotocol/server/WebFluxSseMcpSyncServerTests.java
rename to mcp-spring/mcp-spring-webflux/src/test/java/io/modelcontextprotocol/server/WebFluxSseMcpSyncServerTests.java
index 0ad5c73..4db00dd 100644
--- a/mcp-transport/mcp-webflux-sse-transport/src/test/java/io/modelcontextprotocol/server/WebFluxSseMcpSyncServerTests.java
+++ b/mcp-spring/mcp-spring-webflux/src/test/java/io/modelcontextprotocol/server/WebFluxSseMcpSyncServerTests.java
@@ -5,8 +5,6 @@
 package io.modelcontextprotocol.server;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
-import io.modelcontextprotocol.server.AbstractMcpSyncServerTests;
-import io.modelcontextprotocol.server.McpSyncServer;
 import io.modelcontextprotocol.server.transport.WebFluxSseServerTransport;
 import io.modelcontextprotocol.spec.ServerMcpTransport;
 import org.junit.jupiter.api.Timeout;
diff --git a/mcp-transport/mcp-webflux-sse-transport/src/test/java/io/modelcontextprotocol/server/transport/BlockingInputStream.java b/mcp-spring/mcp-spring-webflux/src/test/java/io/modelcontextprotocol/server/transport/BlockingInputStream.java
similarity index 100%
rename from mcp-transport/mcp-webflux-sse-transport/src/test/java/io/modelcontextprotocol/server/transport/BlockingInputStream.java
rename to mcp-spring/mcp-spring-webflux/src/test/java/io/modelcontextprotocol/server/transport/BlockingInputStream.java
diff --git a/mcp-transport/mcp-webflux-sse-transport/src/test/resources/logback.xml b/mcp-spring/mcp-spring-webflux/src/test/resources/logback.xml
similarity index 100%
rename from mcp-transport/mcp-webflux-sse-transport/src/test/resources/logback.xml
rename to mcp-spring/mcp-spring-webflux/src/test/resources/logback.xml
diff --git a/mcp-transport/mcp-webmvc-sse-transport/README.md b/mcp-spring/mcp-spring-webmvc/README.md
similarity index 91%
rename from mcp-transport/mcp-webmvc-sse-transport/README.md
rename to mcp-spring/mcp-spring-webmvc/README.md
index 1e63e47..9adf5b2 100644
--- a/mcp-transport/mcp-webmvc-sse-transport/README.md
+++ b/mcp-spring/mcp-spring-webmvc/README.md
@@ -3,7 +3,7 @@
 ```xml
 
     io.modelcontextprotocol.sdk
-    mcp-webmvc-sse-transport
+    mcp-spring-webmvc
 
 ```
 
diff --git a/mcp-transport/mcp-webmvc-sse-transport/pom.xml b/mcp-spring/mcp-spring-webmvc/pom.xml
similarity index 98%
rename from mcp-transport/mcp-webmvc-sse-transport/pom.xml
rename to mcp-spring/mcp-spring-webmvc/pom.xml
index 4e3e910..fa5766a 100644
--- a/mcp-transport/mcp-webmvc-sse-transport/pom.xml
+++ b/mcp-spring/mcp-spring-webmvc/pom.xml
@@ -9,7 +9,7 @@
 		0.7.0-SNAPSHOT
 		../../pom.xml
 	
-	mcp-webmvc-sse-transport
+	mcp-spring-webmvc
 	jar
 	Spring Web MVC implementation of the Java MCP SSE transport
 	
diff --git a/mcp-transport/mcp-webmvc-sse-transport/src/main/java/io/modelcontextprotocol/server/transport/WebMvcSseServerTransport.java b/mcp-spring/mcp-spring-webmvc/src/main/java/io/modelcontextprotocol/server/transport/WebMvcSseServerTransport.java
similarity index 100%
rename from mcp-transport/mcp-webmvc-sse-transport/src/main/java/io/modelcontextprotocol/server/transport/WebMvcSseServerTransport.java
rename to mcp-spring/mcp-spring-webmvc/src/main/java/io/modelcontextprotocol/server/transport/WebMvcSseServerTransport.java
diff --git a/mcp-transport/mcp-webmvc-sse-transport/src/test/java/io/modelcontextprotocol/server/WebMvcSseAsyncServerTransportTests.java b/mcp-spring/mcp-spring-webmvc/src/test/java/io/modelcontextprotocol/server/WebMvcSseAsyncServerTransportTests.java
similarity index 98%
rename from mcp-transport/mcp-webmvc-sse-transport/src/test/java/io/modelcontextprotocol/server/WebMvcSseAsyncServerTransportTests.java
rename to mcp-spring/mcp-spring-webmvc/src/test/java/io/modelcontextprotocol/server/WebMvcSseAsyncServerTransportTests.java
index d00c17e..a819920 100644
--- a/mcp-transport/mcp-webmvc-sse-transport/src/test/java/io/modelcontextprotocol/server/WebMvcSseAsyncServerTransportTests.java
+++ b/mcp-spring/mcp-spring-webmvc/src/test/java/io/modelcontextprotocol/server/WebMvcSseAsyncServerTransportTests.java
@@ -5,7 +5,6 @@
 package io.modelcontextprotocol.server;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
-import io.modelcontextprotocol.server.AbstractMcpAsyncServerTests;
 import io.modelcontextprotocol.server.transport.WebMvcSseServerTransport;
 import io.modelcontextprotocol.spec.ServerMcpTransport;
 import org.apache.catalina.Context;
diff --git a/mcp-transport/mcp-webmvc-sse-transport/src/test/java/io/modelcontextprotocol/server/WebMvcSseIntegrationTests.java b/mcp-spring/mcp-spring-webmvc/src/test/java/io/modelcontextprotocol/server/WebMvcSseIntegrationTests.java
similarity index 99%
rename from mcp-transport/mcp-webmvc-sse-transport/src/test/java/io/modelcontextprotocol/server/WebMvcSseIntegrationTests.java
rename to mcp-spring/mcp-spring-webmvc/src/test/java/io/modelcontextprotocol/server/WebMvcSseIntegrationTests.java
index 6600ab4..62f6963 100644
--- a/mcp-transport/mcp-webmvc-sse-transport/src/test/java/io/modelcontextprotocol/server/WebMvcSseIntegrationTests.java
+++ b/mcp-spring/mcp-spring-webmvc/src/test/java/io/modelcontextprotocol/server/WebMvcSseIntegrationTests.java
@@ -12,8 +12,6 @@ import java.util.function.Function;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import io.modelcontextprotocol.client.McpClient;
 import io.modelcontextprotocol.client.transport.HttpClientSseClientTransport;
-import io.modelcontextprotocol.server.McpServer;
-import io.modelcontextprotocol.server.McpServerFeatures;
 import io.modelcontextprotocol.server.transport.WebMvcSseServerTransport;
 import io.modelcontextprotocol.spec.McpError;
 import io.modelcontextprotocol.spec.McpSchema;
diff --git a/mcp-transport/mcp-webmvc-sse-transport/src/test/java/io/modelcontextprotocol/server/WebMvcSseSyncServerTransportTests.java b/mcp-spring/mcp-spring-webmvc/src/test/java/io/modelcontextprotocol/server/WebMvcSseSyncServerTransportTests.java
similarity index 98%
rename from mcp-transport/mcp-webmvc-sse-transport/src/test/java/io/modelcontextprotocol/server/WebMvcSseSyncServerTransportTests.java
rename to mcp-spring/mcp-spring-webmvc/src/test/java/io/modelcontextprotocol/server/WebMvcSseSyncServerTransportTests.java
index 7539790..249b4de 100644
--- a/mcp-transport/mcp-webmvc-sse-transport/src/test/java/io/modelcontextprotocol/server/WebMvcSseSyncServerTransportTests.java
+++ b/mcp-spring/mcp-spring-webmvc/src/test/java/io/modelcontextprotocol/server/WebMvcSseSyncServerTransportTests.java
@@ -5,7 +5,6 @@
 package io.modelcontextprotocol.server;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
-import io.modelcontextprotocol.server.AbstractMcpSyncServerTests;
 import io.modelcontextprotocol.server.transport.WebMvcSseServerTransport;
 import io.modelcontextprotocol.spec.ServerMcpTransport;
 import org.apache.catalina.Context;
diff --git a/mcp-transport/mcp-webmvc-sse-transport/src/test/resources/logback.xml b/mcp-spring/mcp-spring-webmvc/src/test/resources/logback.xml
similarity index 100%
rename from mcp-transport/mcp-webmvc-sse-transport/src/test/resources/logback.xml
rename to mcp-spring/mcp-spring-webmvc/src/test/resources/logback.xml
diff --git a/mcp-test/src/main/java/io/modelcontextprotocol/client/AbstractMcpAsyncClientTests.java b/mcp-test/src/main/java/io/modelcontextprotocol/client/AbstractMcpAsyncClientTests.java
index affbc4d..a904a87 100644
--- a/mcp-test/src/main/java/io/modelcontextprotocol/client/AbstractMcpAsyncClientTests.java
+++ b/mcp-test/src/main/java/io/modelcontextprotocol/client/AbstractMcpAsyncClientTests.java
@@ -9,11 +9,8 @@ import java.util.Map;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.function.Function;
 
-import io.modelcontextprotocol.client.McpAsyncClient;
-import io.modelcontextprotocol.client.McpClient;
 import io.modelcontextprotocol.spec.ClientMcpTransport;
 import io.modelcontextprotocol.spec.McpSchema;
-import io.modelcontextprotocol.spec.McpTransport;
 import io.modelcontextprotocol.spec.McpSchema.CallToolRequest;
 import io.modelcontextprotocol.spec.McpSchema.ClientCapabilities;
 import io.modelcontextprotocol.spec.McpSchema.CreateMessageRequest;
@@ -25,6 +22,7 @@ import io.modelcontextprotocol.spec.McpSchema.Root;
 import io.modelcontextprotocol.spec.McpSchema.SubscribeRequest;
 import io.modelcontextprotocol.spec.McpSchema.Tool;
 import io.modelcontextprotocol.spec.McpSchema.UnsubscribeRequest;
+import io.modelcontextprotocol.spec.McpTransport;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Disabled;
diff --git a/mcp-test/src/main/java/io/modelcontextprotocol/client/AbstractMcpSyncClientTests.java b/mcp-test/src/main/java/io/modelcontextprotocol/client/AbstractMcpSyncClientTests.java
index df08498..b1c58a6 100644
--- a/mcp-test/src/main/java/io/modelcontextprotocol/client/AbstractMcpSyncClientTests.java
+++ b/mcp-test/src/main/java/io/modelcontextprotocol/client/AbstractMcpSyncClientTests.java
@@ -8,8 +8,6 @@ import java.time.Duration;
 import java.util.Map;
 import java.util.concurrent.atomic.AtomicBoolean;
 
-import io.modelcontextprotocol.client.McpClient;
-import io.modelcontextprotocol.client.McpSyncClient;
 import io.modelcontextprotocol.spec.ClientMcpTransport;
 import io.modelcontextprotocol.spec.McpSchema;
 import io.modelcontextprotocol.spec.McpSchema.CallToolRequest;
diff --git a/mcp-test/src/main/java/io/modelcontextprotocol/server/AbstractMcpAsyncServerTests.java b/mcp-test/src/main/java/io/modelcontextprotocol/server/AbstractMcpAsyncServerTests.java
index 730f367..ca5783d 100644
--- a/mcp-test/src/main/java/io/modelcontextprotocol/server/AbstractMcpAsyncServerTests.java
+++ b/mcp-test/src/main/java/io/modelcontextprotocol/server/AbstractMcpAsyncServerTests.java
@@ -7,13 +7,8 @@ package io.modelcontextprotocol.server;
 import java.time.Duration;
 import java.util.List;
 
-import io.modelcontextprotocol.server.McpAsyncServer;
-import io.modelcontextprotocol.server.McpServer;
-import io.modelcontextprotocol.server.McpServerFeatures;
 import io.modelcontextprotocol.spec.McpError;
 import io.modelcontextprotocol.spec.McpSchema;
-import io.modelcontextprotocol.spec.McpTransport;
-import io.modelcontextprotocol.spec.ServerMcpTransport;
 import io.modelcontextprotocol.spec.McpSchema.CallToolResult;
 import io.modelcontextprotocol.spec.McpSchema.GetPromptResult;
 import io.modelcontextprotocol.spec.McpSchema.Prompt;
@@ -22,6 +17,8 @@ import io.modelcontextprotocol.spec.McpSchema.ReadResourceResult;
 import io.modelcontextprotocol.spec.McpSchema.Resource;
 import io.modelcontextprotocol.spec.McpSchema.ServerCapabilities;
 import io.modelcontextprotocol.spec.McpSchema.Tool;
+import io.modelcontextprotocol.spec.McpTransport;
+import io.modelcontextprotocol.spec.ServerMcpTransport;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git a/mcp-test/src/main/java/io/modelcontextprotocol/server/AbstractMcpSyncServerTests.java b/mcp-test/src/main/java/io/modelcontextprotocol/server/AbstractMcpSyncServerTests.java
index 9c44a82..f8b9575 100644
--- a/mcp-test/src/main/java/io/modelcontextprotocol/server/AbstractMcpSyncServerTests.java
+++ b/mcp-test/src/main/java/io/modelcontextprotocol/server/AbstractMcpSyncServerTests.java
@@ -6,13 +6,8 @@ package io.modelcontextprotocol.server;
 
 import java.util.List;
 
-import io.modelcontextprotocol.server.McpServer;
-import io.modelcontextprotocol.server.McpServerFeatures;
-import io.modelcontextprotocol.server.McpSyncServer;
 import io.modelcontextprotocol.spec.McpError;
 import io.modelcontextprotocol.spec.McpSchema;
-import io.modelcontextprotocol.spec.McpTransport;
-import io.modelcontextprotocol.spec.ServerMcpTransport;
 import io.modelcontextprotocol.spec.McpSchema.CallToolResult;
 import io.modelcontextprotocol.spec.McpSchema.GetPromptResult;
 import io.modelcontextprotocol.spec.McpSchema.Prompt;
@@ -21,6 +16,8 @@ import io.modelcontextprotocol.spec.McpSchema.ReadResourceResult;
 import io.modelcontextprotocol.spec.McpSchema.Resource;
 import io.modelcontextprotocol.spec.McpSchema.ServerCapabilities;
 import io.modelcontextprotocol.spec.McpSchema.Tool;
+import io.modelcontextprotocol.spec.McpTransport;
+import io.modelcontextprotocol.spec.ServerMcpTransport;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git a/mcp/src/main/java/io/modelcontextprotocol/client/McpAsyncClient.java b/mcp/src/main/java/io/modelcontextprotocol/client/McpAsyncClient.java
index 9a0933e..31d3175 100644
--- a/mcp/src/main/java/io/modelcontextprotocol/client/McpAsyncClient.java
+++ b/mcp/src/main/java/io/modelcontextprotocol/client/McpAsyncClient.java
@@ -9,17 +9,15 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
-import java.util.function.Consumer;
 import java.util.function.Function;
 
 import com.fasterxml.jackson.core.type.TypeReference;
 import io.modelcontextprotocol.spec.ClientMcpTransport;
 import io.modelcontextprotocol.spec.DefaultMcpSession;
-import io.modelcontextprotocol.spec.McpError;
-import io.modelcontextprotocol.spec.McpSchema;
-import io.modelcontextprotocol.spec.McpTransport;
 import io.modelcontextprotocol.spec.DefaultMcpSession.NotificationHandler;
 import io.modelcontextprotocol.spec.DefaultMcpSession.RequestHandler;
+import io.modelcontextprotocol.spec.McpError;
+import io.modelcontextprotocol.spec.McpSchema;
 import io.modelcontextprotocol.spec.McpSchema.ClientCapabilities;
 import io.modelcontextprotocol.spec.McpSchema.CreateMessageRequest;
 import io.modelcontextprotocol.spec.McpSchema.CreateMessageResult;
@@ -30,13 +28,13 @@ import io.modelcontextprotocol.spec.McpSchema.LoggingLevel;
 import io.modelcontextprotocol.spec.McpSchema.LoggingMessageNotification;
 import io.modelcontextprotocol.spec.McpSchema.PaginatedRequest;
 import io.modelcontextprotocol.spec.McpSchema.Root;
+import io.modelcontextprotocol.spec.McpTransport;
 import io.modelcontextprotocol.util.Assert;
 import io.modelcontextprotocol.util.Utils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import reactor.core.publisher.Flux;
 import reactor.core.publisher.Mono;
-import reactor.core.scheduler.Schedulers;
 
 /**
  * The Model Context Protocol (MCP) client implementation that provides asynchronous
@@ -686,32 +684,6 @@ public class McpAsyncClient {
 	// --------------------------
 	// Logging
 	// --------------------------
-	/**
-	 * Create a notification handler for logging notifications from the server. This
-	 * handler automatically distributes logging messages to all registered consumers.
-	 * @param loggingConsumers List of consumers that will be notified when a logging
-	 * message is received. Each consumer receives the logging message notification.
-	 * @return A NotificationHandler that processes log notifications by distributing the
-	 * message to all registered consumers
-	 */
-	private NotificationHandler loggingNotificationHandler(
-			List> loggingConsumers) {
-
-		return params -> {
-
-			McpSchema.LoggingMessageNotification loggingMessageNotification = transport.unmarshalFrom(params,
-					new TypeReference() {
-					});
-
-			return Mono.fromRunnable(() -> {
-				for (Consumer loggingConsumer : loggingConsumers) {
-					loggingConsumer.accept(loggingMessageNotification);
-				}
-			}).subscribeOn(Schedulers.boundedElastic()).then();
-
-		};
-	}
-
 	/**
 	 * Create a notification handler for logging notifications from the server. This
 	 * handler automatically distributes logging messages to all registered consumers.
diff --git a/mcp/src/main/java/io/modelcontextprotocol/server/transport/StdioServerTransport.java b/mcp/src/main/java/io/modelcontextprotocol/server/transport/StdioServerTransport.java
index 506e387..818aa28 100644
--- a/mcp/src/main/java/io/modelcontextprotocol/server/transport/StdioServerTransport.java
+++ b/mcp/src/main/java/io/modelcontextprotocol/server/transport/StdioServerTransport.java
@@ -10,15 +10,14 @@ import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.io.OutputStream;
 import java.nio.charset.StandardCharsets;
-import java.time.Duration;
 import java.util.concurrent.Executors;
 import java.util.function.Function;
 
 import com.fasterxml.jackson.core.type.TypeReference;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import io.modelcontextprotocol.spec.McpSchema;
-import io.modelcontextprotocol.spec.ServerMcpTransport;
 import io.modelcontextprotocol.spec.McpSchema.JSONRPCMessage;
+import io.modelcontextprotocol.spec.ServerMcpTransport;
 import io.modelcontextprotocol.util.Assert;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/mcp/src/test/java/io/modelcontextprotocol/client/AbstractMcpAsyncClientTests.java b/mcp/src/test/java/io/modelcontextprotocol/client/AbstractMcpAsyncClientTests.java
index ea61844..974f9c3 100644
--- a/mcp/src/test/java/io/modelcontextprotocol/client/AbstractMcpAsyncClientTests.java
+++ b/mcp/src/test/java/io/modelcontextprotocol/client/AbstractMcpAsyncClientTests.java
@@ -9,11 +9,8 @@ import java.util.Map;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.function.Function;
 
-import io.modelcontextprotocol.client.McpAsyncClient;
-import io.modelcontextprotocol.client.McpClient;
 import io.modelcontextprotocol.spec.ClientMcpTransport;
 import io.modelcontextprotocol.spec.McpSchema;
-import io.modelcontextprotocol.spec.McpTransport;
 import io.modelcontextprotocol.spec.McpSchema.CallToolRequest;
 import io.modelcontextprotocol.spec.McpSchema.ClientCapabilities;
 import io.modelcontextprotocol.spec.McpSchema.CreateMessageRequest;
@@ -25,6 +22,7 @@ import io.modelcontextprotocol.spec.McpSchema.Root;
 import io.modelcontextprotocol.spec.McpSchema.SubscribeRequest;
 import io.modelcontextprotocol.spec.McpSchema.Tool;
 import io.modelcontextprotocol.spec.McpSchema.UnsubscribeRequest;
+import io.modelcontextprotocol.spec.McpTransport;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Disabled;
diff --git a/mcp/src/test/java/io/modelcontextprotocol/client/AbstractMcpSyncClientTests.java b/mcp/src/test/java/io/modelcontextprotocol/client/AbstractMcpSyncClientTests.java
index 6a630c4..0750ccd 100644
--- a/mcp/src/test/java/io/modelcontextprotocol/client/AbstractMcpSyncClientTests.java
+++ b/mcp/src/test/java/io/modelcontextprotocol/client/AbstractMcpSyncClientTests.java
@@ -8,8 +8,6 @@ import java.time.Duration;
 import java.util.Map;
 import java.util.concurrent.atomic.AtomicBoolean;
 
-import io.modelcontextprotocol.client.McpClient;
-import io.modelcontextprotocol.client.McpSyncClient;
 import io.modelcontextprotocol.spec.ClientMcpTransport;
 import io.modelcontextprotocol.spec.McpSchema;
 import io.modelcontextprotocol.spec.McpSchema.CallToolRequest;
diff --git a/mcp/src/test/java/io/modelcontextprotocol/client/McpAsyncClientResponseHandlerTests.java b/mcp/src/test/java/io/modelcontextprotocol/client/McpAsyncClientResponseHandlerTests.java
index a58df5e..d11fa0f 100644
--- a/mcp/src/test/java/io/modelcontextprotocol/client/McpAsyncClientResponseHandlerTests.java
+++ b/mcp/src/test/java/io/modelcontextprotocol/client/McpAsyncClientResponseHandlerTests.java
@@ -14,8 +14,6 @@ import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.core.type.TypeReference;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import io.modelcontextprotocol.MockMcpTransport;
-import io.modelcontextprotocol.client.McpAsyncClient;
-import io.modelcontextprotocol.client.McpClient;
 import io.modelcontextprotocol.spec.McpError;
 import io.modelcontextprotocol.spec.McpSchema;
 import io.modelcontextprotocol.spec.McpSchema.ClientCapabilities;
diff --git a/mcp/src/test/java/io/modelcontextprotocol/client/McpClientProtocolVersionTests.java b/mcp/src/test/java/io/modelcontextprotocol/client/McpClientProtocolVersionTests.java
index 317f571..58e486e 100644
--- a/mcp/src/test/java/io/modelcontextprotocol/client/McpClientProtocolVersionTests.java
+++ b/mcp/src/test/java/io/modelcontextprotocol/client/McpClientProtocolVersionTests.java
@@ -8,8 +8,6 @@ import java.time.Duration;
 import java.util.List;
 
 import io.modelcontextprotocol.MockMcpTransport;
-import io.modelcontextprotocol.client.McpAsyncClient;
-import io.modelcontextprotocol.client.McpClient;
 import io.modelcontextprotocol.spec.McpError;
 import io.modelcontextprotocol.spec.McpSchema;
 import io.modelcontextprotocol.spec.McpSchema.InitializeResult;
diff --git a/mcp/src/test/java/io/modelcontextprotocol/client/ServletSseMcpAsyncClientTests.java b/mcp/src/test/java/io/modelcontextprotocol/client/ServletSseMcpAsyncClientTests.java
index d96dc7f..56ac8f5 100644
--- a/mcp/src/test/java/io/modelcontextprotocol/client/ServletSseMcpAsyncClientTests.java
+++ b/mcp/src/test/java/io/modelcontextprotocol/client/ServletSseMcpAsyncClientTests.java
@@ -4,7 +4,6 @@
 
 package io.modelcontextprotocol.client;
 
-import io.modelcontextprotocol.client.McpSyncClient;
 import io.modelcontextprotocol.client.transport.HttpClientSseClientTransport;
 import io.modelcontextprotocol.spec.ClientMcpTransport;
 import org.junit.jupiter.api.Timeout;
diff --git a/mcp/src/test/java/io/modelcontextprotocol/client/ServletSseMcpSyncClientTests.java b/mcp/src/test/java/io/modelcontextprotocol/client/ServletSseMcpSyncClientTests.java
index 0ae22ac..d76d0bf 100644
--- a/mcp/src/test/java/io/modelcontextprotocol/client/ServletSseMcpSyncClientTests.java
+++ b/mcp/src/test/java/io/modelcontextprotocol/client/ServletSseMcpSyncClientTests.java
@@ -4,7 +4,6 @@
 
 package io.modelcontextprotocol.client;
 
-import io.modelcontextprotocol.client.McpSyncClient;
 import io.modelcontextprotocol.client.transport.HttpClientSseClientTransport;
 import io.modelcontextprotocol.spec.ClientMcpTransport;
 import org.junit.jupiter.api.Timeout;
diff --git a/mcp/src/test/java/io/modelcontextprotocol/client/StdioMcpAsyncClientTests.java b/mcp/src/test/java/io/modelcontextprotocol/client/StdioMcpAsyncClientTests.java
index 44c2876..ce74812 100644
--- a/mcp/src/test/java/io/modelcontextprotocol/client/StdioMcpAsyncClientTests.java
+++ b/mcp/src/test/java/io/modelcontextprotocol/client/StdioMcpAsyncClientTests.java
@@ -4,7 +4,6 @@
 
 package io.modelcontextprotocol.client;
 
-import io.modelcontextprotocol.client.McpAsyncClient;
 import io.modelcontextprotocol.client.transport.ServerParameters;
 import io.modelcontextprotocol.client.transport.StdioClientTransport;
 import io.modelcontextprotocol.spec.ClientMcpTransport;
diff --git a/mcp/src/test/java/io/modelcontextprotocol/client/StdioMcpSyncClientTests.java b/mcp/src/test/java/io/modelcontextprotocol/client/StdioMcpSyncClientTests.java
index ef7c83b..9f2bc4a 100644
--- a/mcp/src/test/java/io/modelcontextprotocol/client/StdioMcpSyncClientTests.java
+++ b/mcp/src/test/java/io/modelcontextprotocol/client/StdioMcpSyncClientTests.java
@@ -6,7 +6,6 @@ package io.modelcontextprotocol.client;
 
 import java.util.concurrent.atomic.AtomicReference;
 
-import io.modelcontextprotocol.client.McpSyncClient;
 import io.modelcontextprotocol.client.transport.ServerParameters;
 import io.modelcontextprotocol.client.transport.StdioClientTransport;
 import io.modelcontextprotocol.spec.ClientMcpTransport;
diff --git a/mcp/src/test/java/io/modelcontextprotocol/client/transport/HttpClientSseClientTransportTests.java b/mcp/src/test/java/io/modelcontextprotocol/client/transport/HttpClientSseClientTransportTests.java
index 2d37b4a..294056f 100644
--- a/mcp/src/test/java/io/modelcontextprotocol/client/transport/HttpClientSseClientTransportTests.java
+++ b/mcp/src/test/java/io/modelcontextprotocol/client/transport/HttpClientSseClientTransportTests.java
@@ -9,7 +9,6 @@ import java.util.Map;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.function.Function;
 
-import io.modelcontextprotocol.client.transport.HttpClientSseClientTransport;
 import io.modelcontextprotocol.spec.McpSchema;
 import io.modelcontextprotocol.spec.McpSchema.JSONRPCRequest;
 import org.junit.jupiter.api.AfterEach;
diff --git a/mcp/src/test/java/io/modelcontextprotocol/server/AbstractMcpAsyncServerTests.java b/mcp/src/test/java/io/modelcontextprotocol/server/AbstractMcpAsyncServerTests.java
index ff1162c..dcc103b 100644
--- a/mcp/src/test/java/io/modelcontextprotocol/server/AbstractMcpAsyncServerTests.java
+++ b/mcp/src/test/java/io/modelcontextprotocol/server/AbstractMcpAsyncServerTests.java
@@ -7,13 +7,8 @@ package io.modelcontextprotocol.server;
 import java.time.Duration;
 import java.util.List;
 
-import io.modelcontextprotocol.server.McpAsyncServer;
-import io.modelcontextprotocol.server.McpServer;
-import io.modelcontextprotocol.server.McpServerFeatures;
 import io.modelcontextprotocol.spec.McpError;
 import io.modelcontextprotocol.spec.McpSchema;
-import io.modelcontextprotocol.spec.McpTransport;
-import io.modelcontextprotocol.spec.ServerMcpTransport;
 import io.modelcontextprotocol.spec.McpSchema.CallToolResult;
 import io.modelcontextprotocol.spec.McpSchema.GetPromptResult;
 import io.modelcontextprotocol.spec.McpSchema.Prompt;
@@ -22,6 +17,8 @@ import io.modelcontextprotocol.spec.McpSchema.ReadResourceResult;
 import io.modelcontextprotocol.spec.McpSchema.Resource;
 import io.modelcontextprotocol.spec.McpSchema.ServerCapabilities;
 import io.modelcontextprotocol.spec.McpSchema.Tool;
+import io.modelcontextprotocol.spec.McpTransport;
+import io.modelcontextprotocol.spec.ServerMcpTransport;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git a/mcp/src/test/java/io/modelcontextprotocol/server/AbstractMcpSyncServerTests.java b/mcp/src/test/java/io/modelcontextprotocol/server/AbstractMcpSyncServerTests.java
index 37c02c8..bdcd7ae 100644
--- a/mcp/src/test/java/io/modelcontextprotocol/server/AbstractMcpSyncServerTests.java
+++ b/mcp/src/test/java/io/modelcontextprotocol/server/AbstractMcpSyncServerTests.java
@@ -6,13 +6,8 @@ package io.modelcontextprotocol.server;
 
 import java.util.List;
 
-import io.modelcontextprotocol.server.McpServer;
-import io.modelcontextprotocol.server.McpServerFeatures;
-import io.modelcontextprotocol.server.McpSyncServer;
 import io.modelcontextprotocol.spec.McpError;
 import io.modelcontextprotocol.spec.McpSchema;
-import io.modelcontextprotocol.spec.McpTransport;
-import io.modelcontextprotocol.spec.ServerMcpTransport;
 import io.modelcontextprotocol.spec.McpSchema.CallToolResult;
 import io.modelcontextprotocol.spec.McpSchema.GetPromptResult;
 import io.modelcontextprotocol.spec.McpSchema.Prompt;
@@ -21,6 +16,8 @@ import io.modelcontextprotocol.spec.McpSchema.ReadResourceResult;
 import io.modelcontextprotocol.spec.McpSchema.Resource;
 import io.modelcontextprotocol.spec.McpSchema.ServerCapabilities;
 import io.modelcontextprotocol.spec.McpSchema.Tool;
+import io.modelcontextprotocol.spec.McpTransport;
+import io.modelcontextprotocol.spec.ServerMcpTransport;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git a/mcp/src/test/java/io/modelcontextprotocol/server/McpServerProtocolVersionTests.java b/mcp/src/test/java/io/modelcontextprotocol/server/McpServerProtocolVersionTests.java
index 74498ff..9735872 100644
--- a/mcp/src/test/java/io/modelcontextprotocol/server/McpServerProtocolVersionTests.java
+++ b/mcp/src/test/java/io/modelcontextprotocol/server/McpServerProtocolVersionTests.java
@@ -8,8 +8,6 @@ import java.util.List;
 import java.util.UUID;
 
 import io.modelcontextprotocol.MockMcpTransport;
-import io.modelcontextprotocol.server.McpAsyncServer;
-import io.modelcontextprotocol.server.McpServer;
 import io.modelcontextprotocol.spec.McpSchema;
 import org.junit.jupiter.api.Test;
 
diff --git a/mcp/src/test/java/io/modelcontextprotocol/server/ServletSseMcpAsyncServerTests.java b/mcp/src/test/java/io/modelcontextprotocol/server/ServletSseMcpAsyncServerTests.java
index 02d140f..715f636 100644
--- a/mcp/src/test/java/io/modelcontextprotocol/server/ServletSseMcpAsyncServerTests.java
+++ b/mcp/src/test/java/io/modelcontextprotocol/server/ServletSseMcpAsyncServerTests.java
@@ -5,7 +5,6 @@
 package io.modelcontextprotocol.server;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
-import io.modelcontextprotocol.server.McpAsyncServer;
 import io.modelcontextprotocol.server.transport.HttpServletSseServerTransport;
 import io.modelcontextprotocol.spec.ServerMcpTransport;
 import org.junit.jupiter.api.Timeout;
diff --git a/mcp/src/test/java/io/modelcontextprotocol/server/ServletSseMcpSyncServerTests.java b/mcp/src/test/java/io/modelcontextprotocol/server/ServletSseMcpSyncServerTests.java
index 9b64e3e..208de7f 100644
--- a/mcp/src/test/java/io/modelcontextprotocol/server/ServletSseMcpSyncServerTests.java
+++ b/mcp/src/test/java/io/modelcontextprotocol/server/ServletSseMcpSyncServerTests.java
@@ -5,7 +5,6 @@
 package io.modelcontextprotocol.server;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
-import io.modelcontextprotocol.server.McpSyncServer;
 import io.modelcontextprotocol.server.transport.HttpServletSseServerTransport;
 import io.modelcontextprotocol.spec.ServerMcpTransport;
 import org.junit.jupiter.api.Timeout;
diff --git a/mcp/src/test/java/io/modelcontextprotocol/server/StdioMcpAsyncServerTests.java b/mcp/src/test/java/io/modelcontextprotocol/server/StdioMcpAsyncServerTests.java
index 75646fd..e933d63 100644
--- a/mcp/src/test/java/io/modelcontextprotocol/server/StdioMcpAsyncServerTests.java
+++ b/mcp/src/test/java/io/modelcontextprotocol/server/StdioMcpAsyncServerTests.java
@@ -4,7 +4,6 @@
 
 package io.modelcontextprotocol.server;
 
-import io.modelcontextprotocol.server.McpAsyncServer;
 import io.modelcontextprotocol.server.transport.StdioServerTransport;
 import io.modelcontextprotocol.spec.ServerMcpTransport;
 import org.junit.jupiter.api.Timeout;
diff --git a/mcp/src/test/java/io/modelcontextprotocol/server/StdioMcpSyncServerTests.java b/mcp/src/test/java/io/modelcontextprotocol/server/StdioMcpSyncServerTests.java
index 073bbcb..d935041 100644
--- a/mcp/src/test/java/io/modelcontextprotocol/server/StdioMcpSyncServerTests.java
+++ b/mcp/src/test/java/io/modelcontextprotocol/server/StdioMcpSyncServerTests.java
@@ -4,7 +4,6 @@
 
 package io.modelcontextprotocol.server;
 
-import io.modelcontextprotocol.server.McpSyncServer;
 import io.modelcontextprotocol.server.transport.StdioServerTransport;
 import io.modelcontextprotocol.spec.ServerMcpTransport;
 import org.junit.jupiter.api.Timeout;
diff --git a/mcp/src/test/java/io/modelcontextprotocol/server/transport/HttpServletSseServerTransportIntegrationTests.java b/mcp/src/test/java/io/modelcontextprotocol/server/transport/HttpServletSseServerTransportIntegrationTests.java
index 6fe7fe0..4a292da 100644
--- a/mcp/src/test/java/io/modelcontextprotocol/server/transport/HttpServletSseServerTransportIntegrationTests.java
+++ b/mcp/src/test/java/io/modelcontextprotocol/server/transport/HttpServletSseServerTransportIntegrationTests.java
@@ -14,7 +14,6 @@ import io.modelcontextprotocol.client.McpClient;
 import io.modelcontextprotocol.client.transport.HttpClientSseClientTransport;
 import io.modelcontextprotocol.server.McpServer;
 import io.modelcontextprotocol.server.McpServerFeatures;
-import io.modelcontextprotocol.server.transport.HttpServletSseServerTransport;
 import io.modelcontextprotocol.spec.McpError;
 import io.modelcontextprotocol.spec.McpSchema;
 import io.modelcontextprotocol.spec.McpSchema.CallToolResult;
diff --git a/mcp/src/test/java/io/modelcontextprotocol/server/transport/StdioServerTransportTests.java b/mcp/src/test/java/io/modelcontextprotocol/server/transport/StdioServerTransportTests.java
index a06cfe6..43e5019 100644
--- a/mcp/src/test/java/io/modelcontextprotocol/server/transport/StdioServerTransportTests.java
+++ b/mcp/src/test/java/io/modelcontextprotocol/server/transport/StdioServerTransportTests.java
@@ -11,7 +11,6 @@ import java.nio.charset.StandardCharsets;
 import java.util.Map;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
-import io.modelcontextprotocol.server.transport.StdioServerTransport;
 import io.modelcontextprotocol.spec.McpSchema;
 import io.modelcontextprotocol.spec.McpSchema.JSONRPCRequest;
 import org.junit.jupiter.api.AfterEach;
diff --git a/mcp/src/test/java/io/modelcontextprotocol/spec/DefaultMcpSessionTests.java b/mcp/src/test/java/io/modelcontextprotocol/spec/DefaultMcpSessionTests.java
index 2b7bf34..9d011af 100644
--- a/mcp/src/test/java/io/modelcontextprotocol/spec/DefaultMcpSessionTests.java
+++ b/mcp/src/test/java/io/modelcontextprotocol/spec/DefaultMcpSessionTests.java
@@ -9,9 +9,6 @@ import java.util.Map;
 
 import com.fasterxml.jackson.core.type.TypeReference;
 import io.modelcontextprotocol.MockMcpTransport;
-import io.modelcontextprotocol.spec.DefaultMcpSession;
-import io.modelcontextprotocol.spec.McpError;
-import io.modelcontextprotocol.spec.McpSchema;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git a/pom.xml b/pom.xml
index d1bdc29..0edd15f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -96,8 +96,8 @@
 	
 		mcp-bom
 		mcp
-		mcp-transport/mcp-webflux-sse-transport
-		mcp-transport/mcp-webmvc-sse-transport
+		mcp-spring/mcp-spring-webflux
+		mcp-spring/mcp-spring-webmvc
 		
 		mcp-test