@@ -12,15 +12,15 @@ Spring AI MCP is an experimental project that provides Java and Spring Framework
The project consists of two main modules:
-### [mcp-core](./spring-ai-mcp-core/README.md)
+### [mcp](./mcp/README.md)
The core module provides a Java implementation of the Model Context Protocol specification. It includes:
- Synchronous and asynchronous client implementations
- Standard MCP operations support (tool discovery, resource management, prompt handling). Support for request and notificaiotn handling.
- [Stdio](https://spec.modelcontextprotocol.io/specification/basic/transports/#stdio) and [SSE](https://spec.modelcontextprotocol.io/specification/basic/transports/#http-with-sse) transport implementations.
-- [Find more](./spring-ai-mcp-core/README.md).
+- [Find more](./mcp/README.md).
-### [mcp-spring](./spring-ai-mcp-spring/README.md)
+### [spring-ai-mcp](./spring-ai-mcp/README.md)
The Spring integration module provides Spring-specific functionality:
- Integration with Spring AI's function calling system
@@ -41,14 +41,14 @@ Add the following dependencies to your Maven project:
- * Each client type can be instantiated with default settings or with custom configuration - * including request timeout and JSON object mapping. - * - *
* Use the builder pattern for flexible client configuration: * *
{@code
diff --git a/spring-ai-mcp-core/src/main/java/org/springframework/ai/mcp/client/McpSyncClient.java b/mcp/src/main/java/org/springframework/ai/mcp/client/McpSyncClient.java
similarity index 100%
rename from spring-ai-mcp-core/src/main/java/org/springframework/ai/mcp/client/McpSyncClient.java
rename to mcp/src/main/java/org/springframework/ai/mcp/client/McpSyncClient.java
diff --git a/spring-ai-mcp-core/src/main/java/org/springframework/ai/mcp/client/sse/SseClientTransport.java b/mcp/src/main/java/org/springframework/ai/mcp/client/sse/SseClientTransport.java
similarity index 100%
rename from spring-ai-mcp-core/src/main/java/org/springframework/ai/mcp/client/sse/SseClientTransport.java
rename to mcp/src/main/java/org/springframework/ai/mcp/client/sse/SseClientTransport.java
diff --git a/spring-ai-mcp-core/src/main/java/org/springframework/ai/mcp/client/stdio/ServerParameters.java b/mcp/src/main/java/org/springframework/ai/mcp/client/stdio/ServerParameters.java
similarity index 100%
rename from spring-ai-mcp-core/src/main/java/org/springframework/ai/mcp/client/stdio/ServerParameters.java
rename to mcp/src/main/java/org/springframework/ai/mcp/client/stdio/ServerParameters.java
diff --git a/spring-ai-mcp-core/src/main/java/org/springframework/ai/mcp/client/stdio/StdioClientTransport.java b/mcp/src/main/java/org/springframework/ai/mcp/client/stdio/StdioClientTransport.java
similarity index 100%
rename from spring-ai-mcp-core/src/main/java/org/springframework/ai/mcp/client/stdio/StdioClientTransport.java
rename to mcp/src/main/java/org/springframework/ai/mcp/client/stdio/StdioClientTransport.java
diff --git a/spring-ai-mcp-core/src/main/java/org/springframework/ai/mcp/spec/DefaultMcpSession.java b/mcp/src/main/java/org/springframework/ai/mcp/spec/DefaultMcpSession.java
similarity index 100%
rename from spring-ai-mcp-core/src/main/java/org/springframework/ai/mcp/spec/DefaultMcpSession.java
rename to mcp/src/main/java/org/springframework/ai/mcp/spec/DefaultMcpSession.java
diff --git a/spring-ai-mcp-core/src/main/java/org/springframework/ai/mcp/spec/McpError.java b/mcp/src/main/java/org/springframework/ai/mcp/spec/McpError.java
similarity index 100%
rename from spring-ai-mcp-core/src/main/java/org/springframework/ai/mcp/spec/McpError.java
rename to mcp/src/main/java/org/springframework/ai/mcp/spec/McpError.java
diff --git a/spring-ai-mcp-core/src/main/java/org/springframework/ai/mcp/spec/McpSchema.java b/mcp/src/main/java/org/springframework/ai/mcp/spec/McpSchema.java
similarity index 100%
rename from spring-ai-mcp-core/src/main/java/org/springframework/ai/mcp/spec/McpSchema.java
rename to mcp/src/main/java/org/springframework/ai/mcp/spec/McpSchema.java
diff --git a/spring-ai-mcp-core/src/main/java/org/springframework/ai/mcp/spec/McpSession.java b/mcp/src/main/java/org/springframework/ai/mcp/spec/McpSession.java
similarity index 100%
rename from spring-ai-mcp-core/src/main/java/org/springframework/ai/mcp/spec/McpSession.java
rename to mcp/src/main/java/org/springframework/ai/mcp/spec/McpSession.java
diff --git a/spring-ai-mcp-core/src/main/java/org/springframework/ai/mcp/spec/McpTransport.java b/mcp/src/main/java/org/springframework/ai/mcp/spec/McpTransport.java
similarity index 100%
rename from spring-ai-mcp-core/src/main/java/org/springframework/ai/mcp/spec/McpTransport.java
rename to mcp/src/main/java/org/springframework/ai/mcp/spec/McpTransport.java
diff --git a/spring-ai-mcp-core/src/main/java/org/springframework/ai/mcp/util/Assert.java b/mcp/src/main/java/org/springframework/ai/mcp/util/Assert.java
similarity index 100%
rename from spring-ai-mcp-core/src/main/java/org/springframework/ai/mcp/util/Assert.java
rename to mcp/src/main/java/org/springframework/ai/mcp/util/Assert.java
diff --git a/spring-ai-mcp-core/src/main/java/org/springframework/ai/mcp/util/Utils.java b/mcp/src/main/java/org/springframework/ai/mcp/util/Utils.java
similarity index 100%
rename from spring-ai-mcp-core/src/main/java/org/springframework/ai/mcp/util/Utils.java
rename to mcp/src/main/java/org/springframework/ai/mcp/util/Utils.java
diff --git a/spring-ai-mcp-core/src/main/resources/logback.xml b/mcp/src/main/resources/logback.xml
similarity index 100%
rename from spring-ai-mcp-core/src/main/resources/logback.xml
rename to mcp/src/main/resources/logback.xml
diff --git a/spring-ai-mcp-core/src/test/java/org/springframework/ai/mcp/attic/ClientSessionTests2.java b/mcp/src/test/java/org/springframework/ai/mcp/attic/ClientSessionTests2.java
similarity index 100%
rename from spring-ai-mcp-core/src/test/java/org/springframework/ai/mcp/attic/ClientSessionTests2.java
rename to mcp/src/test/java/org/springframework/ai/mcp/attic/ClientSessionTests2.java
diff --git a/spring-ai-mcp-core/src/test/java/org/springframework/ai/mcp/attic/ClientSessionTests3.java b/mcp/src/test/java/org/springframework/ai/mcp/attic/ClientSessionTests3.java
similarity index 100%
rename from spring-ai-mcp-core/src/test/java/org/springframework/ai/mcp/attic/ClientSessionTests3.java
rename to mcp/src/test/java/org/springframework/ai/mcp/attic/ClientSessionTests3.java
diff --git a/spring-ai-mcp-core/src/test/java/org/springframework/ai/mcp/attic/MainSSE.java b/mcp/src/test/java/org/springframework/ai/mcp/attic/MainSSE.java
similarity index 100%
rename from spring-ai-mcp-core/src/test/java/org/springframework/ai/mcp/attic/MainSSE.java
rename to mcp/src/test/java/org/springframework/ai/mcp/attic/MainSSE.java
diff --git a/spring-ai-mcp-core/src/test/java/org/springframework/ai/mcp/attic/ServerParametersParser.java b/mcp/src/test/java/org/springframework/ai/mcp/attic/ServerParametersParser.java
similarity index 100%
rename from spring-ai-mcp-core/src/test/java/org/springframework/ai/mcp/attic/ServerParametersParser.java
rename to mcp/src/test/java/org/springframework/ai/mcp/attic/ServerParametersParser.java
diff --git a/spring-ai-mcp-core/src/test/java/org/springframework/ai/mcp/client/AbstractMcpAsyncClientTests.java b/mcp/src/test/java/org/springframework/ai/mcp/client/AbstractMcpAsyncClientTests.java
similarity index 100%
rename from spring-ai-mcp-core/src/test/java/org/springframework/ai/mcp/client/AbstractMcpAsyncClientTests.java
rename to mcp/src/test/java/org/springframework/ai/mcp/client/AbstractMcpAsyncClientTests.java
diff --git a/spring-ai-mcp-core/src/test/java/org/springframework/ai/mcp/client/AbstractMcpSyncClientTests.java b/mcp/src/test/java/org/springframework/ai/mcp/client/AbstractMcpSyncClientTests.java
similarity index 100%
rename from spring-ai-mcp-core/src/test/java/org/springframework/ai/mcp/client/AbstractMcpSyncClientTests.java
rename to mcp/src/test/java/org/springframework/ai/mcp/client/AbstractMcpSyncClientTests.java
diff --git a/spring-ai-mcp-core/src/test/java/org/springframework/ai/mcp/client/McpAsyncClientResponseHandlerTests.java b/mcp/src/test/java/org/springframework/ai/mcp/client/McpAsyncClientResponseHandlerTests.java
similarity index 100%
rename from spring-ai-mcp-core/src/test/java/org/springframework/ai/mcp/client/McpAsyncClientResponseHandlerTests.java
rename to mcp/src/test/java/org/springframework/ai/mcp/client/McpAsyncClientResponseHandlerTests.java
diff --git a/spring-ai-mcp-core/src/test/java/org/springframework/ai/mcp/client/sse/SseClientTransportTests.java b/mcp/src/test/java/org/springframework/ai/mcp/client/sse/SseClientTransportTests.java
similarity index 100%
rename from spring-ai-mcp-core/src/test/java/org/springframework/ai/mcp/client/sse/SseClientTransportTests.java
rename to mcp/src/test/java/org/springframework/ai/mcp/client/sse/SseClientTransportTests.java
diff --git a/spring-ai-mcp-core/src/test/java/org/springframework/ai/mcp/client/sse/SseMcpAsyncClientTests.java b/mcp/src/test/java/org/springframework/ai/mcp/client/sse/SseMcpAsyncClientTests.java
similarity index 100%
rename from spring-ai-mcp-core/src/test/java/org/springframework/ai/mcp/client/sse/SseMcpAsyncClientTests.java
rename to mcp/src/test/java/org/springframework/ai/mcp/client/sse/SseMcpAsyncClientTests.java
diff --git a/spring-ai-mcp-core/src/test/java/org/springframework/ai/mcp/client/sse/SseMcpSyncClientTests.java b/mcp/src/test/java/org/springframework/ai/mcp/client/sse/SseMcpSyncClientTests.java
similarity index 100%
rename from spring-ai-mcp-core/src/test/java/org/springframework/ai/mcp/client/sse/SseMcpSyncClientTests.java
rename to mcp/src/test/java/org/springframework/ai/mcp/client/sse/SseMcpSyncClientTests.java
diff --git a/spring-ai-mcp-core/src/test/java/org/springframework/ai/mcp/client/stdio/McpAsyncClientTests.java b/mcp/src/test/java/org/springframework/ai/mcp/client/stdio/McpAsyncClientTests.java
similarity index 100%
rename from spring-ai-mcp-core/src/test/java/org/springframework/ai/mcp/client/stdio/McpAsyncClientTests.java
rename to mcp/src/test/java/org/springframework/ai/mcp/client/stdio/McpAsyncClientTests.java
diff --git a/spring-ai-mcp-core/src/test/java/org/springframework/ai/mcp/client/stdio/McpSyncClientTests.java b/mcp/src/test/java/org/springframework/ai/mcp/client/stdio/McpSyncClientTests.java
similarity index 100%
rename from spring-ai-mcp-core/src/test/java/org/springframework/ai/mcp/client/stdio/McpSyncClientTests.java
rename to mcp/src/test/java/org/springframework/ai/mcp/client/stdio/McpSyncClientTests.java
diff --git a/spring-ai-mcp-core/src/test/java/org/springframework/ai/mcp/spec/DefaultMcpSessionTests.java b/mcp/src/test/java/org/springframework/ai/mcp/spec/DefaultMcpSessionTests.java
similarity index 100%
rename from spring-ai-mcp-core/src/test/java/org/springframework/ai/mcp/spec/DefaultMcpSessionTests.java
rename to mcp/src/test/java/org/springframework/ai/mcp/spec/DefaultMcpSessionTests.java
diff --git a/pom.xml b/pom.xml
index 70f1ab2..b42a46f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,18 +5,18 @@
4.0.0
org.springframework.experimental
- spring-ai-mcp
+ mcp-parent
0.2.0-SNAPSHOT
pom
https://github.com/spring-projects-experimental/spring-ai-mcp
- Spring AI MCP
- Spring AI Integration for MCP
+ Spring AI MCP Parent
+ Java SDK and Spring Framework integration for the Model Context Protocol (MCP), enabling interaction with AI models and tools through a standardized interface
- VMware Inc.
+ Spring Framework
https://spring.io
@@ -68,13 +68,13 @@
1.0.0-M4
3.26.3
- 5.11.3
+ 5.10.2
5.11.0
1.20.4
2.0.16
1.5.12
- 2.18.2
+ 2.17.0
6.2.1
@@ -96,8 +96,8 @@
- spring-ai-mcp-core
- spring-ai-mcp-spring
+ mcp
+ spring-ai-mcp
diff --git a/spring-ai-mcp-spring/README.md b/spring-ai-mcp/README.md
similarity index 75%
rename from spring-ai-mcp-spring/README.md
rename to spring-ai-mcp/README.md
index d84f8e0..4b3733c 100644
--- a/spring-ai-mcp-spring/README.md
+++ b/spring-ai-mcp/README.md
@@ -4,7 +4,7 @@ Spring Integration module for Model Control Protocol (MCP) that provides Spring-
## Overview
-The `spring-ai-mcp-spring` module is part of the [Spring AI MCP](https://github.com/spring-projects-experimental/spring-ai-mcp) project. It provides Spring Framework integration for the Model Control Protocol (MCP), enabling seamless integration of MCP functionality within Spring applications.
+The `spring-ai-mcp` module is part of the [Spring AI MCP](https://github.com/spring-projects-experimental/spring-ai-mcp) project. It provides Spring Framework integration for the Model Control Protocol (MCP), enabling seamless integration of MCP functionality within Spring applications.
## Features
@@ -22,10 +22,6 @@ The `McpFunctionCallback` class is the primary component of this module. It impl
- Automatic conversion between JSON and Java objects for tool arguments
- Synchronous tool execution support
-## Dependencies
-
-- Spring AI Core (`spring-ai-core`)
-- Spring AI MCP Core (`spring-ai-mcp-core`)
## Usage
@@ -34,7 +30,7 @@ To use this module, add the following dependency to your Maven project:
```xml
org.springframework.experimental
- spring-ai-mcp-spring
+ spring-ai-mcp
0.2.0-SNAPSHOT
```
diff --git a/spring-ai-mcp-spring/pom.xml b/spring-ai-mcp/pom.xml
similarity index 75%
rename from spring-ai-mcp-spring/pom.xml
rename to spring-ai-mcp/pom.xml
index b387b71..e0aee66 100644
--- a/spring-ai-mcp-spring/pom.xml
+++ b/spring-ai-mcp/pom.xml
@@ -5,12 +5,12 @@
4.0.0
org.springframework.experimental
- spring-ai-mcp
+ mcp-parent
0.2.0-SNAPSHOT
- spring-ai-mcp-spring
- Spring AI MCP Spring
- Spring Integration for MCP
+ spring-ai-mcp
+ Spring AI MCP
+ Spring Framework integration for Model Context Protocol (MCP), providing Spring AI function calling capabilities and Spring-friendly abstractions for MCP clients and MCP servers
https://github.com/spring-projects-experimental/spring-ai-mcp
@@ -27,9 +27,9 @@
org.springframework.experimental
- spring-ai-mcp-core
+ mcp
${project.version}
-
\ No newline at end of file
+
diff --git a/spring-ai-mcp-spring/src/main/java/org/springframework/ai/mcp/spring/McpFunctionCallback.java b/spring-ai-mcp/src/main/java/org/springframework/ai/mcp/spring/McpFunctionCallback.java
similarity index 100%
rename from spring-ai-mcp-spring/src/main/java/org/springframework/ai/mcp/spring/McpFunctionCallback.java
rename to spring-ai-mcp/src/main/java/org/springframework/ai/mcp/spring/McpFunctionCallback.java