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