Commit graph

585 commits

Author SHA1 Message Date
Dariusz Jędrzejczyk
bdb373c4e3
Change StackOverflow link and tag for support (#824)
Updated contact link for community support to reflect new tag.

Resolves #553
2026-02-20 22:01:10 +01:00
Christian Tzolov
acb7e4d2a0 Next development version
Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2026-02-20 21:41:35 +01:00
Christian Tzolov
11b597cd77 Release version 1.0.0-RC2
Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2026-02-20 21:37:56 +01:00
Christian Tzolov
6b2b31c48f chore: exclude internal modules from Maven Central publishing
Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2026-02-20 21:35:44 +01:00
Dariusz Jędrzejczyk
72f9da91a2
Add governance documentation for SEP-1730 (#808)
Add governance documentation required for SEP-1730 tier compliance:

- DEPENDENCY_POLICY.md: Conservative update policy for Maven dependencies
- VERSIONING.md: SemVer policy with breaking/non-breaking definitions
- ROADMAP.md: 2025-11-25 spec implementation focus and v1.x development
- .github/dependabot.yml: Monthly updates with frozen production dependencies

This mirrors the TypeScript SDK PR structure while being adapted for the Java context.

Signed-off-by: Dariusz Jędrzejczyk <dariusz.jedrzejczyk@broadcom.com>
2026-02-20 18:11:26 +01:00
Daniel Garnier-Moiroux
5b99cd600e
Conformance testing: add app to test auth suite (#806)
Signed-off-by: Daniel Garnier-Moiroux <git@garnier.wf>
2026-02-20 17:53:57 +01:00
Dariusz Jędrzejczyk
4c1c3d8d5c
Remove deprecated APIs and modules for 1.0.0 release (#807)
- Remove mcp-json-jackson module (JacksonMcpJsonMapper, DefaultJsonSchemaValidator)
- Remove deprecated session interfaces (McpServerSession, McpClientSession methods)
- Remove deprecated server methods (loggingNotification, McpAsyncServerExchange constructor)
- Remove deprecated schema definitions and constructors (McpSchema, McpError, tool/content classes)
- Replace generic McpError with appropriate exception types (IllegalStateException, IllegalArgumentException)
- Update all tests to use current APIs

---------

Signed-off-by: Dariusz Jędrzejczyk <dariusz.jedrzejczyk@broadcom.com>
2026-02-20 17:32:40 +01:00
Christian Tzolov
77bc64abb8
Move mcp-spring-webflux and mcp-spring-webmvc to Spring AI 2.0 (#805)
The Spring-specific transport modules (mcp-spring-webflux,
mcp-spring-webmvc) have been moved out of the MCP Java SDK into the
Spring AI project (org.springframework.ai group), effective with
MCP Java SDK 1.0 and Spring AI 2.0. This is a breaking change.

- Delete mcp-spring-webflux and mcp-spring-webmvc source modules
- Remove both artifacts from mcp-bom and root pom.xml module list
- Update docs and README
- Add blog post explaining the breaking change with before/after
  migration examples

Resolves: #127

Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2026-02-20 15:39:36 +01:00
Christian Tzolov
86cde46e6d Fix code formatting
Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2026-02-20 13:25:31 +01:00
Den Delimarsky
28596693e3 Update SECURITY.md to use GitHub Security Advisories 2026-02-20 11:27:32 +01:00
Christian Tzolov
90ad2be8f4 Make AbstractMcpAsyncClientResiliencyTests#host access public
Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2026-02-20 08:42:58 +01:00
Scott Lewis
159eb964cc Fix and simplification for osgi manifest.mf
contents generation.
2026-02-18 17:18:11 +01:00
Daniel Garnier-Moiroux
77f59ad89b Stdio integration tests: increase initialize timeout to 25s
The initialize timeout was too short to be able to download the server
with NPX. As stated in the javadoc of `StdioMcpSyncClientTests`:

> These tests use npx to download and run the MCP "everything" server
> locally. The first test execution will download the everything server
> scripts and cache them locally, which can take more than 15 seconds.
> Subsequent test runs will use the cached version and execute faster.

Since the download happens on calling "connect", it is triggered during
the initialization of the client.

Signed-off-by: Daniel Garnier-Moiroux <git@garnier.wf>
2026-02-18 16:39:19 +01:00
Christian Tzolov
4adc81d11e Improve reference docs version alias handling
Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2026-02-18 12:51:58 +01:00
Christian Tzolov
3ab829285d Bump version from 0.18.0-SNAPSHOT to 1.0.0-SNAPSHOT
Update project version across all POM files, documentation, and CI
workflow to prepare for the 1.0.x release

Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2026-02-18 12:45:20 +01:00
Dariusz Jędrzejczyk
7dd609c9b6
Update issue templates 2026-02-17 10:04:07 +01:00
Christian Tzolov
a1199b1c4d docs: hide alias name from drop down
Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2026-02-16 14:22:24 +01:00
Christian Tzolov
5ebe61617b Another round of improving mkdocs docs
Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2026-02-16 14:20:13 +01:00
Christian Tzolov
42887a8189 docs version management improvements
Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2026-02-16 13:48:09 +01:00
Christian Tzolov
af25e2507e Fix README doc links
Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2026-02-16 13:37:23 +01:00
Christian Tzolov
3a3936609f docs set default versions
Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2026-02-16 13:31:22 +01:00
Christian Tzolov
a5d3cfbe8a Add docs version support
Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2026-02-16 12:50:28 +01:00
Christian Tzolov
d7590f06d9 change theme
Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2026-02-16 10:26:49 +01:00
Christian Tzolov
c62972cc5c Add blog section to the docs
Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2026-02-15 21:48:38 +01:00
Christian Tzolov
adc492f079 Fix broken doc links
Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2026-02-15 19:22:41 +01:00
Christian Tzolov
d26d4030ff Update README links
Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2026-02-15 19:18:58 +01:00
Christian Tzolov
a1048b9342
Add embedded MkDocs documentation site (#795)
Copy and convert existing MCP documentation into an embedded docs site
using MkDocs with Material theme. Includes client and server guides,
quickstart, development/contributing docs, architecture diagrams, and a
GitHub Actions workflow for publishing to GitHub Pages.

---------

Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2026-02-15 19:00:21 +01:00
Sébastien Deleuze
e60a0743a5
Refine McpJsonDefaults method names (#789)
As a follow-up of #779, this commit refines McpJsonDefaults
method names by shortening them to not repeat the qualifiers
already expressed at type level.
2026-02-13 16:54:01 +01:00
Daniel Garnier-Moiroux
8549e36dfc Conformance testing: host validation
Signed-off-by: Daniel Garnier-Moiroux <git@garnier.wf>
2026-02-12 11:00:42 +01:00
Daniel Garnier-Moiroux
f6c3fde7f4 DNS rebinding protection: check host header
Signed-off-by: Daniel Garnier-Moiroux <git@garnier.wf>
2026-02-12 11:00:42 +01:00
Daniel Garnier-Moiroux
b57b1269d0 Polish gh-771
Signed-off-by: Daniel Garnier-Moiroux <git@garnier.wf>
2026-02-12 10:46:09 +01:00
Daniel Garnier-Moiroux
82102a18f5 Remove unused abstract test classes in mcp-core
Signed-off-by: Daniel Garnier-Moiroux <git@garnier.wf>
2026-02-12 10:44:03 +01:00
Daniel Garnier-Moiroux
5e186a92f6 README: update module structure & key decisions with mcp-json removal
Signed-off-by: Daniel Garnier-Moiroux <git@garnier.wf>
2026-02-12 09:13:38 +01:00
Daniel Garnier-Moiroux
38c0f3bef5 Run integration tests with Jackson 2 in CI
Signed-off-by: Daniel Garnier-Moiroux <git@garnier.wf>
2026-02-12 09:13:38 +01:00
Daniel Garnier-Moiroux
6f3906480d Move mcp-core integration tests to mcp-test package
- The integration tests pass with both Jackson 2 and Jackson 3.
- Modified McpSchemaTests.testContentDeserializationWrongType to work
  with both Jackson 2 and Jackson 3.

Signed-off-by: Daniel Garnier-Moiroux <git@garnier.wf>
2026-02-12 09:13:38 +01:00
Scott Lewis
c3b9ab09ea Move mcp-json into mcp-core, add OSGi support
Co-authored-by: Luca Chang <131398524+LucaButBoring@users.noreply.github.com>
Signed-off-by: Daniel Garnier-Moiroux <git@garnier.wf>
2026-02-12 09:13:38 +01:00
Daniel Garnier-Moiroux
be5ec12e1b Polish gh-764
Signed-off-by: Daniel Garnier-Moiroux <git@garnier.wf>
2026-02-10 11:29:26 +01:00
ashakirin
09a853f555
Add tool name validation SEP-986 (#764)
* feat: added tools name format validation accordingly #SEP-986

Signed-off-by: Daniel Garnier-Moiroux <git@garnier.wf>
2026-02-10 10:52:58 +01:00
Luca Chang
ef8399c1cb
feat: broadcast 2025-11-25 as latest supported client version (#758)
* feat: broadcast 2025-11-25 as latest supported client version
* fix: ignore empty SSE events
2026-02-06 10:55:37 +01:00
Daniel Garnier-Moiroux
5ed6063a07 Update conformance tests with DNS rebinding protection
Signed-off-by: Daniel Garnier-Moiroux <git@garnier.wf>
2026-02-05 10:20:27 +01:00
Daniel Garnier-Moiroux
96c9bbe745 Add Origin header validation
- Fixes #695
- Does not implement Host header validation yet

Signed-off-by: Daniel Garnier-Moiroux <git@garnier.wf>
2026-02-05 10:20:27 +01:00
Daniel Garnier-Moiroux
a47920ca07 Update JUnit 5.10.2 -> 6.0.2
Signed-off-by: Daniel Garnier-Moiroux <git@garnier.wf>
2026-02-04 15:33:26 +01:00
Filip Hrisafov
67db591ecf Use junit.version for all junit dependencies 2026-02-04 14:41:04 +01:00
Dariusz Jędrzejczyk
4fe8f3efef
Add MCP conformance tests with client and server test suites (#767)
Implement conformance testing modules with comprehensive client/server test scenarios,
sync conversion for client/servlet code, CI integration, and documentation updates.

---------

Signed-off-by: Dariusz Jędrzejczyk <dariusz.jedrzejczyk@broadcom.com>
2026-01-30 15:51:19 +01:00
Dariusz Jędrzejczyk
0a8cb1e038
Decouple mcp-test and mcp-spring modules from Jackson implementation (#760)
This is a follow-up to #742.

The `mcp-test`, `mcp-spring-webflux`, and `mcp-spring-webmvc` depended
on `mcp` module which transitively brought in Jackson 3 dependencies.
These modules are now decoupled and only depend on `mcp-core`.

The test dependencies bring in Jackson 2 for the time being.

This is a breaking change but it is required to allow easily exchanging
Jackson2 and Jackson3 modules.

Signed-off-by: Dariusz Jędrzejczyk <dariusz.jedrzejczyk@broadcom.com>
2026-01-27 15:47:28 +01:00
Filip Hrisafov
2456a0e433
Add Support for Jackson 3 (#742)
This change adds Jackson 3 support and aligns package naming in the existing Jackson 2 module.

Specific changes:
* Deprecated classes for removal in `io.modelcontextprotocol.json.jackson`/`io.modelcontextprotocol.json.schema.jackson`
* Copied the above to `io.modelcontextprotocol.json.jackson2`/`io.modelcontextprotocol.json.schema.jackson2` in non-deprecated form.
* Added tests for the default McpJsonMapper and JsonSchemaValidator
2026-01-26 11:43:35 +01:00
Dariusz Jędrzejczyk
af65356416
Fix everything-server-based integration tests (#756)
* Pin `npx @modelcontextprotocol/server-everything` version to `2025.12.18`.
* Replace `tzolov/mcp-everything-server` Docker image with `node:lts-alpine` + `npx` command.
* Handle HTTP 202 special case.
* Fix test assertions.

The recent rollout of everything-server broke integration tests which take the latest version from the node registry.
This PR unifies the everything-server usage - the Testcontainers Docker setup uses the same version as the STDIO npx-based tests and no longer relies on tzolov/mcp-everything-server.

Signed-off-by: Dariusz Jędrzejczyk <dariusz.jedrzejczyk@broadcom.com>
2026-01-20 16:09:41 +01:00
Sébastien Deleuze
f7a460fb50
Upgrade to testcontainers 1.21.4 (#743)
To fix a "docker-machine executable was not found on PATH"
error with recent Docker versions (impact at least Docker
4.55 and 4.56).
2026-01-12 15:55:20 +01:00
Jordan Zimmerman
b518393cfd
Expose resourcesUpdateConsumer() in sync client (#735)
`resourcesUpdateConsumer()` was missing from the sync client. Add it.
2026-01-08 20:29:05 +01:00
Christian Tzolov
cb533b2e0e Fix fomratting
Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2026-01-08 20:26:39 +01:00