diff --git a/.flattened-pom.xml b/.flattened-pom.xml
deleted file mode 100644
index 5fc449d..0000000
--- a/.flattened-pom.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
- 4.0.0
- org.springframework.experimental
- spring-ai-mcp
- 0.0.1-SNAPSHOT
- pom
- mcp-parent
- Demo project for Spring Boot
- https://github.com/spring-projects-experimental/spring-ai-mcp
-
- VMware Inc.
- https://spring.io
-
-
-
- Apache 2.0
- https://www.apache.org/licenses/LICENSE-2.0.txt
- repo
-
-
-
-
- Christian Tzolov
-
-
- Dariusz Jędrzejczyk
-
-
-
- git://github.com/spring-projects-experimental/spring-ai-mcp.git
- git@github.com:spring-projects-experimental/spring-ai-mcp.git
- https://github.com/spring-projects-experimental/spring-ai-mcp
-
-
diff --git a/.gitignore b/.gitignore
index 549e00a..b80dac2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,33 +1,64 @@
-HELP.md
+### Maven/Gradle Builds ###
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/
+build/
+!**/src/main/**/build/
+!**/src/test/**/build/
+.gradle
+out
+/.gradletasknamecache
+**/*.flattened-pom.xml
-### STS ###
+### IDE - Eclipse/STS ###
.apt_generated
.classpath
.factorypath
.project
-.settings
+.settings/
.springBeans
.sts4-cache
+bin/
+com.springsource.sts.config.flow.prefs
-### IntelliJ IDEA ###
-.idea
-*.iws
+### IDE - IntelliJ IDEA ###
+.idea/
*.iml
*.ipr
+*.iws
-### NetBeans ###
+### IDE - NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
-build/
-!**/src/main/**/build/
-!**/src/test/**/build/
-### VS Code ###
+### IDE - VS Code ###
.vscode/
+vscode/
+settings.json
+
+### Logs and Databases ###
+build.log
+shell.log
+integration-repo
+ivy-cache
+spring-build
+derby-home
+derbydb
+derby.log
+
+### Node.js ###
+node/
+node_modules/
+package-lock.json
+package.json
+
+### Other ###
+.antlr/
+.profiler/
+s3.properties
+.*.swp
+.DS_Store
\ No newline at end of file
diff --git a/mcp-spring-boot/.flattened-pom.xml b/mcp-spring-boot/.flattened-pom.xml
deleted file mode 100644
index 61067df..0000000
--- a/mcp-spring-boot/.flattened-pom.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-
-
- 4.0.0
- org.springframework.experimental
- spring-ai-mcp-spring-boot
- 0.0.1-SNAPSHOT
- spring-ai-mcp-spring-boot
- Spring AI MCP Spring Boot Integration
- https://github.com/spring-projects-experimental/spring-ai-mcp
-
- VMware Inc.
- https://spring.io
-
-
-
- Apache 2.0
- https://www.apache.org/licenses/LICENSE-2.0.txt
- repo
-
-
-
-
- Christian Tzolov
-
-
- Dariusz Jędrzejczyk
-
-
-
- git://github.com/spring-projects-experimental/spring-ai-mcp.git
- git@github.com:spring-projects-experimental/spring-ai-mcp.git
- https://github.com/spring-projects-experimental/spring-ai-mcp
-
-
-
- org.springframework.boot
- spring-boot-starter
- 3.3.6
- compile
-
-
- org.springframework.ai
- spring-ai-openai-spring-boot-starter
- 1.0.0-M4
- compile
-
-
- org.springframework.experimental
- spring-ai-mcp-spring
- 0.0.1-SNAPSHOT
- compile
-
-
-
diff --git a/mcp-spring/.flattened-pom.xml b/mcp-spring/.flattened-pom.xml
deleted file mode 100644
index 9bc7862..0000000
--- a/mcp-spring/.flattened-pom.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-
-
- 4.0.0
- org.springframework.experimental
- spring-ai-mcp-spring
- 0.0.1-SNAPSHOT
- Spring AI MCP Spring
- Spring Integration for MCP
- https://github.com/spring-projects-experimental/spring-ai-mcp
-
- VMware Inc.
- https://spring.io
-
-
-
- Apache 2.0
- https://www.apache.org/licenses/LICENSE-2.0.txt
- repo
-
-
-
-
- Christian Tzolov
-
-
- Dariusz Jędrzejczyk
-
-
-
- git://github.com/spring-projects-experimental/spring-ai-mcp.git
- git@github.com:spring-projects-experimental/spring-ai-mcp.git
- https://github.com/spring-projects-experimental/spring-ai-mcp
-
-
-
- org.springframework.ai
- spring-ai-core
- 1.0.0-M4
- compile
-
-
- org.springframework.experimental
- spring-ai-mcp-core
- 0.0.1-SNAPSHOT
- compile
-
-
-
diff --git a/pom.xml b/pom.xml
index 212cf27..7111849 100644
--- a/pom.xml
+++ b/pom.xml
@@ -11,7 +11,7 @@
pom
https://github.com/spring-projects-experimental/spring-ai-mcp
- mcp-parent
+ Spring AI MCP
Demo project for Spring Boot
@@ -91,9 +91,9 @@
- mcp-core
- mcp-spring
- mcp-spring-boot
+ spring-ai-mcp-core
+ spring-ai-mcp-spring
+ spring-ai-mcp-spring-boot
diff --git a/settings.xml b/settings.xml
new file mode 100644
index 0000000..890e930
--- /dev/null
+++ b/settings.xml
@@ -0,0 +1,24 @@
+
+
+
+
+ spring-snapshots
+ ${env.ARTIFACTORY_USERNAME}
+ ${env.ARTIFACTORY_PASSWORD}
+
+
+ spring-staging
+ ${env.ARTIFACTORY_USERNAME}
+ ${env.ARTIFACTORY_PASSWORD}
+
+
+ spring-milestones
+ ${env.ARTIFACTORY_USERNAME}
+ ${env.ARTIFACTORY_PASSWORD}
+
+
+
+
\ No newline at end of file
diff --git a/mcp-core/.flattened-pom.xml b/spring-ai-mcp-core/.flattened-pom.xml
similarity index 100%
rename from mcp-core/.flattened-pom.xml
rename to spring-ai-mcp-core/.flattened-pom.xml
diff --git a/mcp-core/.mvn/wrapper/maven-wrapper.properties b/spring-ai-mcp-core/.mvn/wrapper/maven-wrapper.properties
similarity index 100%
rename from mcp-core/.mvn/wrapper/maven-wrapper.properties
rename to spring-ai-mcp-core/.mvn/wrapper/maven-wrapper.properties
diff --git a/mcp-core/README.md b/spring-ai-mcp-core/README.md
similarity index 100%
rename from mcp-core/README.md
rename to spring-ai-mcp-core/README.md
diff --git a/mcp-core/mvnw b/spring-ai-mcp-core/mvnw
similarity index 100%
rename from mcp-core/mvnw
rename to spring-ai-mcp-core/mvnw
diff --git a/mcp-core/mvnw.cmd b/spring-ai-mcp-core/mvnw.cmd
similarity index 100%
rename from mcp-core/mvnw.cmd
rename to spring-ai-mcp-core/mvnw.cmd
diff --git a/mcp-core/pom.xml b/spring-ai-mcp-core/pom.xml
similarity index 100%
rename from mcp-core/pom.xml
rename to spring-ai-mcp-core/pom.xml
diff --git a/mcp-core/src/main/java/spring/ai/experimental/mcp/client/McpAsyncClient.java b/spring-ai-mcp-core/src/main/java/spring/ai/experimental/mcp/client/McpAsyncClient.java
similarity index 100%
rename from mcp-core/src/main/java/spring/ai/experimental/mcp/client/McpAsyncClient.java
rename to spring-ai-mcp-core/src/main/java/spring/ai/experimental/mcp/client/McpAsyncClient.java
diff --git a/mcp-core/src/main/java/spring/ai/experimental/mcp/client/McpClient.java b/spring-ai-mcp-core/src/main/java/spring/ai/experimental/mcp/client/McpClient.java
similarity index 100%
rename from mcp-core/src/main/java/spring/ai/experimental/mcp/client/McpClient.java
rename to spring-ai-mcp-core/src/main/java/spring/ai/experimental/mcp/client/McpClient.java
diff --git a/mcp-core/src/main/java/spring/ai/experimental/mcp/client/McpSyncClient.java b/spring-ai-mcp-core/src/main/java/spring/ai/experimental/mcp/client/McpSyncClient.java
similarity index 100%
rename from mcp-core/src/main/java/spring/ai/experimental/mcp/client/McpSyncClient.java
rename to spring-ai-mcp-core/src/main/java/spring/ai/experimental/mcp/client/McpSyncClient.java
diff --git a/mcp-core/src/main/java/spring/ai/experimental/mcp/client/stdio/ServerParameters.java b/spring-ai-mcp-core/src/main/java/spring/ai/experimental/mcp/client/stdio/ServerParameters.java
similarity index 100%
rename from mcp-core/src/main/java/spring/ai/experimental/mcp/client/stdio/ServerParameters.java
rename to spring-ai-mcp-core/src/main/java/spring/ai/experimental/mcp/client/stdio/ServerParameters.java
diff --git a/mcp-core/src/main/java/spring/ai/experimental/mcp/client/stdio/ServerParametersParser.java b/spring-ai-mcp-core/src/main/java/spring/ai/experimental/mcp/client/stdio/ServerParametersParser.java
similarity index 100%
rename from mcp-core/src/main/java/spring/ai/experimental/mcp/client/stdio/ServerParametersParser.java
rename to spring-ai-mcp-core/src/main/java/spring/ai/experimental/mcp/client/stdio/ServerParametersParser.java
diff --git a/mcp-core/src/main/java/spring/ai/experimental/mcp/client/stdio/StdioServerTransport.java b/spring-ai-mcp-core/src/main/java/spring/ai/experimental/mcp/client/stdio/StdioServerTransport.java
similarity index 100%
rename from mcp-core/src/main/java/spring/ai/experimental/mcp/client/stdio/StdioServerTransport.java
rename to spring-ai-mcp-core/src/main/java/spring/ai/experimental/mcp/client/stdio/StdioServerTransport.java
diff --git a/mcp-core/src/main/java/spring/ai/experimental/mcp/client/util/Assert.java b/spring-ai-mcp-core/src/main/java/spring/ai/experimental/mcp/client/util/Assert.java
similarity index 100%
rename from mcp-core/src/main/java/spring/ai/experimental/mcp/client/util/Assert.java
rename to spring-ai-mcp-core/src/main/java/spring/ai/experimental/mcp/client/util/Assert.java
diff --git a/mcp-core/src/main/java/spring/ai/experimental/mcp/spec/AbstractMcpTransport.java b/spring-ai-mcp-core/src/main/java/spring/ai/experimental/mcp/spec/AbstractMcpTransport.java
similarity index 100%
rename from mcp-core/src/main/java/spring/ai/experimental/mcp/spec/AbstractMcpTransport.java
rename to spring-ai-mcp-core/src/main/java/spring/ai/experimental/mcp/spec/AbstractMcpTransport.java
diff --git a/mcp-core/src/main/java/spring/ai/experimental/mcp/spec/DefaultMcpSession.java b/spring-ai-mcp-core/src/main/java/spring/ai/experimental/mcp/spec/DefaultMcpSession.java
similarity index 100%
rename from mcp-core/src/main/java/spring/ai/experimental/mcp/spec/DefaultMcpSession.java
rename to spring-ai-mcp-core/src/main/java/spring/ai/experimental/mcp/spec/DefaultMcpSession.java
diff --git a/mcp-core/src/main/java/spring/ai/experimental/mcp/spec/McpError.java b/spring-ai-mcp-core/src/main/java/spring/ai/experimental/mcp/spec/McpError.java
similarity index 100%
rename from mcp-core/src/main/java/spring/ai/experimental/mcp/spec/McpError.java
rename to spring-ai-mcp-core/src/main/java/spring/ai/experimental/mcp/spec/McpError.java
diff --git a/mcp-core/src/main/java/spring/ai/experimental/mcp/spec/McpSchema.java b/spring-ai-mcp-core/src/main/java/spring/ai/experimental/mcp/spec/McpSchema.java
similarity index 100%
rename from mcp-core/src/main/java/spring/ai/experimental/mcp/spec/McpSchema.java
rename to spring-ai-mcp-core/src/main/java/spring/ai/experimental/mcp/spec/McpSchema.java
diff --git a/mcp-core/src/main/java/spring/ai/experimental/mcp/spec/McpSession.java b/spring-ai-mcp-core/src/main/java/spring/ai/experimental/mcp/spec/McpSession.java
similarity index 100%
rename from mcp-core/src/main/java/spring/ai/experimental/mcp/spec/McpSession.java
rename to spring-ai-mcp-core/src/main/java/spring/ai/experimental/mcp/spec/McpSession.java
diff --git a/mcp-core/src/main/java/spring/ai/experimental/mcp/spec/McpTransport.java b/spring-ai-mcp-core/src/main/java/spring/ai/experimental/mcp/spec/McpTransport.java
similarity index 100%
rename from mcp-core/src/main/java/spring/ai/experimental/mcp/spec/McpTransport.java
rename to spring-ai-mcp-core/src/main/java/spring/ai/experimental/mcp/spec/McpTransport.java
diff --git a/mcp-core/src/test/java/spring/ai/experimental/mcp/attic/ClientSessionTests2.java b/spring-ai-mcp-core/src/test/java/spring/ai/experimental/mcp/attic/ClientSessionTests2.java
similarity index 100%
rename from mcp-core/src/test/java/spring/ai/experimental/mcp/attic/ClientSessionTests2.java
rename to spring-ai-mcp-core/src/test/java/spring/ai/experimental/mcp/attic/ClientSessionTests2.java
diff --git a/mcp-core/src/test/java/spring/ai/experimental/mcp/attic/ClientSessionTests3.java b/spring-ai-mcp-core/src/test/java/spring/ai/experimental/mcp/attic/ClientSessionTests3.java
similarity index 100%
rename from mcp-core/src/test/java/spring/ai/experimental/mcp/attic/ClientSessionTests3.java
rename to spring-ai-mcp-core/src/test/java/spring/ai/experimental/mcp/attic/ClientSessionTests3.java
diff --git a/mcp-core/src/test/java/spring/ai/experimental/mcp/client/McpAsyncClientTests.java b/spring-ai-mcp-core/src/test/java/spring/ai/experimental/mcp/client/McpAsyncClientTests.java
similarity index 100%
rename from mcp-core/src/test/java/spring/ai/experimental/mcp/client/McpAsyncClientTests.java
rename to spring-ai-mcp-core/src/test/java/spring/ai/experimental/mcp/client/McpAsyncClientTests.java
diff --git a/mcp-core/src/test/java/spring/ai/experimental/mcp/client/McpSyncClientTests.java b/spring-ai-mcp-core/src/test/java/spring/ai/experimental/mcp/client/McpSyncClientTests.java
similarity index 100%
rename from mcp-core/src/test/java/spring/ai/experimental/mcp/client/McpSyncClientTests.java
rename to spring-ai-mcp-core/src/test/java/spring/ai/experimental/mcp/client/McpSyncClientTests.java
diff --git a/mcp-core/src/test/java/spring/ai/experimental/mcp/client/stdio/StdioServerTransportTests.java b/spring-ai-mcp-core/src/test/java/spring/ai/experimental/mcp/client/stdio/StdioServerTransportTests.java
similarity index 100%
rename from mcp-core/src/test/java/spring/ai/experimental/mcp/client/stdio/StdioServerTransportTests.java
rename to spring-ai-mcp-core/src/test/java/spring/ai/experimental/mcp/client/stdio/StdioServerTransportTests.java
diff --git a/mcp-core/src/test/java/spring/ai/experimental/mcp/spec/DefaultMcpTransportTests.java b/spring-ai-mcp-core/src/test/java/spring/ai/experimental/mcp/spec/DefaultMcpTransportTests.java
similarity index 100%
rename from mcp-core/src/test/java/spring/ai/experimental/mcp/spec/DefaultMcpTransportTests.java
rename to spring-ai-mcp-core/src/test/java/spring/ai/experimental/mcp/spec/DefaultMcpTransportTests.java
diff --git a/mcp-spring-boot/mvnw b/spring-ai-mcp-spring-boot/mvnw
similarity index 100%
rename from mcp-spring-boot/mvnw
rename to spring-ai-mcp-spring-boot/mvnw
diff --git a/mcp-spring-boot/mvnw.cmd b/spring-ai-mcp-spring-boot/mvnw.cmd
similarity index 100%
rename from mcp-spring-boot/mvnw.cmd
rename to spring-ai-mcp-spring-boot/mvnw.cmd
diff --git a/mcp-spring-boot/pom.xml b/spring-ai-mcp-spring-boot/pom.xml
similarity index 97%
rename from mcp-spring-boot/pom.xml
rename to spring-ai-mcp-spring-boot/pom.xml
index 81ee859..13086bb 100644
--- a/mcp-spring-boot/pom.xml
+++ b/spring-ai-mcp-spring-boot/pom.xml
@@ -9,7 +9,7 @@
0.0.1-SNAPSHOT
spring-ai-mcp-spring-boot
- spring-ai-mcp-spring-boot
+ Spring AI MCP Spring Boot
Spring AI MCP Spring Boot Integration
https://github.com/spring-projects-experimental/spring-ai-mcp
diff --git a/mcp-spring-boot/src/main/java/spring/ai/experimental/mcp/spring/boot/McpApplication.java b/spring-ai-mcp-spring-boot/src/main/java/spring/ai/experimental/mcp/spring/boot/McpApplication.java
similarity index 100%
rename from mcp-spring-boot/src/main/java/spring/ai/experimental/mcp/spring/boot/McpApplication.java
rename to spring-ai-mcp-spring-boot/src/main/java/spring/ai/experimental/mcp/spring/boot/McpApplication.java
diff --git a/mcp-spring-boot/src/main/resources/application.properties b/spring-ai-mcp-spring-boot/src/main/resources/application.properties
similarity index 100%
rename from mcp-spring-boot/src/main/resources/application.properties
rename to spring-ai-mcp-spring-boot/src/main/resources/application.properties
diff --git a/mcp-spring/.mvn/wrapper/maven-wrapper.properties b/spring-ai-mcp-spring/.mvn/wrapper/maven-wrapper.properties
similarity index 100%
rename from mcp-spring/.mvn/wrapper/maven-wrapper.properties
rename to spring-ai-mcp-spring/.mvn/wrapper/maven-wrapper.properties
diff --git a/mcp-spring/mvnw b/spring-ai-mcp-spring/mvnw
similarity index 100%
rename from mcp-spring/mvnw
rename to spring-ai-mcp-spring/mvnw
diff --git a/mcp-spring/mvnw.cmd b/spring-ai-mcp-spring/mvnw.cmd
similarity index 100%
rename from mcp-spring/mvnw.cmd
rename to spring-ai-mcp-spring/mvnw.cmd
diff --git a/mcp-spring/pom.xml b/spring-ai-mcp-spring/pom.xml
similarity index 100%
rename from mcp-spring/pom.xml
rename to spring-ai-mcp-spring/pom.xml
diff --git a/mcp-spring/src/main/java/spring/ai/experimental/mcp/spring/McpFunctionCallback.java b/spring-ai-mcp-spring/src/main/java/spring/ai/experimental/mcp/spring/McpFunctionCallback.java
similarity index 100%
rename from mcp-spring/src/main/java/spring/ai/experimental/mcp/spring/McpFunctionCallback.java
rename to spring-ai-mcp-spring/src/main/java/spring/ai/experimental/mcp/spring/McpFunctionCallback.java