Commit graph

497 commits

Author SHA1 Message Date
Christian Tzolov
196596670e Another round of cleaning the readme 2025-01-29 15:14:45 +01:00
Christian Tzolov
0dc93e134d Improve README.md 2025-01-29 15:11:23 +01:00
Christian Tzolov
8cd3cfdf3f Improve docs 2025-01-29 14:32:43 +01:00
Christian Tzolov
585f30cf33 Module and Package restructoring
- mcp-transport -> mcp-spring
- mcp-webflux-sse-transport -> mcp-spring-webflux
 - pom coordinates changed accordingly
- mpc-webmvc-sse-transport -> mcp-spring-webmvc
 - pom coordinates changed accordingly
- docs contains the mdx version of the documentation
2025-01-29 13:40:53 +01:00
Mark Pollack
7e73152ada Convert asciidoc/antor docs to mintlify 2025-01-29 11:54:10 +01:00
Christian Tzolov
a439e4ae6a Re-enable the CI tests 2025-01-28 19:45:56 +01:00
Christian Tzolov
c78c1adcc6 Migrate to central-publishing-maven-plugin 2025-01-28 19:36:27 +01:00
Christian Tzolov
1a506d0563
Update pom.xml
update nexus plugin version to 1.7.0
2025-01-28 17:52:23 +01:00
Christian Tzolov
181e1f25ab Change the top domain from org to io 2025-01-28 17:25:58 +01:00
Christian Tzolov
91a0332009 Update nexus-staging-maven-plugin conf 2025-01-28 17:04:45 +01:00
Dariusz Jędrzejczyk
c8766098f6 Reorder StdioServerTransport shutdown procedure to avoid errors
Signed-off-by: Dariusz Jędrzejczyk <dariusz.jedrzejczyk@broadcom.com>
2025-01-28 15:59:52 +01:00
Christian Tzolov
76495078be further CI wf improvements 2025-01-28 14:43:08 +01:00
Christian Tzolov
2e0b60dc3b Fix the MAVEN_GPG_PASSPHRASE in GH CI workflow 2025-01-28 14:39:40 +01:00
Christian Tzolov
6296a88331 Update license text and GH actions 2025-01-28 14:36:31 +01:00
Christian Tzolov
2f5fcdbcbe Add CI GH action workflow 2025-01-28 14:31:05 +01:00
Christian Tzolov
01592fff45 Disable the mcp-docs as pom module 2025-01-28 14:08:47 +01:00
Christian Tzolov
d391598be7 Extend maven gpg configuration 2025-01-28 13:46:07 +01:00
Christian Tzolov
1aaf2d369a Fix the GH action secret names 2025-01-28 13:23:25 +01:00
Christian Tzolov
5b10f70021 Add manual relese trigger 2025-01-28 13:12:08 +01:00
Christian Tzolov
2d7228d47c Clean the pom 2025-01-28 13:06:05 +01:00
Christian Tzolov
8d946bbdff initial maven central relese configuraitons 2025-01-28 10:50:15 +01:00
Christian Tzolov
0f62a508ce reomove old GH actions 2025-01-27 23:19:11 +01:00
Christian Tzolov
f91fe15ec6 Remove redundand code
Resolves #4

Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2025-01-24 23:26:21 +01:00
Christian Tzolov
413d138d0c Change license from Apache to MIT
Resolves #1

Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2025-01-24 23:05:15 +01:00
Christian Tzolov
3112e5ede7 Refactor package structure and dependencies
- Updated package prefix: `org.springframework.ai.mcp` → `org.modelcontextprotocol`
- Changed POM groupId: `org.springframework.experimental` → `org.modelcontextprotocol.sdk`
- Update all dependecies and BOM
- Updated documentation references accordingly

Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2025-01-24 22:14:44 +01:00
Christian Tzolov
25ad5ed052 Remove the spring-ai-mcp module from the MCP Java SDK
Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2025-01-24 20:25:42 +01:00
Christian Tzolov
dd64cd88c2 Next development version 2025-01-24 18:40:03 +01:00
Christian Tzolov
e7505ba247 Release version 0.6.0
Some checks failed
Deploy Docs / build (push) Has been cancelled
v0.6.0
2025-01-24 18:39:38 +01:00
Christian Tzolov
d75adb68c7 feat(sse): expand accepted HTTP status codes for SSE stream connection
Accept HTTP status codes 200, 201, 202, and 206 as valid responses
for SSE stream connection. Improves error message to include actual
status code. Removes unused main method.

Resolves #68
2025-01-24 18:25:40 +01:00
Christian Tzolov
a424b36653 feat: Add protocol version negotiation
Implement protocol version negotiation between MCP client and server to ensure
compatibility and graceful version handling.
The server will now suggest the latest supported version when an
unsupported version is requested, while the client will verify
version compatibility during initialization.

- Support multiple protocol versions in both client and server
- Negotiate compatible version during initialization
- Fall back to latest version when unsupported version requested
- Add comprehensive test coverage for version negotiation

Resolves #71

Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2025-01-24 18:17:30 +01:00
Christian Tzolov
48ab97bf23 fix(transport): Add cleanup logic for inbound processing in StdioServerTransport
Resolves #72

Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2025-01-24 13:10:52 +01:00
Christian Tzolov
516da0bada minor migration gide update 2025-01-23 18:06:21 +01:00
Dariusz Jędrzejczyk
a83f41381a
Align abstract tests in mcp-test with mcp-core (#70)
Signed-off-by: Dariusz Jędrzejczyk <dariusz.jedrzejczyk@broadcom.com>
2025-01-23 14:57:25 +01:00
Christian Tzolov
7359750cdb
Update 0.6.0-MIGRATION-GUIDE.md
remove unrelated sections
2025-01-23 14:05:32 +01:00
Dariusz Jędrzejczyk
919433437c Polish
Signed-off-by: Dariusz Jędrzejczyk <dariusz.jedrzejczyk@broadcom.com>
2025-01-23 14:02:13 +01:00
Dariusz Jędrzejczyk
6839d3b740 Refactor McpClient for async and sync interactions
Introduce new builder patterns and enhance type safety

- Add new builder patterns for McpClient and McpServer with sync/async variants
- Introduce dedicated McpClientFeatures and McpServerFeatures classes
- Enhance type safety and reactive support with proper Mono integration
- Add migration guide for 0.6.0 release
- Mark old builder methods as deprecated
- Update documentation to reflect new APIs

BREAKING CHANGE: The old builder patterns using McpClient.using() and McpServer.using()
are now deprecated in favor of new sync() and async() builders that provide
better type safety and clearer sync/async separation. Follow the migration guide.

Resolves #48

Signed-off-by: Dariusz Jędrzejczyk <dariusz.jedrzejczyk@broadcom.com>
Co-authored-by: Christian Tzolov <ctzolov@vmware.com>
2025-01-23 12:27:06 +01:00
Christian Tzolov
e1bdc98813 Add a ref docs link in the README 2025-01-17 07:11:04 +01:00
Christian Tzolov
f333265c5f Minor doc link fixes 2025-01-17 06:59:34 +01:00
Alexandros Pappas
c2ece20cc2 feat: Make SSE endpoint configurable in server transports
This commit updates the WebFluxSseServerTransport, WebMvcSseServerTransport, and HttpServletSseServerTransport classes to accept the SSE endpoint path as a constructor argument.

This change provides more flexibility in configuring the SSE endpoint, allowing it to be customized instead of being hardcoded to "/sse".
It also aligns the Java SDK's behavior with the Python SDK's SseServerTransport, which already supports this customization.

A default SSE endpoint of "/sse" is maintained for backward compatibility.

Also, addressed minor code quality issues identified by SonarLint and reordered modifiers for static final fields to conform with the Java Language Specification.

Signed-off-by: Alexandros Pappas <alexandros.pappas@yiluhub.com>
2025-01-16 19:05:57 +01:00
“JermaineHua”
f3e3a65ca6 Set method scope properly
Signed-off-by: “JermaineHua” <crazyhzm@apache.org>
2025-01-15 09:49:49 +01:00
Christian Tzolov
26460e640b feat(mcp): add JsonIgnoreProperties to schema records for resilient deserialization 2025-01-14 14:43:59 +01:00
Christian Tzolov
2199e34cf8 Fix the MCP Server Architecture diagram 2025-01-13 13:27:07 +01:00
Christian Tzolov
7a5793d0f3 docs: Update dependency management version 2025-01-13 12:36:45 +01:00
Christian Tzolov
9d90e4875f Next development version 2025-01-13 12:27:18 +01:00
Christian Tzolov
c4e2c79845 Release version 0.5.0
Some checks failed
Deploy Docs / build (push) Has been cancelled
v0.5.0
2025-01-13 12:27:03 +01:00
Christian Tzolov
ae737357e6 build: configure BOM for Maven Central deployment
- Add required Maven Central metadata (URL, SCM information)
- Configure flatten-maven-plugin for proper POM flattening
- Remove unnecessary local build configurations
2025-01-13 12:03:40 +01:00
Christian Tzolov
d617d05772 README cleanup 2025-01-13 11:38:41 +01:00
Christian Tzolov
ea49afccf5 docs: Minor documentation improvements 2025-01-13 11:34:16 +01:00
Christian Tzolov
18951d5f84 Minor docs improvements 2025-01-13 11:21:15 +01:00
Christian Tzolov
9aba371660 feat: Add SSE transport tests for MCP client and server
- Add tests for HttpServletSseServerTransport implementation
- Add tests for HttpClientSseClientTransport implementation
- Rename STDIO transport test classes for clarity
2025-01-13 11:13:06 +01:00